Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Quick-reference card for all ponytail modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /ponytail-help, \"ponytail help\", \"what ponytail commands\", \"how do I use ponytail\".
.claude/skills/kunanonj-cursor-plugin-ponytail-ponytail-help/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -40% | 0% |
Display this reference card when invoked. One-shot, do NOT change mode, write flag files, or persist anything.
| Level | Trigger | What change | |-------|---------|-------------| | Lite | /ponytail lite | Build what's asked, name the lazier alternative in one line. | | Full | /ponytail | The ladder enforced: YAGNI → stdlib → native → one line → minimum. Default. | | Ultra | /ponytail ultra | YAGNI extremist. Deletion before addition. Challenges requirements before building. |
Level sticks until changed or session end.
| Skill | Trigger | What it does | |-------|---------|--------------| | ponytail | /ponytail | Lazy mode itself. Simplest solution that works. | | ponytail-review | /ponytail-review | Over-engineering review: L42: yagni: factory, one product. Inline. | | ponytail-help | /ponytail-help | This card. |
Codex uses @ponytail, @ponytail-review, and @ponytail-help; Claude Code and OpenCode use the slash-command forms above (OpenCode ships /ponytail and /ponytail-review).
Say "stop ponytail" or "normal mode". Resume anytime with /ponytail. /ponytail off also works.
Default mode = full, auto-active every session. Change it:
Environment variable (highest priority):
bashexport PONYTAIL_DEFAULT_MODE=ultra
Config file (~/.config/ponytail/config.json, Windows: %APPDATA%\ponytail\config.json):
json{ "defaultMode": "lite" }
Set "off" to disable auto-activation on session start, activate manually with /ponytail when wanted.
Resolution: env var > config file > full.
Enable auto-update once: open /plugin, go to Marketplaces, pick ponytail, Enable auto-update. Claude Code then pulls new versions at startup (run /reload-plugins when it prompts). Manual refresh: /plugin marketplace update ponytail then /reload-plugins.
If /plugin is not recognized, your Claude Code is out of date. Update it (npm install -g @anthropic-ai/claude-code@latest, or brew upgrade claude-code) and restart. Other hosts use their own update flow.
Full docs + examples: https://github.com/DietrichGebert/ponytail
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 9,043 | 2,998 | -67% | 1 | 1 | 0% | 1,687 | 1,431 | -15% | 0 | 0 | — |
case-02 | fail→pass | 12,528 | 5,495 | -56% | 1 | 1 | 0% | 2,442 | 1,978 | -19% | 0 | 0 | — |
case-03 | fail→pass | 9,552 | 2,771 | -71% | 1 | 1 | 0% | 1,937 | 1,250 | -35% | 0 | 0 | — |
case-04 | fail→pass | 5,414 | 1,834 | -66% | 1 | 1 | 0% | 970 | 892 | -8% | 0 | 0 | — |
case-05 | pass→pass | 6,796 | 2,437 | -64% | 1 | 1 | 0% | 1,275 | 1,116 | -12% | 0 | 0 | — |
case-06 | pass→pass | 5,518 | 1,988 | -64% | 1 | 1 | 0% | 1,103 | 941 | -15% | 0 | 0 | — |
case-07 | fail→pass | 7,366 | 1,601 | -78% | 1 | 1 | 0% | 1,513 | 904 | -40% | 0 | 0 | — |
case-08 | fail→pass | 8,606 | 1,854 | -78% | 1 | 1 | 0% | 1,489 | 890 | -40% | 0 | 0 | — |
case-09 | fail→pass | 5,192 | 2,062 | -60% | 1 | 1 | 0% | 721 | 960 | +33% | 0 | 0 | — |
case-10 | fail→pass | 13,051 | 1,569 | -88% | 1 | 1 | 0% | 1,872 | 851 | -55% | 0 | 0 | — |
case-11 | fail→pass | 13,729 | 2,938 | -79% | 1 | 1 | 0% | 2,016 | 1,041 | -48% | 0 | 0 | — |
case-12 | fail→pass | 6,325 | 1,370 | -78% | 1 | 1 | 0% | 1,202 | 822 | -32% | 0 | 0 | — |
case-13 | fail→pass | 12,053 | 1,523 | -87% | 1 | 1 | 0% | 2,132 | 918 | -57% | 0 | 0 | — |
case-14 | fail→pass | 8,978 | 1,332 | -85% | 1 | 1 | 0% | 1,733 | 831 | -52% | 0 | 0 | — |
case-15 | fail→pass | 9,371 | 2,023 | -78% | 1 | 1 | 0% | 1,691 | 973 | -42% | 0 | 0 | — |
case-16 | fail→pass | 7,004 | 1,393 | -80% | 1 | 1 | 0% | 1,195 | 771 | -35% | 0 | 0 | — |
case-17 | pass→pass | 6,534 | 2,442 | -63% | 1 | 1 | 0% | 1,003 | 1,028 | +2% | 0 | 0 | — |
case-18 | fail→pass | 8,810 | 1,221 | -86% | 1 | 1 | 0% | 1,593 | 781 | -51% | 0 | 0 | — |
case-19 | fail→pass | 7,362 | 1,629 | -78% | 1 | 1 | 0% | 1,146 | 852 | -26% | 0 | 0 | — |
case-20 | pass→pass | 9,959 | 4,177 | -58% | 1 | 1 | 0% | 1,891 | 1,378 | -27% | 0 | 0 | — |
case-21 | pass→pass | 12,638 | 6,460 | -49% | 1 | 1 | 0% | 2,445 | 1,844 | -25% | 0 | 0 | — |
case-22 | pass→pass | 8,809 | 5,741 | -35% | 1 | 1 | 0% | 2,002 | 1,862 | -7% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.