Spec Kitty supports 12 different AI agents, allowing teams to use their preferred tools. This document explains how the multi-agent system works and why it’s designed this way.
Slash commands (like /spec-kitty.specify) are a convention for invoking predefined workflows:
/spec-kitty.specify in their AI agent.claude/commands/spec-kitty.specify.md)The command file contains:
This lets each AI agent execute the same workflow, even though they have different interfaces.
Spec Kitty supports multiple AI agents across two categories:
These agents run from the command line:
| Agent | Directory | Format | CLI Tool |
|---|---|---|---|
| Claude Code | .claude/commands/ |
Markdown | claude |
| Gemini CLI | .gemini/commands/ |
TOML | gemini |
| Cursor | .cursor/commands/ |
Markdown | cursor-agent |
| Qwen Code | .qwen/commands/ |
TOML | qwen |
| OpenCode | .opencode/command/ |
Markdown | opencode |
| Amazon Q | .amazonq/prompts/ |
Markdown | q |
These agents run inside an IDE or editor:
| Agent | Directory | Format |
|---|---|---|
| GitHub Copilot | .github/prompts/ |
Markdown |
| Windsurf | .windsurf/workflows/ |
Markdown |
| Kilocode | .kilocode/workflows/ |
Markdown |
| Augment Code | .augment/commands/ |
Markdown |
| Roo Cline | .roo/commands/ |
Markdown |
| GitHub Codex | .codex/prompts/ |
Markdown |
Each agent has its own directory containing command files:
project/
├── .claude/
│ └── commands/
│ ├── spec-kitty.specify.md
│ ├── spec-kitty.plan.md
│ ├── spec-kitty.tasks.md
│ ├── spec-kitty.implement.md
│ ├── spec-kitty.review.md
│ └── spec-kitty.accept.md
│
├── .gemini/
│ └── commands/
│ └── [same commands in TOML format]
│
├── .github/
│ └── prompts/
│ └── [same commands for Copilot]
│
└── ... (10 more agent directories)
Each directory follows the conventions expected by that agent.
All agents execute the same workflow, but their command file formats differ. Spec Kitty maintains a single source of truth:
src/specify_cli/missions/
└── software-dev/
└── command-templates/
├── specify.md # Template content
├── plan.md
├── tasks.md
└── ...
During spec-kitty init, these templates are adapted for each agent:
.md files.toml files with converted syntax$ARGUMENTS vs ``) is handled per agentEach command template contains:
# /spec-kitty.specify - Create Feature Specification
**Purpose**: [What this command does]
## When to Use
[Guidance on when to run this command]
## Workflow
[Step-by-step instructions for the agent]
## Outputs
[What artifacts will be created]
## Example
[Example usage and expected result]
When you upgrade Spec Kitty (pip install --upgrade spec-kitty-cli), migrations update all agent directories:
# Example migration updating all 12 agents
for agent_key, (agent_dir, _) in AGENT_DIRS.items():
update_command_template(agent_key, "specify.md", new_content)
This ensures all agents stay synchronized when the workflow changes.
The workspace-per-WP model enables multi-agent collaboration:
Feature: 012-user-auth
├── WP01 → Agent A (Claude Code) in .worktrees/012-user-auth-WP01/
├── WP02 → Agent B (Gemini) in .worktrees/012-user-auth-WP02/
└── WP03 → Agent C (Copilot) in .worktrees/012-user-auth-WP03/
Each agent:
All agents:
tasks/WP##.mdThe only difference is which AI model powers each agent.
You can run multiple agents simultaneously:
# Terminal 1 (Claude Code)
cd .worktrees/012-user-auth-WP01
claude "/spec-kitty.implement WP01"
# Terminal 2 (Gemini)
cd .worktrees/012-user-auth-WP02
gemini "/spec-kitty.implement WP02"
# Terminal 3 (opencode)
cd .worktrees/012-user-auth-WP03
opencode "/spec-kitty.implement WP03"
All three work in parallel without conflicts.
Different users prefer different agents:
Spec Kitty doesn’t force a choice—use what works for you.
AI agents evolve rapidly:
By supporting multiple agents, Spec Kitty isn’t locked to any single vendor.
A team might use different agents for different tasks:
Spec Kitty’s workflows work the same regardless of which agent runs them.
When a new AI agent appears, Spec Kitty can add support by:
.<agent>/commands/ (or agent-specific path)See Agent Subcommands for the workflow command reference.
User: /spec-kitty.implement WP01
↓
Agent reads .claude/commands/spec-kitty.implement.md
↓
Agent executes workflow:
1. Read WP01 prompt from tasks/WP01.md
2. Create worktree (if needed)
3. Navigate to workspace
4. Implement according to WP requirements
5. Run tests
6. Commit changes
7. Move WP to for_review
↓
Result: WP01 implemented in isolated workspace
The command file provides all instructions; the agent executes them.
This document explains the multi-agent architecture. For how to use specific agents, see the tutorials and how-to guides.