Closes the last gap from the field review: deferral creep. /ponytail-debt greps the repo for `ponytail:` comment markers and prints a ledger (file:line, what was simplified, ceiling, upgrade trigger), flagging any marker with no trigger as the rot risk. One-shot, reports only. Full parity like ponytail-audit: skill + commands/.toml + .opencode/.md + pi registerCommand (+ test) + agent-portability + README. Verified: tests 32/32 (pi command list updated), rule check green, the scan finds the repo's real markers, and a live end-to-end run produced a correct ledger (2 markers, 1 no-trigger, prose/examples excluded). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
2.9 KiB
Markdown
39 lines
2.9 KiB
Markdown
# Agent Portability
|
|
|
|
Ponytail is an agent-portable skill distribution. The skills in `skills/` hold
|
|
the core behavior; host-specific files are adapters that make that behavior easy
|
|
to load in a given agent.
|
|
|
|
## Supported Adapters
|
|
|
|
| Host | Files | Notes |
|
|
|------|-------|-------|
|
|
| Claude Code | `.claude-plugin/`, `commands/`, `hooks/` | Full plugin install with session activation, mode tracking, commands, and statusline support. |
|
|
| Codex | `.codex-plugin/plugin.json`, `hooks/hooks.json`, `hooks/`, `skills/` | Plugin install with the same skills plus lifecycle hooks for activation and mode tracking. |
|
|
| OpenCode | `.opencode/plugins/ponytail.mjs`, `.opencode/command/`, `hooks/`, `skills/` | Server plugin injects the ruleset each turn via `experimental.chat.system.transform` and persists `/ponytail` switches; reuses the shared instruction builder. |
|
|
| Gemini CLI | `gemini-extension.json`, `AGENTS.md`, `commands/`, `skills/` | Extension manifest points `contextFileName` at `AGENTS.md` for always-on rules, and reuses the existing `commands/*.toml` (`/ponytail`, `/ponytail-review`) and `skills/`, which Gemini CLI auto-discovers. |
|
|
| Cursor | `.cursor/rules/ponytail.mdc` | Always-on project rule. |
|
|
| Windsurf | `.windsurf/rules/ponytail.md` | Project rule. |
|
|
| Cline | `.clinerules/ponytail.md` | Project rule. |
|
|
| GitHub Copilot | `.github/copilot-instructions.md` | Repository instruction file. |
|
|
| GitHub Copilot CLI | `AGENTS.md`, `.github/copilot-instructions.md`, `~/.copilot/copilot-instructions.md` | Reads custom instructions: per-project from `AGENTS.md` or `.github/copilot-instructions.md`, or globally from `~/.copilot/copilot-instructions.md`. Instruction-tier (no `/ponytail` levels or hooks). |
|
|
| Antigravity | `AGENTS.md` | Reads `AGENTS.md` at the repo root as always-on rules (like `.cursorrules`/`CLAUDE.md`); `.agents/rules/` also works for workspace rules. Instruction-tier. |
|
|
| VS Code + Codex extension | `AGENTS.md` | The Codex extension reads `AGENTS.md` (repo root, or `~/.codex/AGENTS.md` globally). Instruction-tier; the full Codex plugin row above adds `/ponytail` levels and hooks. |
|
|
| Kiro | `.kiro/steering/ponytail.md` | Steering rule; copy globally or into a project. |
|
|
| Generic agents | `AGENTS.md` or `skills/*/SKILL.md` | Copy the compact rule file or load the skill files directly. |
|
|
|
|
## Adapter Rule
|
|
|
|
Keep adapters thin. When a host supports skills or hooks, point it at the
|
|
existing `skills/` and `hooks/` files. When a host only supports project
|
|
instructions, keep its copied rule text aligned with `AGENTS.md`.
|
|
|
|
## Portable Behavior
|
|
|
|
- `skills/ponytail/SKILL.md`: lazy senior dev mode
|
|
- `skills/ponytail-review/SKILL.md`: over-engineering review
|
|
- `skills/ponytail-audit/SKILL.md`: whole-repo over-engineering audit
|
|
- `skills/ponytail-debt/SKILL.md`: harvest `ponytail:` shortcuts into a tracked ledger
|
|
- `skills/ponytail-help/SKILL.md`: quick reference
|
|
- `AGENTS.md`: compact always-on instruction set for agents without skill support
|