Releases: DietrichGebert/ponytail
v4.8.3: lazy in subagents too
New
- The ponytail ruleset now injects into subagents via a
SubagentStarthook (#254) — spawned subagents stay lazy, not just the main thread.
Docs
- Korean README —
README.ko.md(#283) - OpenCode npm install + npm badge across the English and Spanish READMEs; dropped the obsolete command-symlink note (#285)
Full changelog: v4.8.2...v4.8.3
v4.8.2: now on npm
Ponytail is now installable from npm as @dietrichgebert/ponytail, published from CI via npm trusted publishing (OIDC, with provenance) — no tokens.
OpenCode
{ "plugin": ["@dietrichgebert/ponytail"] }Also in this release
- pi-extension status bar indicator for the active ponytail mode (#275, #279)
- Swival install instructions (#264)
- PowerShell-safe shared hooks (#265)
- uninstall cleanup for state left outside plugin files (#228)
- benchmark + test fixes (#274, #268)
Full changelog: v4.8.1...v4.8.2
v4.8.1: consistent versioning
Patch release. Metadata only, no changes to the ruleset or behavior.
v4.8.0 shipped with the version manifests still reading 4.7.0 (and the package.json files at 0.1.0), so plugins reported 4.7.0 as the latest version even after updating. This release aligns every version-bearing file to 4.8.1 so the version reports correctly across Claude, Codex, Copilot, and Gemini.
Fixes
- Align all four plugin manifests and both package.json files to 4.8.1 (#260, #262)
- Add a CI guard (
scripts/check-versions.js) that fails when version files disagree, or when a release tag does not match the manifest version, so this cannot recur
Updating
Update the ponytail plugin in your host (re-run your marketplace or plugin update, or reinstall). It will then report 4.8.1.
v4.8.0: comprehension first, now with an MCP server
He read the whole thing first, then wrote less.
This release sharpens the core ruleset (comprehension before laziness, reuse before rewriting), ships an MCP server for the rules, adds a measured-impact scoreboard, and lands a security bump. Two more agents join the family.
✨ Features
ponytail-mcp: an MCP server that serves the ruleset to any MCP-capable agent (#91)/ponytail-gain: measured-impact scoreboard — less code, less cost, more speed from the benchmark medians (#108)- Antigravity support via
.agents/rules/ponytail.md(#119) - CodeWhale support — native AGENTS.md reader, zero setup (#124)
argument-hinton the ponytail skill (#85)
🔒 Security
- Bump
@modelcontextprotocol/sdkto^1.26.0(CVE-2026-25536) (#208)
🛠 Fixes
- Comprehension-first guard + reuse rung — climb the ladder only after understanding the problem; reuse what already lives in the repo before rewriting it (#245, #217)
- Don't embed shell-unsafe install paths in the statusline setup nudge (#224)
- Portable Python command in
robustness-audit.js(Windows) (#209) - Don't write output on SessionStart for Copilot (#168)
- Register skills dir via config hook so OpenCode discovers ponytail skills (#138)
- Avoid Gemini loading Claude hook events (#139)
- Statusline reads the flag from
CLAUDE_CONFIG_DIR, not just~/.claude(#154) - Guard final
writeHookOutputagainst stdout EPIPE inponytail-activate(#149) - Strip UTF-8 BOM before parsing settings.json in
ponytail-activate(#148) - Resolve test failure on Node.js < 20.11.0 (#157)
- Only deactivate on a standalone "stop ponytail" / "normal mode" (#162)
- Pin all four safety carve-outs in the rule-drift canary (#114)
📊 Benchmarks
- Agentic LOC + safety benchmark against a fair agentic baseline (#126, #158)
- Completeness judge so LOC wins can't hide under-delivery (#171)
- critic-email task reproducing the critique's own example (#173)
📚 Docs & examples
- Spanish (LATAM) README translation (#110)
- 6 new over-engineering survivors + platform-native guide (#109)
- Agentic benchmark chart and corrected cost claim (42–75%, 30-rep) in the README (#160, #129)
Full changelog: v4.7.0...v4.8.0
v4.7.0: lazy in OpenClaw now
OpenClaw is the fastest-growing open-source agent out there, an always-on assistant that reads your messages and runs your workflows. The lazy senior dev now lives inside it.
clawhub install ponytail and he's there: an OpenClaw skill that kicks in on coding tasks and tells the agent to write less. The review, audit, debt, and help skills come along too. He does not care how big the house is. He still deletes more than he adds.
The skill is generated straight from ponytail's single source, so the OpenClaw copy cannot drift from every other platform. One ruleset, now on one more agent.
Tested the boring way: installed OpenClaw, loaded the skill, watched it come up ready and visible to the model. Then he went back to not talking.
v4.6.0: help, reluctantly
He has never explained a command in his life. You typed /ponytail-help and got
nothing, because the file was never actually there, only the promise of it in the
docs. The most senior-dev bug there is: works in the standup, missing from the repo.
Now it ships. /ponytail-help is wired up alongside the other commands on every
skill-capable host (Claude Code, Codex, OpenCode, Gemini CLI, pi): one command that
lists the rest. A new parity test makes sure no future command can be advertised
without the files to back it. He hates writing documentation. He hates broken
promises more.
We benchmarked him on a tiny local model and shipped the flop.
A contributor added an Ollama runner so you can test ponytail on local models. We
ran it on llama3.2 (3B) and the lines-of-code win turned out to be noise: one run
lands 17% under baseline, the next 50% over, the median shrugs. The skill is tuned
for models that actually follow instructions. A 3B model nods along and writes the
boilerplate anyway.
We published that instead of burying it. A benchmark you only show when it flatters
you is an ad. The frontier numbers (80-94% less code on Haiku, Sonnet, Opus) still
hold, and now there's an honest note on where they stop. Full reproduction in
benchmarks/results/.
Swept up on the way out: a counter that scored unfenced code as zero, and a Unicode
character that crashed the runner on Windows after the work was already done.
He'd call it a quiet release. Then he'd stop talking.
v4.5.0: lazy in Copilot
This release is mostly other people, and that's the point. GitHub Copilot CLI is now a full plugin host, contributed by @maxfelker (a Microsoft engineer) who built it with Copilot, tested it live, then reviewed his own PR in ponytail ultra (the headline finding was "delete a test"). CI, an npm test script, and a python3 fix came from @christophermayfield. Plus a fix for the hooks erroring when node isn't on PATH (Nix/nvm setups). The tool that does less got more thorough by getting more hands.
- GitHub Copilot CLI plugin:
copilot plugin marketplace add DietrichGebert/ponytailthencopilot plugin install ponytail@ponytail. - CI on every push and PR, plus
npm test. - Correctness checks work on macOS/CI now (python3 probe).
- Hooks degrade gracefully when
nodeisn't on PATH.
What's Changed
- Adding support for Copilot Marketplace plugin by @maxfelker in #47
- docs: bump the agents badge to 13 by @DietrichGebert in #56
- fix: use python3 for correctness checks and add CI by @christophermayfield in #50
- fix: hooks degrade gracefully when node is not on PATH by @DietrichGebert in #57
- docs: note the Codex install also covers the desktop app by @DietrichGebert in #59
- chore: bump version to 4.5.0 by @DietrichGebert in #60
New Contributors
- @maxfelker made their first contribution in #47
- @christophermayfield made their first contribution in #50
Full Changelog: v4.4.0...v4.5.0
v4.4.0: field-tested, still lazy
The headline of this release isn't a feature, it's a field test. A user ran ponytail across a from-scratch rewrite of a real system: nine phases, protocol plus desktop app plus simulator plus Raspberry Pi daemon plus ESP32 firmware. The verdict was "net win, kept it on the whole build," and across all nine phases "it never once trimmed a failsafe, validation, or auth check." It also flagged where the laziness needed a tighter leash. v4.4.0 is the result.
- Sharper rules from that feedback: hardware is never the spec ideal (leave the calibration knob), the one-runnable-check rule is now a headline ("lazy code without its check is unfinished"), and explanation you explicitly asked for isn't debt.
/ponytail-debt: harvests theponytail:shortcuts you've deferred into a ledger, so "later" doesn't quietly become "never."- A behavior-gate eval so those rules can't silently regress.
- A dark-background logo (community-contributed) and a cleaner README.
What's Changed
- feat: refine ruleset from a full-project field review by @DietrichGebert in #39
- feat: add ponytail-debt skill by @DietrichGebert in #40
- docs: commands reference + portability accuracy by @DietrichGebert in #41
- feat: add a dark-background logo by @DietrichGebert in #43
- docs: use the dark logo in the README header on dark themes by @DietrichGebert in #44
- chore: bump version to 4.4.0 by @DietrichGebert in #45
- chore: untrack one-off social images committed by mistake by @DietrichGebert in #46
Full Changelog: v4.3.0...v4.4.0
v4.3.0: more agents, still lazy
What's Changed
- feat: add ponytail-audit skill by @rygel in #20
- fix: Windows hooks fail under PowerShell (cmd.exe %VAR% not expanded) by @ousamabenyounes in #26
- feat: add Gemini CLI support by @ousamabenyounes in #25
- docs: document GitHub Copilot CLI support by @DietrichGebert in #30
- docs: document Antigravity and VS Code Codex extension support by @DietrichGebert in #36
- feat(benchmarks): add correctness assertion by @zamal-db in #31
- fix: honor CLAUDE_CONFIG_DIR in hooks by @DietrichGebert in #37
- chore: bump version to 4.3.0 by @DietrichGebert in #38
New Contributors
- @rygel made their first contribution in #20
- @ousamabenyounes made their first contribution in #26
- @zamal-db made their first contribution in #31
Full Changelog: v4.2.0...v4.3.0
v4.2.0: lazy in OpenCode now
Added
- OpenCode support: a plugin that injects the ponytail ruleset every turn and adds
/ponytail+/ponytail-review, with README install steps. (#16)
Fixed