ponytail-help · diff
git:20261006.c5cf5a4 to git:20261006.adf9d21
4 added, 3 removed. Audit A to A.
---
name: ponytail-help
description: >
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".
---
# Ponytail Help
Display this reference card when invoked. One-shot, do NOT change mode,
write flag files, or persist anything.
## Levels
| 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.
## Skills
| 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-audit** | `/ponytail-audit` | Whole-repo over-engineering audit: ranked list of what to delete. |
| **ponytail-debt** | `/ponytail-debt` | Harvest `ponytail:` shortcut comments into a tracked ledger. |
| **ponytail-gain** | `/ponytail-gain` | Measured-impact scoreboard: less code, less cost, more speed. |
| **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 all six as
slash commands).
## Deactivate
Say "stop ponytail" or "normal mode". Resume anytime with `/ponytail`.
`/ponytail off` also works.
## Configure Default Mode
Default mode = `full`, auto-active every session. Change it:
**Environment variable** (highest priority):
```bash
export PONYTAIL_DEFAULT_MODE=ultra
```
**Profile patch** (`profiles/<name>/cordis.patch.yml`):
- `dsh plugin add` does NOT write this file. After installing, add a top-level
- entry by hand or the config card will not render:
+ `dsh plugin add` only writes package.json and does NOT hot-update a running
+ host's loader tree (the CLI has no hmr). Restart the host after installing;
+ the bundle's `insert:` patch then composes into the loader tree and the
+ config card renders. No manual patch editing needed:
```yaml
- id: ponytail
name: "@wenaixi/dsh-ponytail"
config:
defaultMode: lite # off|lite|full|ultra
```
- Then restart the host (patch entries compose at startup, not on reload).
The plugin config card writes the patch for you once it renders;
`/ponytail default <mode>` does the same from a prompt. Set `"off"` to
disable auto-activation on session start, activate manually with `/ponytail`
when wanted.
Resolution: env var > profile patch > built-in `full`. The card shows all three
sources and which one wins, so a level that "looks" set but is shadowed is
visible instead of silently ignored.
## Update
```bash
dsh plugin --profile <name> add @wenaixi/dsh-ponytail
```
Restart the host after updating: a plugin entry's artifact fingerprint is
computed at process start and frozen, so a page refresh alone keeps serving
the previous build. A fresh install only needs a refresh.
## More
Full docs + examples: https://github.com/DietrichGebert/ponytail