{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "en",
  "slug": "ponytail",
  "url": "https://tesign.com/en/item/ponytail/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/ponytail/",
      "json": "https://tesign.com/item/ponytail/index.json",
      "markdown": "https://tesign.com/item/ponytail/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/ponytail/",
      "json": "https://tesign.com/en/item/ponytail/index.json",
      "markdown": "https://tesign.com/en/item/ponytail/index.md"
    }
  },
  "name": "ponytail",
  "use_label": "Make your agent write less code",
  "one_liner": "Makes a coding agent ask whether the code needs writing at all.",
  "text": {
    "why": "Hand work to a coding agent and abstractions and options nobody asked for tend to arrive with it. ponytail makes the agent behave like the laziest senior developer in the room, biasing it towards removing code that does not need to exist. It attaches as a skill or rule set to tools such as Claude Code and Cursor, under the MIT license.",
    "take": "The rule that matters: remove code that need not exist, but never cut validation, security or accessibility.",
    "build": [
      "A default agent configuration matching the team's coding rules",
      "A pre-review rule set that strips out the padding first"
    ],
    "who": [
      {
        "role": "Solo developer",
        "situation": "the agent keeps adding abstractions nobody asked for"
      },
      {
        "role": "Team lead",
        "situation": "wants a default rule that strips padding before review"
      }
    ],
    "start": [
      {
        "command": false,
        "text": "In the Claude Code prompt, as two separate messages:"
      },
      {
        "command": false,
        "text": "/plugin marketplace add DietrichGebert/ponytail"
      },
      {
        "command": false,
        "text": "/plugin install ponytail@ponytail"
      },
      {
        "command": false,
        "text": "Codex:"
      },
      {
        "command": true,
        "text": "codex plugin marketplace add DietrichGebert/ponytail"
      },
      {
        "command": true,
        "text": "codex plugin add ponytail@ponytail"
      }
    ],
    "caveat": [
      "The Claude Code and Codex plugins need Node.js on PATH for their hooks",
      "On reasoning-heavy models such as GPT-5.5 it can cost more, per the README",
      "The savings figures are the repository's own benchmark"
    ]
  },
  "cta": {
    "type": "use_package",
    "label": "USE PACKAGE",
    "url": "https://ponytail.dev/"
  },
  "ready": "developer",
  "categories": [
    "ai",
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "agent-skills",
    "code-quality",
    "yagni"
  ],
  "platform": [],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "Use, change and redistribute, commercially too. Keep the notice.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "JavaScript",
  "source_urls": {
    "canonical": "https://ponytail.dev/",
    "github": "https://github.com/dietrichgebert/ponytail",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "github",
        "url": "https://github.com/dietrichgebert/ponytail",
        "posted_at": "2026-09-12T22:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 139398,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T19:33:41.694Z",
    "stars_observed_since_check": 146,
    "star_delta_24h": 133,
    "star_delta_7d": 1068,
    "star_delta_30d": 3532,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      39,
      791,
      843,
      599,
      105,
      2,
      49,
      103,
      330,
      206,
      128,
      37,
      135,
      129
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": null,
    "hn_points_observed_at": null,
    "store": null,
    "method": "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours."
  },
  "ranks": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "all_time": 15,
    "rising": {
      "24h": null,
      "7d": 5,
      "30d": 3
    },
    "categories": [
      {
        "category": "ai",
        "label": "AI",
        "rank": 13
      },
      {
        "category": "dev-tools",
        "label": "DEV TOOLS",
        "rank": 2
      }
    ]
  },
  "activity": {
    "pushed_at": "2026-09-14T14:34:56.000Z",
    "owner_type": "User",
    "open_issues": 272,
    "contributors": 65,
    "releases_count": 16,
    "latest_release": {
      "tag": "v4.10.0",
      "published_at": "2026-09-14T14:38:56.000Z",
      "prerelease": false
    },
    "checked_at": "2026-09-15T19:33:41.694Z",
    "core_checked_at": "2026-09-15T19:33:41.694Z"
  },
  "signals": [
    {
      "kind": "rising",
      "label": "RISING",
      "value": "+133 ★ / 24h"
    }
  ],
  "images": {
    "og": "https://tesign.com/img/ponytail-843be3c1b7.png",
    "cover": "https://tesign.com/img/ponytail-843be3c1b7.png",
    "cover_width": 2400,
    "cover_height": 1260,
    "gallery": [
      "https://tesign.com/img/ponytail-843be3c1b7.png"
    ],
    "alt": "ponytail.dev landing page: a line-drawn developer with a ponytail on black, the title 'ponytail' and an install button.",
    "tier": 1
  },
  "dates": {
    "first_seen_at": "2026-09-13T07:43:22.965Z",
    "source_created_at": "2026-06-12T00:52:37.000Z",
    "discovery_hours": 2238.846101388889,
    "launch_signal_at": "2026-09-12T22:00:00.000Z",
    "kept_at": "2026-09-13T11:32:21.533Z",
    "first_published_at": "2026-09-13T11:32:21.830Z",
    "updated_at": "2026-09-15T04:36:56.977Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "This file was produced by the same build, from the same data, as the tesign.com item page. The text is editorial; the numbers are stored observations.",
    "null in the JSON means not observed — never zero. The Markdown writes [unconfirmed] for it.",
    "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours.",
    "A summary, not legal advice."
  ]
}
