Supported AI Agents Reference

September 15, 2026 · View on GitHub

Spec Kitty currently exposes 17 agent surfaces: 13 slash-command or prompt-file hosts and 4 project-local command-skill hosts.

Slash-command agents get user-global command directories such as ~/.claude/commands/ or ~/.opencode/command/. Codex CLI, Vibe, Pi, and Letta Code use shared project-local agent skills under .agents/skills/spec-kitty.<command>/.


Agent Overview

Slash-command and prompt-file agents

AgentGlobal DirectoryCommands SubdirectorySlash Commands
Claude Code~/.claude/commands//spec-kitty.*
GitHub Copilot~/.github/prompts//spec-kitty.*
Google Gemini~/.gemini/commands//spec-kitty.*
LLxprt Code~/Library/Preferences/llxprt-code/ (macOS)commands//spec-kitty.*
Cursor~/.cursor/commands//spec-kitty.*
Qwen Code~/.qwen/commands//spec-kitty.*
OpenCode~/.opencode/command//spec-kitty.*
Windsurf~/.windsurf/workflows//spec-kitty.*
Google Antigravity~/.agent/workflows//spec-kitty.*
Kilocode~/.kilocode/workflows//spec-kitty.*
Augment Code~/.augment/commands//spec-kitty.*
Amazon Q (legacy)~/.amazonq/prompts//spec-kitty.*
Kiro~/.kiro/prompts//spec-kitty.*

Command-skill agents

AgentAgent KeyProject DirectoryInvocation Form
Codex CLIcodex.agents/skills/spec-kitty.<command>/$spec-kitty.<command>
Mistral Vibevibe.agents/skills/spec-kitty.<command>/ via .vibe/config.tomlHost skill syntax
Pipi.agents/skills/spec-kitty.<command>//skill:spec-kitty.<command>
Letta Codeletta.agents/skills/spec-kitty.<command>//spec-kitty.<command>

Command-skill packages share the same SKILL.md files. .kittify/command-skills-manifest.json records which configured agents own each package so removing one agent does not delete skills still used by another agent.


Managing Active Agents

Spec-kitty supports 16 AI agents (listed above). You can activate or deactivate agents at any time using the spec-kitty agent config command family.

To manage which agents are active in your project:

  • View configured agents: spec-kitty agent config list
  • Add agents: spec-kitty agent config add <agents>
  • Remove agents: spec-kitty agent config remove <agents>

See Managing AI Agents for complete documentation on agent management workflows.

For per-harness usage guides, see Codex, Pi TUI, and Letta Code.


Agent Details

Claude Code

Primary supported agent — Full feature support and extensive testing.

PropertyValue
Directory.claude/
Commands subdirectorycommands/
CLI flag--ai claude
StatusFully supported

Features:

  • Full slash command support
  • Custom command arguments
  • Project-level CLAUDE.md integration
  • Best documentation and testing coverage

Usage:

spec-kitty init my-project --ai claude
cd my-project
claude  # Launch Claude Code
/spec-kitty.specify Add user authentication

GitHub Copilot

PropertyValue
Directory.github/
Commands subdirectoryprompts/
CLI flag--ai copilot
StatusSupported

Usage:

spec-kitty init my-project --ai copilot

Google Gemini

PropertyValue
Directory.gemini/
Commands subdirectorycommands/
CLI flag--ai gemini
StatusSupported

Usage:

spec-kitty init my-project --ai gemini

LLxprt Code

PropertyValue
Directory.llxprt/
Commands subdirectorycommands/
CLI flag--ai llxprt
StatusSupported

LLxprt Code is a fork of Gemini CLI, so it reads the same TOML custom-command schema (prompt, optional description, {{args}} placeholder) from .llxprt/commands/ at the project tier. User-global commands live under the envPaths('llxprt-code') config root — ~/Library/Preferences/llxprt-code/commands/ on macOS, ~/.config/llxprt-code/commands/ on Linux — overridable with the LLXPRT_CONFIG_HOME environment variable; the legacy ~/.llxprt/ tree is migrated to that layout at startup and is no longer read. Model profiles are stored at <global-config>/profiles/<name>.json (~/Library/Preferences/llxprt-code/profiles/ on macOS) and loaded with --profile-load <name>.

Skills: LLxprt Code also discovers SKILL.md Agent Skills. It reads the user-global roots ~/.agents/skills/ (the cross-tool standard) and <global-config>/skills/ (~/Library/Preferences/llxprt-code/skills/ on macOS), plus the project roots .llxprt/skills/ and .agents/skills/, with .agents/skills/ taking highest precedence. Spec Kitty installs its skill pack into the shared .agents/skills/ root (the same primary root it uses for Gemini CLI, Kiro and the other shared-root agents), and keeps the user-global ~/.agents/skills/ copy in sync as the CLI upgrades. .llxprt/skills/ is a declared secondary root: LLxprt reads it and Spec Kitty skill upgrades keep copies found there in sync, but the installer does not seed it.

Asking process questions: LLxprt Code auto-continues an active todo list whenever a turn ends without a tool call, so a question written as plain text at the end of a turn is consumed by the continuation loop instead of reaching the user. Whenever spec-kitty commands run under llxprt interactively, an agent that needs a user process decision (PR-based flow versus direct commit, mission scope, merge strategy) must call todo_pause with the question as the reason before asking it. Tactical implementation choices do not warrant a pause; the agent proceeds with its best judgment.

Usage:

spec-kitty init my-project --ai llxprt

Cursor

PropertyValue
Directory.cursor/
Commands subdirectorycommands/
CLI flag--ai cursor
StatusSupported

Usage:

spec-kitty init my-project --ai cursor

Qwen Code

