Files
ponytail/docs/agent-portability.md
c1c80f3cc8 Adding support for Copilot Marketplace plugin (#47)
* Add GitHub Copilot plugin and marketplace manifests for Ponytail

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Copilot hook adapters and plugin data runtime precedence

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document Copilot plugin install flow and instruction fallback mode

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix Copilot hooks for native output context and state-only mode tracking

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: add Copilot CLI namespaced command examples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Collapse Copilot hooks into shared activate/mode-tracker

The Copilot hook files duplicated ponytail-activate.js and
ponytail-mode-tracker.js, differing only in output shape. Move that
difference into writeHookOutput (isCopilot branch) and point
copilot-hooks.json at the shared hooks. Deletes both forks (-73 lines).

Refs #1

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Align Copilot manifest version to 4.4.0 with cross-manifest parity test

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Make Copilot and Codex host detection exclusive in runtime output routing

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Copilot debt command validation with a pull request acceptance checklist

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Removed PR template

* Drop tautological copilot command-form test

The namespaced-form assertion built '/ponytail:ponytail-debt' from two
constants and compared it to itself — it tests string concatenation, not
wiring. The file-exists check above already catches a renamed manifest.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 11:02:59 +02:00

3.2 KiB

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.
pi pi-extension/, skills/, hooks/ Package extension: injects the ruleset each turn through the shared instruction builder and registers the /ponytail commands.
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 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 .github/plugin/, AGENTS.md, .github/copilot-instructions.md, ~/.copilot/copilot-instructions.md Plugin-supported (copilot plugin marketplace add DietrichGebert/ponytail + copilot plugin install ponytail@ponytail). Fallback instruction mode remains: 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