Five weeks of merged work in one drop. The headline: /ponytail default <mode> makes your chosen mode survive restarts, and a bare /ponytail now reports the active level instead of resetting it. Also new: Qoder support, subagent scoping via PONYTAIL_SUBAGENT_MATCHER, pi status bar controls, and about 30 fixes across Windows, Codex, OpenCode, and the uninstaller.
What's Changed
New Contributors
Full Changelog: v4.8.4...v4.9.0
详细ChangeLog
New
- Ponytail now runs as a native Hermes Agent plugin (#323) — always-on context, bundled skills, and slash commands.
- Ponytail ships as a Devin CLI plugin (#318).
- The skill now triggers on any coding task, not just keyword prompts (#447) — description-driven hosts load it reliably on plain coding work, recall on coding tasks went 2/6 to 6/6 with precision unchanged.
Docs
- Sponsors section, with GreenPT as the first sponsor (#321)
- Announcement banner replaces the badge; waitlist teaser added and translated (#316, #314, #312)
- Swift/SwiftUI section in
platform-native.md (#313)
- Star History chart and Trendshift badges in the READMEs (#294, #293)
- ES and Korean READMEs synced with the Devin CLI addition (#322)
Fixes
- benchmarks: strip block comments before counting LOC (#232)
- benchmark: reject
--ollama-url without a host (#315)
Full changelog: v4.8.3...v4.8.4
详细ChangeLog
New
- The ponytail ruleset now injects into subagents via a
SubagentStart hook (#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
详细ChangeLog
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
详细ChangeLog
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.
详细ChangeLog
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-hint on the ponytail skill (#85)
🔒 Security
🛠 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
writeHookOutput against stdout EPIPE in ponytail-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
详细ChangeLog
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.
详细ChangeLog
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.
详细ChangeLog
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/ponytail then copilot 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
node isn't on PATH.
What's Changed
New Contributors
Full Changelog: v4.4.0...v4.5.0
详细ChangeLog
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 the ponytail: 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
Full Changelog: v4.3.0...v4.4.0
详细ChangeLog