Tagout

Install

The kit is written for Claude Code and installs as a plugin on 5 more hosts from the same repository. Hosts that read a rules file instead load it from a clone. Every command below carries a copy button; the full capability table is on Platforms.

Plugin hosts

Claude Code

claude plugin marketplace add phmatray/tagout
claude plugin install tagout@tagout-marketplace
claude plugin install tagout-migrate@tagout-marketplace

Inside a session the same two commands work as /plugin marketplace add and /plugin install.

The host the kit is written for — every gate, command and sub-agent dispatch is native here.

Codex

codex plugin marketplace add phmatray/tagout

Open /plugins, install Tagout, then review and trust its hooks in /hooks.

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.

GitHub Copilot CLI

copilot plugin marketplace add phmatray/tagout
copilot plugin install tagout@tagout-marketplace

Skills are namespaced by the plugin — /tagout:create-issue, and so on.

Copilot’s hook payloads differ from Claude Code’s, so no gate is wired; the /migrate… commands reach migrate-legacy by name.

Gemini CLI

gemini extensions install https://github.com/phmatray/tagout

AGENTS.md loads as always-on context, and /migrate and its siblings arrive as commands.

Gemini’s hook events are its own, so no gate is wired; everything else installs as an extension.

Antigravity CLI

agy plugin install https://github.com/phmatray/tagout

It reuses the Gemini extension; type a command such as /migrate-assess as a message.

Antigravity turns extension commands into skills you invoke from the chat.

pi

pi install git:github.com/phmatray/tagout

The skills load as a pi package; the issue → pull request skills work as they are.

pi loads no MCP servers from a package, so the migration pipeline, which needs RoselineMCP, is out of reach there.

Rule-file hosts

Clone the kit once — every rule file below routes its host to the skills in that clone:

git clone https://github.com/phmatray/tagout ~/.tagout

Cursor

mkdir -p .cursor/rules && cp ~/.tagout/.cursor/rules/tagout.mdc .cursor/rules/

Register RoselineMCP and AdrMcp in Cursor’s MCP settings for the migration pipeline.

The always-applied rule routes each request to a skill in the clone, which the agent reads and follows.

Windsurf

mkdir -p .windsurf/rules && cp ~/.tagout/.windsurf/rules/tagout.md .windsurf/rules/

Register RoselineMCP and AdrMcp in Windsurf’s MCP settings for the migration pipeline.

An always-on rule, routing to the skills in the clone.

Cline

mkdir -p .clinerules && cp ~/.tagout/.clinerules/tagout.md .clinerules/

Register RoselineMCP and AdrMcp in Cline’s MCP settings for the migration pipeline.

A project rule, routing to the skills in the clone.

Kiro

mkdir -p .kiro/steering && cp ~/.tagout/.kiro/steering/tagout.md .kiro/steering/

Copy it to ~/.kiro/steering/ instead to load it in every project.

A steering file included in every conversation, routing to the skills in the clone.

GitHub Copilot in the editor

mkdir -p .github && cat ~/.tagout/.github/copilot-instructions.md >> .github/copilot-instructions.md

Appending keeps any instructions your repository already has.

Repository instructions for Copilot Chat in VS Code, JetBrains and Visual Studio; the Copilot CLI installs as a plugin instead.

Zed, Amp, Jules, Junie, OpenCode

cat ~/.tagout/AGENTS.md >> AGENTS.md

Each of these reads an AGENTS.md at the project root; appending keeps yours.

The same routing text, read from your project’s own AGENTS.md.

MCP servers

The migration pipeline runs on RoselineMCP and consults AdrMcp; both start with dnx from the .NET 10 SDK. A plugin host starts them from the kit’s own manifest. On a rule-file host, add them to its MCP settings — most take this shape:

{
  "mcpServers": {
    "roseline": { "command": "dnx", "args": ["RoselineMCP", "--yes"] },
    "adr": { "command": "dnx", "args": ["AdrMcp", "--yes"] }
  }
}

Without RoselineMCP, /migrate stops at its phase-0 preflight and says why; the issue → pull request skills need neither server.

Uninstall

  • Claude Codeclaude plugin uninstall tagout
  • Codex — remove it from the host’s own plugin list; its documentation names no command for it.
  • GitHub Copilot CLIcopilot plugin uninstall tagout
  • Gemini CLIgemini extensions uninstall tagout
  • Antigravity CLI — remove it from the host’s own plugin list; its documentation names no command for it.
  • pipi uninstall git:github.com/phmatray/tagout
  • A rule-file host — delete the rule file you copied, and ~/.tagout once no project uses it.