Platforms
The kit is written for Claude Code. Every other host reaches the same skills through an adapter — a file in this repository that points the host at them, never a second copy of a skill (ADR 0014). How to install on each: Install.
Plugin hosts
The host’s own plugin command installs the kit from this repository.
| Host | Skills | Commands | MCP servers | Gates | Sub-agents |
|---|---|---|---|---|---|
| Claude Code | Yes | Yes | Yes | Yes | Yes |
| Codex | Yes | No | Yes | Partial | Partial |
| GitHub Copilot CLI | Yes | No | Yes | No | Partial |
| Gemini CLI | Yes | Yes | Yes | No | Partial |
| Antigravity CLI | Yes | Partial | Yes | No | Partial |
| pi | Yes | No | No | No | No |
Rule-file hosts
A clone at ~/.tagout plus a rule file the host reads, which routes each request to a
skill in the clone.
| Host | Skills | Commands | MCP servers | Gates | Sub-agents |
|---|---|---|---|---|---|
| Cursor | Partial | No | Partial | No | No |
| Windsurf | Partial | No | Partial | No | No |
| Cline | Partial | No | Partial | No | No |
| Kiro | Partial | No | Partial | No | No |
| GitHub Copilot in the editor | Partial | No | Partial | No | No |
| Zed, Amp, Jules, Junie, OpenCode | Partial | No | Partial | No | No |
Skills are the kit’s skills/*/SKILL.md; commands are /migrate and its siblings; MCP
servers are RoselineMCP and AdrMcp, started for you; gates are the hooks that refuse a raw
Read of a C# file, an unguarded git write and an early stop of an auto-dev fleet; sub-agents
are the fresh-context workers auto-dev and deliver-issue dispatch. Partial is explained
below, host by host.
What differs on each host
Claude Code — The host the kit is written for — every gate, command and sub-agent dispatch is native here. Adapter: plugins/tagout/.claude-plugin/plugin.json.
Codex — Codex has no Read tool, so the roseline gate never fires; the git write-gate and the auto-dev Stop gate do. Skills are invoked by name, not as slash commands. Adapter: .codex-plugin/plugin.json.
GitHub Copilot CLI — Copilot’s hook payloads differ from Claude Code’s, so no gate is wired; the /migrate… commands reach migrate-legacy by name. Adapter: .github/plugin/plugin.json.
Gemini CLI — Gemini’s hook events are its own, so no gate is wired; everything else installs as an extension. Adapter: gemini-extension.json.
Antigravity CLI — Antigravity turns extension commands into skills you invoke from the chat. Adapter: gemini-extension.json.
pi — pi loads no MCP servers from a package, so the migration pipeline, which needs RoselineMCP, is out of reach there. Adapter: package.json.
Cursor — The always-applied rule routes each request to a skill in the clone, which the agent reads and follows. Adapter: .cursor/rules/tagout.mdc.
Windsurf — An always-on rule, routing to the skills in the clone. Adapter: .windsurf/rules/tagout.md.
Cline — A project rule, routing to the skills in the clone. Adapter: .clinerules/tagout.md.
Kiro — A steering file included in every conversation, routing to the skills in the clone. Adapter: .kiro/steering/tagout.md.
GitHub Copilot in the editor — Repository instructions for Copilot Chat in VS Code, JetBrains and Visual Studio; the Copilot CLI installs as a plugin instead. Adapter: .github/copilot-instructions.md.
Zed, Amp, Jules, Junie, OpenCode — The same routing text, read from your project’s own AGENTS.md. Adapter: AGENTS.md.
What does not travel
Two things are Claude Code’s own, and the kit uses them without an abstraction over them:
- The gates. They are Claude Code hooks reading Claude Code’s hook payload. Codex runs the same
hook map, so its
BashandStopgates fire; other hosts run without them. Every gate fails open by design (ADR 0002), so a host without them loses a guard, never a working command. - Sub-agents.
auto-devkeeps a fleet of workers in fresh contexts anddeliver-issueruns each phase in one. On a host without sub-agents, runcreate-issue,implement-issueandmerge-pryourself, one after the other.
A new host is one row in docs/_data/hosts.yml and one adapter file, checked on every CI run by
scripts/host-adapters.py — never a change to a skill.