PropertyValue
Directory.qwen/
Commands subdirectorycommands/
CLI flag--ai qwen
StatusSupported

Usage:

spec-kitty init my-project --ai qwen

OpenCode

PropertyValue
Directory.opencode/
Commands subdirectorycommand/ (note: singular)
CLI flag--ai opencode
StatusSupported

Note: OpenCode uses command/ (singular) instead of commands/ (plural).

Usage:

spec-kitty init my-project --ai opencode

Windsurf

PropertyValue
Directory.windsurf/
Commands subdirectoryworkflows/
CLI flag--ai windsurf
StatusSupported

Note: Windsurf uses workflows/ instead of commands/.

Usage:

spec-kitty init my-project --ai windsurf

GitHub Codex

PropertyValue
Directory.agents/skills/
Commands subdirectoryspec-kitty.<command>/SKILL.md
CLI flag--ai codex
StatusSupported

Codex uses project-local agent skills. Spec Kitty installs one SKILL.md package per command under .agents/skills/spec-kitty.<command>/.

Usage:

spec-kitty init my-project --ai codex

Kilocode

PropertyValue
Directory.kilocode/
Commands subdirectoryworkflows/
CLI flag--ai kilocode
StatusSupported

Note: Kilocode uses workflows/ instead of commands/.

Usage:

spec-kitty init my-project --ai kilocode

Augment Code

PropertyValue
Directory.augment/
Commands subdirectorycommands/
CLI flag--ai auggie
StatusSupported

Usage:

spec-kitty init my-project --ai auggie

Roo Code (deprecated)

Roo Code shut down on 2026-05-15 and is no longer supported.

Existing projects with a .roo/ directory will receive a deprecation notice during spec-kitty upgrade. The .roo/ directory is preserved and will not be deleted automatically. To remove it from your project configuration, run:

spec-kitty agent config remove roo

Amazon Q (legacy)

PropertyValue
Directory.amazonq/
Commands subdirectoryprompts/
CLI flag--ai q
StatusLegacy — rebranded to Kiro

Amazon Q Developer CLI has been rebranded to Kiro CLI. Existing projects using --ai q continue to work; new projects should select --ai kiro. The Kiro installer automatically copies ~/.aws/amazonq/ to ~/.kiro/ at the user level.

Usage:

spec-kitty init my-project --ai q  # legacy

Kiro

PropertyValue
Directory.kiro/
Commands subdirectoryprompts/
CLI flag--ai kiro
Binarykiro-cli
StatusSupported

Kiro CLI (formerly Amazon Q Developer CLI) supports slash-command arguments via $ARGUMENTS, but the full invocation must be shell-quoted for arguments to pass through. See kirodotdev/Kiro#4141.

# Correct — arguments reach $ARGUMENTS
kiro '@speckit.specify my feature description'

# Incorrect — arguments are swallowed
kiro @speckit.specify my feature description

Usage:

spec-kitty init my-project --ai kiro

Multi-Agent Setup

You can initialize a project with multiple agents:

# Initialize with Claude and Pi
spec-kitty init my-project --ai claude,pi

# Initialize with all agents
spec-kitty init my-project --ai claude,copilot,gemini,cursor,qwen,opencode,windsurf,codex,kilocode,auggie,q,kiro,antigravity,vibe,pi,letta,llxprt

This registers all specified agents, allowing team members to use their preferred tool. Slash-command files are installed in user-global agent roots at CLI startup; Codex, Vibe, Pi, and Letta command skills are installed project-locally under .agents/skills/.


Adding Agents Later

To add agent support to an existing project:

spec-kitty agent config add pi letta

For project configuration, use spec-kitty agent config add <agent> rather than manually copying command files. After upgrading an older project, spec-kitty upgrade refreshes missing .pi/, .letta/, and .agents/skills/ backfill state for configured Pi and Letta projects.


Slash Commands

All agents support the same 13 slash commands:

CommandPurpose
/spec-kitty.specifyCreate feature specification
/spec-kitty.planCreate implementation plan
/spec-kitty.tasksGenerate work packages
/spec-kitty.implementStart WP implementation
/spec-kitty.reviewReview completed work
/spec-kitty.acceptValidate an approved mission before merge
/spec-kitty.mergeMerge an accepted mission to its target branch
/spec-kitty.statusShow kanban status
/spec-kitty.dashboardOpen web dashboard
/spec-kitty.charterCreate project principles
/spec-kitty.researchConduct research
/spec-kitty.analyzeAnalyze codebase

See Slash Commands for complete documentation.

Command-skill hosts use the same Spec Kitty workflow commands but expose them through their host-specific skill invocation syntax. See Supported Harnesses for current tier status and per-harness links.


Agent Selection Guidelines

ScenarioRecommended Agent
Best overall experienceClaude Code
VS Code integrationCursor, GitHub Copilot
JetBrains IDEsCursor
AWS environmentKiro (formerly Amazon Q)
Open source preferenceOpenCode, Qwen
Enterprise/air-gappedAny (local templates available)

Troubleshooting

Slash commands not appearing

  1. Verify the global agent directory exists:

    ls -la ~/.claude/commands/
    
  2. Regenerate commands:

    spec-kitty upgrade
    
  3. Restart your AI agent

Agent-specific issues

Kiro / Amazon Q: Slash-command arguments only pass through when the full invocation is shell-quoted (e.g. kiro '@speckit.specify <description>'). Without quoting, the trailing text is not forwarded to $ARGUMENTS. See kirodotdev/Kiro#4141.

Codex: Confirm project-local agent skills exist:

ls .agents/skills/spec-kitty.specify/SKILL.md
spec-kitty agent config sync

See Also

Getting Started

Practical Usage

Background