ponytail-help · git:20261006.c5cf5a4 · 2026-10-06 · sha256 64c88d75aeed566d

ponytail-help git:20261006.c5cf5a4A

Immutable. This exact content never changes and is served at /api/v1/blob/64c88d75aeed566d.

---
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:

```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