Agent Subcommand Reference
The spec-kitty agent commands are designed for AI agents and automation tooling. They generally emit JSON and update task metadata or mission artifacts directly.
Terminology note:
Mission Type= reusable blueprintMission= tracked item underkitty-specs/<mission-slug>/Mission Run= runtime/session instance- The
agent featurecommand group remains a legacy compatibility alias; tracked-mission selectors are documented canonically as--mission
Ambiguous mission selectors
agent status and agent tasks commands that resolve --mission never guess when a handle matches multiple missions. With --json, they emit the shared error envelope (success: false, error_code: "MISSION_AMBIGUOUS_SELECTOR", handle, and candidates) and exit 1. In human mode, they print the ambiguity diagnostic and exit 2. The read-path fix in #429 deliberately changed this human-mode case from the earlier generic exit code 1 to 2, aligning it with the other ambiguous mission-handle resolution path.
Getting Started
Practical Usage
Agent Subcommand Reference
spec-kitty agent
Commands for AI agents to execute spec-kitty mission actions programmatically
Usage: spec-kitty agent [OPTIONS] COMMAND [ARGS]...
Commands for AI agents to execute spec-kitty mission actions programmatically
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ tracer-append Append a dated, attributed finding to the mission's tracer │
│ surface. │
│ issue-verdict Set an issue-matrix row's verdict, routed via │
│ ``write_target(ISSUE_MATRIX)``. │
│ config Manage project AI agent configuration (add, remove, list │
│ agents) │
│ mission Mission lifecycle commands for AI agents │
│ tasks Task workflow commands for AI agents │
│ context Agent context management commands │
│ release Release packaging commands for AI agents │
│ action Mission action commands that display prompts and instructions │
│ for agents │
│ status Canonical status management commands │
│ tests Test-related commands for AI agents │
│ decision Decision Moment ledger for interview questions. │
│ retrospect Retrospective synthesis commands │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent action
Mission action commands that display prompts and instructions for agents
Usage: spec-kitty agent action [OPTIONS] COMMAND [ARGS]...
Mission action commands that display prompts and instructions for agents
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ implement Display work package prompt with implementation instructions. │
│ review Display work package prompt with review instructions. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent action implement
Usage: spec-kitty agent action implement [OPTIONS] [WP_ID]
Display work package prompt with implementation instructions.
This command outputs the full work package prompt content so agents can
immediately see what to implement, without navigating the file system.
Automatically moves WP from planned to in_progress (requires --agent to track
who is working).
Examples:
spec-kitty agent action implement WP01 --agent claude
spec-kitty agent action implement WP02 --agent claude
spec-kitty agent action implement wp01 --agent codex
spec-kitty agent action implement --agent gemini # auto-detects first
planned WP
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ wp_id [WP_ID] Work package ID (e.g., WP01, wp01, WP01-slug) - │
│ auto-detects first planned if omitted │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --agent TEXT Agent name (required for │
│ auto-move to in_progress) │
│ --model TEXT Dispatch-resolved model asserted │
│ against the correlated Op record │
│ (requires --invocation-id; never │
│ the frontmatter recommendation) │
│ --profile TEXT Dispatch-resolved agent profile │
│ (registry.resolve / Op record — │
│ never the frontmatter │
│ agent_profile string) │
│ --invocation-id TEXT Correlated Op record ULID whose │
│ mission, WP, action, profile, and │
│ model are authoritative │
│ --allow-sparse-checkout Proceed even if legacy │
│ sparse-checkout state is │
│ detected. Use of this override is │
│ logged. Does not bypass the │
│ commit-time data-loss backstop. │
│ --acknowledge-not-bulk-edit Suppress the bulk-edit inference │
│ warning when spec language │
│ resembles a bulk edit but the │
│ mission is not one. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent action review
Usage: spec-kitty agent action review [OPTIONS] [WP_ID]
Display work package prompt with review instructions.
This command outputs the full work package prompt (including any review
feedback from previous reviews) so agents can review the implementation.
Automatically moves WP from for_review to in_review (requires --agent to track
who is reviewing).
Examples:
spec-kitty agent action review WP01 --agent claude
spec-kitty agent action review wp02 --agent codex
spec-kitty agent action review --agent gemini # auto-detects first
for_review WP
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ wp_id [WP_ID] Work package ID (e.g., WP01) - auto-detects first │
│ for_review if omitted │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --agent TEXT Agent name (required for auto-move to │
│ in_progress) │
│ --model TEXT Dispatch-resolved model asserted against the │
│ correlated Op record (requires │
│ --invocation-id; never the frontmatter │
│ recommendation) │
│ --profile TEXT Dispatch-resolved agent profile │
│ (registry.resolve / Op record — never the │
│ frontmatter agent_profile string) │
│ --invocation-id TEXT Correlated Op record ULID whose mission, WP, │
│ action, profile, and model are authoritative │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config
Manage project AI agent configuration (add, remove, list agents)
Usage: spec-kitty agent config [OPTIONS] COMMAND [ARGS]...
Manage project AI agent configuration (add, remove, list agents)
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ list List configured agents and their status. │
│ add Add agents to the project. │
│ remove Remove agents from the project. │
│ status Show which agents are configured vs present on filesystem. │
│ sync Sync filesystem with config.yaml. │
│ set Set a project-level agent configuration value. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config add
Usage: spec-kitty agent config add [OPTIONS] AGENTS...
Add agents to the project.
Creates agent directories and updates config.yaml.
Example:
spec-kitty agent config add claude codex
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * agents AGENTS... Agent keys to add (e.g., claude codex) │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config list
Usage: spec-kitty agent config list [OPTIONS]
List configured agents and their status.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config remove
Usage: spec-kitty agent config remove [OPTIONS] AGENTS...
Remove agents from the project.
Deletes agent directories and updates config.yaml.
Example:
spec-kitty agent config remove codex gemini
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * agents AGENTS... Agent keys to remove [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --keep-config Keep in config.yaml but delete directory │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config set
Usage: spec-kitty agent config set [OPTIONS] KEY VALUE
Set a project-level agent configuration value.
Currently supported keys:
auto_commit - Enable/disable automatic commits by agents (true/false)
lint_on_edit - Enable/disable auto-linting feedback loop (true/false)
Examples:
spec-kitty agent config set auto_commit false
spec-kitty agent config set lint_on_edit true
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * key TEXT Configuration key (e.g., auto_commit) [required] │
│ * value TEXT Configuration value (e.g., true, false) [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config status
Usage: spec-kitty agent config status [OPTIONS]
Show which agents are configured vs present on filesystem.
Identifies:
- Configured and present (✓)
- Configured but missing (⚠)
- Not configured but present (orphaned) (✗)
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent config sync
Usage: spec-kitty agent config sync [OPTIONS]
Sync filesystem with config.yaml.
By default, removes orphaned directories (present but not configured).
Use --create-missing to also create directories for configured agents.
Use --sync-hooks to update harness-specific post-edit hooks.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --create-missing Create directories for │
│ configured agents that are │
│ missing │
│ --remove-orphaned --keep-orphaned Remove directories for agents │
│ not in config │
│ [default: remove-orphaned] │
│ --sync-hooks Update AI harness hook │
│ configurations (Claude, Cursor, │
│ etc.) │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent context
Agent context management commands
Usage: spec-kitty agent context [OPTIONS] COMMAND [ARGS]...
Agent context management commands
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ resolve Resolve canonical feature/work-package/action context for prompt │
│ execution. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent context resolve
Usage: spec-kitty agent context resolve [OPTIONS]
Resolve canonical feature/work-package/action context for prompt execution.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --action TEXT Action to resolve context for (specify, plan, │
│ analyze, tasks, tasks_outline, tasks_packages, │
│ tasks_finalize, implement, review, accept, │
│ status) │
│ [required] │
│ --mission TEXT Mission slug (e.g., '020-my-mission') │
│ --wp-id TEXT Work package ID (e.g., WP01) │
│ --agent TEXT Agent name for exact command rendering │
│ --json Output results as JSON │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent decision
Decision Moment ledger for interview questions.
Usage: spec-kitty agent decision [OPTIONS] COMMAND [ARGS]...
Decision Moment ledger for interview questions.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ open Open a new Decision Moment or return idempotently if one already │
│ exists. │
│ resolve Resolve a decision with a concrete final answer. │
│ defer Defer a decision for later resolution. │
│ cancel Cancel a decision (deemed no longer relevant). │
│ verify Cross-check deferred decisions against inline sentinel markers. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent decision cancel
Usage: spec-kitty agent decision cancel [OPTIONS] DECISION_ID
Cancel a decision (deemed no longer relevant).
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * decision_id TEXT ULID identifier of the decision to cancel │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle [required] │
│ * --rationale TEXT Explanation of why it's being │
│ canceled (required) │
│ [required] │
│ --resolved-by TEXT Identity of canceling party │
│ --actor TEXT Identity of the acting agent │
│ [default: cli] │
│ --dry-run Validate without writing │
│ --json --no-json Output JSON (default true) │
│ [default: json] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent decision defer
Usage: spec-kitty agent decision defer [OPTIONS] DECISION_ID
Defer a decision for later resolution.
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * decision_id TEXT ULID identifier of the decision to defer │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle [required] │
│ * --rationale TEXT Explanation of why it's being │
│ deferred (required) │
│ [required] │
│ --resolved-by TEXT Identity of deferring party │
│ --actor TEXT Identity of the acting agent │
│ [default: cli] │
│ --dry-run Validate without writing │
│ --json --no-json Output JSON (default true) │
│ [default: json] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent decision open
Usage: spec-kitty agent decision open [OPTIONS]
Open a new Decision Moment or return idempotently if one already exists.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle (slug, mission_id, or │
│ mid8) │
│ [required] │
│ * --flow TEXT Origin flow: charter | specify | plan │
│ [required] │
│ * --input-key TEXT The input key this decision governs │
│ [required] │
│ * --question TEXT Human-readable question text │
│ [required] │
│ --step-id TEXT Interview step identifier │
│ --slot-key TEXT Slot key (use when step_id │
│ unavailable) │
│ --options TEXT Candidate answers as a JSON array │
│ string │
│ --actor TEXT Identity of the opening actor │
│ [default: cli] │
│ --dry-run Validate without writing │
│ --json --no-json Output JSON (default true) │
│ [default: json] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent decision resolve
Usage: spec-kitty agent decision resolve [OPTIONS] DECISION_ID
Resolve a decision with a concrete final answer.
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * decision_id TEXT ULID identifier of the decision to resolve │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle [required] │
│ * --final-answer TEXT The chosen answer (non-empty) │
│ [required] │
│ --other-answer True if answer is a write-in │
│ --rationale TEXT Explanation of the choice │
│ --resolved-by TEXT Identity of resolver │
│ --actor TEXT Identity of the acting agent │
│ [default: cli] │
│ --dry-run Validate without writing │
│ --json --no-json Output JSON (default true) │
│ [default: json] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent decision verify
Usage: spec-kitty agent decision verify [OPTIONS]
Cross-check deferred decisions against inline sentinel markers.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle │
│ [required] │
│ --fail-on-stale --no-fail-on-stale Exit non-zero when │
│ findings are present │
│ (default true) │
│ [default: fail-on-stale] │
│ --json --no-json Output JSON (default │
│ true) │
│ [default: json] │
│ --help -h Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent issue-verdict
Usage: spec-kitty agent issue-verdict [OPTIONS]
Set an issue-matrix row's verdict, routed via ``write_target(ISSUE_MATRIX)``.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle (slug, mission_id, or mid8). │
│ [required] │
│ * --issue TEXT Issue reference, e.g. "#1726". [required] │
│ * --verdict TEXT fixed | verified-already-fixed | │
│ deferred-with-followup | in-mission │
│ [required] │
│ * --actor TEXT Identity of the acting agent. [required] │
│ --wp TEXT Owning work-package id (e.g. WP01). │
│ --evidence-ref TEXT Evidence text or link for the verdict. │
│ --json Output JSON format. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission
Mission lifecycle commands for AI agents
Usage: spec-kitty agent mission [OPTIONS] COMMAND [ARGS]...
Mission lifecycle commands for AI agents
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ record-analysis Persist `/spec-kitty.analyze` output as │
│ `analysis-report.md`. │
│ acceptance-verdict Record an acceptance-criterion verdict, or │
│ register/execute a negative │
│ invariant (FR-007/FR-008) — exactly one of │
│ ``--criterion``/ │
│ ``--negative-invariant``, both routed through the WP03 │
│ write seam. │
│ branch-context Return deterministic branch contract for planning-stage │
│ prompts. │
│ create Create new mission directory structure in the project │
│ root checkout. │
│ check-prerequisites Validate mission structure and prerequisites. │
│ setup-plan Scaffold implementation plan template in the project │
│ root checkout. │
│ accept Perform mission acceptance workflow. │
│ merge Merge mission branch into target branch. │
│ finalize-tasks Parse dependencies from tasks.md and update WP │
│ frontmatter, then commit to target branch. │
│ repair Detect and forward-only repair a pre-existing │
│ cross-partition content │
│ split-brain for one mission (FR-005, NFR-005). │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission accept
Usage: spec-kitty agent mission accept [OPTIONS]
Perform mission acceptance workflow.
This command:
1. Validates all tasks are in 'done' lane
2. Runs acceptance checks from checklist files
3. Creates acceptance report
4. Marks mission as ready for merge
Wrapper for top-level accept command with agent-specific defaults.
Examples:
# Run acceptance workflow
spec-kitty agent mission accept --mission 077-my-mission
# With JSON output for agents
spec-kitty agent mission accept --mission 077-my-mission --json
# Lenient mode (skip strict validation)
spec-kitty agent mission accept --mission 077-my-mission --lenient --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (required in multi-mission repos) │
│ --mode TEXT Acceptance mode: auto, pr, local, checklist │
│ [default: auto] │
│ --json Output results as JSON for agent parsing │
│ --lenient Skip strict metadata validation │
│ --no-commit Skip auto-commit (report only) │
│ --diagnose Diagnose acceptance blockers without mutation │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission acceptance-verdict
Usage: spec-kitty agent mission acceptance-verdict [OPTIONS]
Record an acceptance-criterion verdict, or register/execute a negative
invariant (FR-007/FR-008) — exactly one of ``--criterion``/
``--negative-invariant``, both routed through the WP03 write seam.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission slug, mid8, or │
│ mission_id │
│ [required] │
│ --criterion TEXT Acceptance criterion id │
│ (e.g. FR-001); mutually │
│ exclusive with │
│ --negative-invariant │
│ --result TEXT pass | fail | pending │
│ (required with │
│ --criterion) │
│ --verification-method TEXT Criterion mode: how │
│ this was verified │
│ (updates proof_type). │
│ Negative-invariant │
│ mode: grep_absence | │
│ route_check | │
│ custom_command │
│ (required with │
│ --negative-invariant). │
│ --actor TEXT Actor recording this │
│ verdict │
│ --evidence TEXT Evidence reference │
│ (URL/path/etc.) │
│ --negative-invariant TEXT Negative invariant id │
│ to register/execute │
│ (FR-007/FR-008); │
│ mutually exclusive with │
│ --criterion │
│ --description TEXT Negative invariant │
│ description (required │
│ with │
│ --negative-invariant) │
│ --verification-command TEXT grep pattern or command │
│ verifying the │
│ invariant's absence │
│ --scope TEXT Whitespace-separated │
│ repo-relative search │
│ root(s); grep_absence │
│ only │
│ --execute --no-execute Run the invariant's │
│ verification │
│ immediately after │
│ registering (FR-008; │
│ default: on) │
│ [default: execute] │
│ --json Output JSON format │
│ --help -h Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission branch-context
Usage: spec-kitty agent mission branch-context [OPTIONS]
Return deterministic branch contract for planning-stage prompts.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --json Output JSON format │
│ --target-branch TEXT Planned landing branch (defaults to current │
│ branch) │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission check-prerequisites
Usage: spec-kitty agent mission check-prerequisites [OPTIONS]
Validate mission structure and prerequisites.
This command is designed for AI agents to call programmatically.
Examples:
spec-kitty agent mission check-prerequisites --json
spec-kitty agent mission check-prerequisites --mission 020-my-feature
--paths-only --json
spec-kitty agent mission check-prerequisites --mission my-feature
--resume-probe --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (e.g., '020-my-mission') │
│ --json Output JSON format │
│ --paths-only Only output path variables │
│ --resume-probe Return structured │
│ found/not_found/existing/ambiguous/malformed │
│ state for safe specify resume │
│ --include-tasks Include tasks.md in validation │
│ --owned-checkout PATH Explicit single-branch checkout root. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission create
Usage: spec-kitty agent mission create [OPTIONS] MISSION_SLUG
Create new mission directory structure in the project root checkout.
This command is designed for AI agents to call programmatically.
Creates mission directory in kitty-specs/ and commits to the current branch.
Examples:
spec-kitty agent mission create "new-dashboard" --json
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * mission_slug TEXT Mission slug (e.g., 'user-auth') [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission-type TEXT Mission type │
│ (e.g., │
│ 'documentation', │
│ 'software-dev') │
│ --json Output JSON │
│ format │
│ --target-branch TEXT Target branch │
│ (defaults to │
│ current branch) │
│ --friendly-name TEXT Human-friendly │
│ mission title │
│ --purpose-tldr TEXT One-line │
│ stakeholder TLDR │
│ for the mission │
│ --purpose-context TEXT Short │
│ stakeholder-faci… │
│ paragraph for the │
│ mission │
│ --pr-bound --no-pr-bound Mark mission as │
│ PR-bound (gate │
│ fires on │
│ merge_target_bra… │
│ [default: │
│ no-pr-bound] │
│ --topology [single_branch|la Create-time │
│ nes|coord|lanes_w mission shape: │
│ ith_coord] single_branch | │
│ lanes | coord | │
│ lanes_with_coord. │
│ Coordination-bea… │
│ shapes (coord, │
│ lanes_with_coord) │
│ mint a │
│ coordination │
│ branch; │
│ branch-flat │
│ shapes │
│ (single_branch, │
│ lanes) do not. │
│ Default: │
│ context-derived │
│ (#2581) — coord │
│ on the primary │
│ branch, with │
│ --pr-bound, or │
│ when explicitly │
│ requested; │
│ single_branch on │
│ a non-primary │
│ feature/fork │
│ branch without │
│ --pr-bound. │
│ --branch-strategy TEXT Branch-strategy │
│ gate control │
│ (e.g., │
│ 'already-confirm… │
│ to bypass the │
│ prompt) │
│ --start-branch TEXT Create or switch │
│ to this branch │
│ before mission │
│ files are written │
│ --force-recreate… Delete and │
│ recreate the │
│ per-mission │
│ coordination │
│ branch if it │
│ already exists │
│ and has diverged │
│ from the target. │
│ Operator escape │
│ hatch; never used │
│ by automation. │
│ --owned-checkout PATH Explicitly │
│ declare a │
│ checkout root │
│ owned by this │
│ invocation. The │
│ path must be the │
│ primary checkout │
│ or a validated │
│ linked worktree │
│ of the resolved │
│ primary │
│ repository. │
│ --retain-branches Opt this │
│ mission's │
│ branches out of │
│ post-merge │
│ cleanup deletion. │
│ --retain-worktre… Opt this │
│ mission's │
│ worktrees out of │
│ post-merge │
│ cleanup deletion. │
│ --help -h Show this message │
│ and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission finalize-tasks
Usage: spec-kitty agent mission finalize-tasks [OPTIONS]
Parse dependencies from tasks.md and update WP frontmatter, then commit to
target branch.
This command is designed to be called after LLM generates WP files via
/spec-kitty.tasks.
It post-processes the generated files to add dependency information and
commits everything.
Use --validate-only to check for issues (missing requirement mappings,
ownership overlaps,
dependency cycles) without making any changes or committing.
Bootstrap Mutation Surface (FR-003 / SC-002)
=============================================
The 8 frontmatter fields below may be written or overwritten by this command.
When ``--validate-only`` is active, ALL writes are skipped — the
``frontmatter_changed and not validate_only`` guard ensures zero bytes of
mutation on disk (INV-6). In validate-only mode the bootstrap loop still
infers all 8 fields in memory so downstream validation operates against the
post-bootstrap state — not the stale on-disk frontmatter.
See also: ``tasks.py:finalize-tasks()`` which writes ``dependencies`` via
``build_document() + write_text()`` — guarded the same way (T002).
Examples:
spec-kitty agent mission finalize-tasks --mission 020-my-feature --json
spec-kitty agent mission finalize-tasks --mission 020-my-feature
--validate-only --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (e.g., '020-my-mission') │
│ --json Output JSON format │
│ --validate-only Run all validations without committing. │
│ Reports issues that would block │
│ finalization. │
│ --target-branch TEXT Override the canonical planning target │
│ branch read from meta.json. Use this for │
│ legacy missions created before WP07 │
│ persisted target_branch in meta.json, or to │
│ correct a mission whose target_branch is │
│ stale (FR-012 escape hatch). The override is │
│ persisted into the primary meta.json as part │
│ of this run, so every other target_branch │
│ consumer converges on it too (#3466). │
│ --owned-checkout PATH Explicit owned checkout for a single-branch │
│ mission. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission merge
Usage: spec-kitty agent mission merge [OPTIONS]
Merge mission branch into target branch.
This command:
1. Validates the mission is accepted
2. Merges the mission branch into target (usually 'main')
3. Cleans up worktree
4. Deletes the mission branch
Auto-retry logic:
If current branch doesn't match feature pattern and auto-retry is enabled,
it retries only when --mission is provided so worktree selection is
deterministic.
Delegates to existing tasks_cli.py merge implementation.
Examples:
# Merge into main branch
spec-kitty agent mission merge --mission 077-my-mission
# Merge into specific branch with push
spec-kitty agent mission merge --mission 077-my-mission --target develop
--push
# Dry-run mode
spec-kitty agent mission merge --mission 077-my-mission --dry-run
# Keep worktree and branch after merge
spec-kitty agent mission merge --mission 077-my-mission --keep-worktree
--keep-branch
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (required in │
│ multi-mission repos) │
│ --target TEXT Target branch for the │
│ branch-integration step │
│ (required in multi-mission │
│ repos) │
│ --strategy TEXT Strategy for the │
│ branch-integration step: │
│ merge, squash, rebase │
│ [default: merge] │
│ --push Publish to origin after the │
│ local merge (the operator │
│ publish step) │
│ --dry-run Show actions without │
│ executing │
│ --keep-branch --delete-branch Keep or delete mission │
│ branch after merge (default: │
│ retain-gate choice) │
│ --keep-worktree --remove-worktree Keep or remove worktree │
│ after merge (default: │
│ retain-gate choice) │
│ --auto-retry --no-auto-retry Auto-navigate to a │
│ deterministic mission │
│ worktree if in the wrong │
│ location │
│ [default: no-auto-retry] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission record-analysis
Usage: spec-kitty agent mission record-analysis [OPTIONS]
Persist `/spec-kitty.analyze` output as `analysis-report.md`.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (e.g., '020-my-mission') │
│ --input-file TEXT Markdown report path, or '-' to read report from │
│ stdin │
│ [default: -] │
│ --agent TEXT Agent name that produced the analysis report │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission repair
Usage: spec-kitty agent mission repair [OPTIONS]
Detect and forward-only repair a pre-existing cross-partition content
split-brain for one mission (FR-005, NFR-005).
Fast-forwards under strict-ancestor + clean worktree, zero data loss.
Refuses with a unified diff (scoped to the mission's own content) and
mutates NOTHING on genuine (non-ancestor) divergence.
Examples:
spec-kitty agent mission repair --mission 020-my-mission
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission slug/handle to repair [required] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent mission setup-plan
Usage: spec-kitty agent mission setup-plan [OPTIONS]
Scaffold implementation plan template in the project root checkout.
This command is designed for AI agents to call programmatically.
Creates plan.md and commits to target branch.
Examples:
spec-kitty agent mission setup-plan --json
spec-kitty agent mission setup-plan --mission 020-my-feature --json
------------------------------------------------------------------
The SaaS-sync boundary gates this command used to enforce (FR-011 auth
refusal, boundary preflight, dossier push) were removed with the sync
transport (issue #5); only local planning artifacts are produced here.
------------------------------------------------------------------
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (e.g., '020-my-mission') │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent profile list
Usage: spec-kitty agent profile list [OPTIONS]
List agent profiles (activated-only by default; --all for the full catalog).
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --json Output JSON array. │
│ --all Show every profile across all source layers │
│ (annotated by source layer and │
│ activated|available state). Supersedes the │
│ activated-only default and --show-available. │
│ --show-available Also show available-but-not-activated profiles │
│ (annotated by state). │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent profile show
Usage: spec-kitty agent profile show [OPTIONS] PROFILE_ID
Show the full resolved definition of an agent profile (FR-013/014/015).
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * profile_id TEXT Profile ID to show. [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --json Output JSON object. │
│ --all Bypass the activation gate for inspection (show │
│ non-activated profiles). │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent release
Release packaging commands for AI agents
Usage: spec-kitty agent release [OPTIONS] COMMAND [ARGS]...
Release packaging commands for AI agents
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ prep Prepare release artifacts (changelog draft, version bump, structured │
│ inputs). │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent release prep
Usage: spec-kitty agent release prep [OPTIONS]
Prepare release artifacts (changelog draft, version bump, structured inputs).
Reads kitty-specs/ artifacts and local git tags. No network calls.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --channel [alpha|beta|stable] Release channel: alpha | beta | │
│ stable │
│ [required] │
│ --repo PATH Repository root (default: current │
│ directory) │
│ [default: .] │
│ --json Emit JSON instead of │
│ human-readable text │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent retrospect
Retrospective synthesis commands
Usage: spec-kitty agent retrospect [OPTIONS] COMMAND [ARGS]...
Retrospective synthesis commands
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ synthesize Apply staged proposals from a mission's retrospective record. │
│ summary Cross-mission retrospective summary. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent retrospect summary
Cross-mission retrospective summary.
Usage: spec-kitty agent retrospect summary [OPTIONS]
Cross-mission retrospective summary.
Back-compat alias: equivalent to `spec-kitty retrospect summary`.
Distinguishes four record states: has_findings / ran_no_findings / missing /
failed.
No mutation is performed.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --project PATH Project root (default: │
│ cwd) │
│ --json Emit JSON to stdout │
│ --json-out PATH Also write JSON to this │
│ file │
│ --limit INTEGER RANGE Top-N for ranked │
│ [1<=x<=100] sections │
│ [default: 20] │
│ --since TEXT ISO-8601 date filter │
│ --include-malformed Include malformed │
│ record detail │
│ --filter TEXT Filter by record state │
│ (has_findings|ran_no_f… │
│ --help -h Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent retrospect synthesize
Apply staged proposals from a mission's retrospective record.
Usage: spec-kitty agent retrospect synthesize [OPTIONS]
Apply staged proposals from a mission's retrospective record.
--dry-run is the default; pass --apply to mutate project state.
flag_not_helpful is the only auto-applied kind (Q2-A).
Conflict detection is fail-closed: any conflict blocks the whole batch.
When no retrospective.yaml exists, the command errors with
RETROSPECTIVE_RECORD_MISSING (exit 1) and points to 'spec-kitty retrospect
create'.
Pass --fabricate-empty to use the legacy auto-fabrication path instead.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle (mission_id / mid8 / │
│ mission_slug) │
│ [required] │
│ --apply Execute application after checks pass │
│ (default is dry-run) │
│ --proposal-id TEXT Restrict batch to specific proposal ids │
│ (repeatable) │
│ --json-out PATH Write JSON envelope to PATH in addition │
│ to other output │
│ --json Emit JSON to stdout (suppresses Rich │
│ rendering) │
│ --actor-id TEXT Override provenance actor id (default: │
│ inferred from environment) │
│ --fabricate-empty Legacy: auto-fabricate an empty record │
│ when none exists (synthesize_fabricate │
│ provenance) │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status
Canonical status management commands
Usage: spec-kitty agent status [OPTIONS] COMMAND [ARGS]...
Canonical status management commands
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ emit Emit a status transition event for a work package. │
│ materialize Rebuild status.json from the canonical event log. │
│ doctor Run health checks for status hygiene and global runtime. │
│ lifecycle Show the canonical lifecycle state for one mission. │
│ migrate [REMOVED] Frontmatter-to-event-log bootstrap migration has been │
│ removed. │
│ validate Validate canonical status model integrity. │
│ reconcile [REMOVED] Cross-repo reconciliation has been removed. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status doctor
Usage: spec-kitty agent status doctor [OPTIONS]
Run health checks for status hygiene and global runtime.
Detects global runtime issues (missing runtime directory, version mismatch,
corrupted missions) and project-level issues (stale claims, orphan
workspaces, drift).
Exit code 0 = healthy, 1 = issues found.
Examples:
spec-kitty agent status doctor
spec-kitty agent status doctor --mission 034-my-feature
spec-kitty agent status doctor --stale-claimed-days 3 --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --stale-claimed-days INTEGER Threshold for stale claims (days) │
│ [default: 7] │
│ --stale-in-progress-days INTEGER Threshold for stale in-progress │
│ (days) │
│ [default: 14] │
│ --json Machine-readable JSON output │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status emit
Usage: spec-kitty agent status emit [OPTIONS] WP_ID
Emit a status transition event for a work package.
Records a lane transition in the canonical event log, validates the
transition against the state machine, materializes a snapshot, and
updates legacy compatibility views.
Examples:
spec-kitty agent status emit WP01 --to claimed --actor claude
spec-kitty agent status emit WP01 --to approved --actor claude
--review-result-json '{"reviewer": "alice", "verdict": "approved",
"reference": "PR#1"}'
spec-kitty agent status emit WP01 --to in_progress --actor claude --force
--reason "resuming after crash"
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * wp_id TEXT Work package ID (e.g., WP01) [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --to TEXT Target lane (e.g., claimed, │
│ in_progress, for_review, │
│ approved, done) │
│ [required] │
│ * --actor TEXT Who is making this transition │
│ [required] │
│ --mission TEXT Mission slug (required in │
│ multi-mission repos) │
│ --force Force transition bypassing │
│ guards │
│ --reason TEXT Reason for forced transition │
│ --evidence-json TEXT JSON string with done │
│ evidence │
│ --review-ref TEXT Review feedback reference │
│ --review-result-json TEXT JSON structured review │
│ outcome for transitions from │
│ in_review │
│ --workspace-context TEXT Workspace context identifier │
│ for claimed->in_progress │
│ --subtasks-complete Whether required subtasks are │
│ complete for │
│ in_progress->for_review │
│ --implementation-evidence-p… Whether implementation │
│ evidence exists for │
│ in_progress->for_review │
│ --execution-mode TEXT Execution mode (worktree or │
│ direct_repo) │
│ [default: worktree] │
│ --json Machine-readable JSON output │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status lifecycle
Usage: spec-kitty agent status lifecycle [OPTIONS]
Show the canonical lifecycle state for one mission.
This is the product-facing state layer above raw WP lanes. It answers
whether a mission is active, recently completed, stale, abandoned, or
now just recoverable/archive history.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --json Machine-readable JSON output │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status materialize
Usage: spec-kitty agent status materialize [OPTIONS]
Rebuild status.json from the canonical event log.
Reads all events from status.events.jsonl, applies the deterministic
reducer to produce a snapshot, writes status.json, and updates legacy
compatibility views.
Examples:
spec-kitty agent status materialize
spec-kitty agent status materialize --mission 034-my-feature
spec-kitty agent status materialize --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (required in multi-mission repos) │
│ --json Machine-readable JSON output │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status migrate
Usage: spec-kitty agent status migrate [OPTIONS]
[REMOVED] Frontmatter-to-event-log bootstrap migration has been removed.
The canonical status model uses the event log as sole authority.
One-shot bootstrap migration from frontmatter is handled by the
upgrade migration system (``spec-kitty upgrade``), not this command.
Examples:
spec-kitty upgrade # applies all pending migrations
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission -f TEXT Single mission slug to migrate │
│ --all Migrate all features in kitty-specs/ │
│ --dry-run Preview migration without writing events │
│ --json Output results as JSON │
│ --actor TEXT Actor name for bootstrap events │
│ [default: migration] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status reconcile
Usage: spec-kitty agent status reconcile [OPTIONS]
[REMOVED] Cross-repo reconciliation has been removed.
The canonical status model uses the event log as sole authority.
Cross-repo drift detection via frontmatter scanning is no longer
supported. Use ``spec-kitty agent status validate`` to check
event log integrity.
Examples:
spec-kitty agent status validate --mission 034-feature-name
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission -f TEXT Mission slug (required in multi-mission │
│ repos) │
│ --dry-run --apply Preview vs persist reconciliation events │
│ [default: dry-run] │
│ --target-repo -t PATH Target repo path(s) to scan │
│ --json Machine-readable JSON output │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent status validate
Usage: spec-kitty agent status validate [OPTIONS]
Validate canonical status model integrity.
Runs all validation checks: event schema, transition legality,
done-evidence completeness, materialization drift, and derived-view drift.
Exit code 0 for pass (no errors), exit code 1 for fail (any errors).
Warnings do not cause failure.
Examples:
spec-kitty agent status validate
spec-kitty agent status validate --mission 034-my-feature
spec-kitty agent status validate --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug (required in multi-mission repos) │
│ --json Machine-readable JSON output │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks
Task workflow commands for AI agents
Usage: spec-kitty agent tasks [OPTIONS] COMMAND [ARGS]...
Task workflow commands for AI agents
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ move-task Move task between lanes (planned → doing → for_review → │
│ approved → done). │
│ mark-status Update task checkbox status in tasks.md for one or more │
│ tasks. │
│ list-tasks List tasks with optional lane filtering. │
│ add-history Append history entry to task activity log. │
│ finalize-tasks Parse tasks.md and inject dependencies into WP │
│ frontmatter. │
│ map-requirements Register requirement-to-WP mappings with immediate │
│ validation. │
│ validate-workflow Validate task metadata structure and workflow │
│ consistency. │
│ status Display kanban status board for all work packages in a │
│ feature. │
│ list-dependents Find all WPs that depend on a given WP (downstream │
│ dependents). │
│ check-terminability Advisory scan for work packages that can only be │
│ terminated post-integration. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks add-history
Usage: spec-kitty agent tasks add-history [OPTIONS] TASK_ID
Append history entry to task activity log.
Examples:
spec-kitty agent tasks add-history WP01 --note "Completed implementation"
--json
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * task_id TEXT Task ID (e.g., WP01) [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --note TEXT History note [required] │
│ --mission TEXT Mission slug │
│ --agent TEXT Agent name │
│ --shell-pid TEXT Shell PID │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks check-terminability
Usage: spec-kitty agent tasks check-terminability [OPTIONS]
Advisory scan for work packages that can only be terminated post-integration.
Warns when a WP's acceptance criteria contain a post-integration trigger
phrase (the #3590 trap) — content that cannot be verified in the WP's own
diff. This is **advisory only**: it never refuses or fails authoring
(FR-008) — it exits 0 even when warnings fire. It does not touch the
finalize / lane-compute path (C-005).
Examples:
spec-kitty agent tasks check-terminability --mission my-mission --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks finalize-tasks
Usage: spec-kitty agent tasks finalize-tasks [OPTIONS]
Parse tasks.md and inject dependencies into WP frontmatter.
Scans tasks.md for "Depends on: WP##" patterns or phase groupings,
builds dependency graph, validates for cycles, and writes dependencies
field to each WP file's frontmatter.
Examples:
spec-kitty agent tasks finalize-tasks --mission 001-my-feature --json
spec-kitty agent tasks finalize-tasks --mission 021-my-feature --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --json Output JSON format │
│ --validate-only Validate without writing changes │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks list-dependents
Usage: spec-kitty agent tasks list-dependents [OPTIONS] WP_ID
Find all WPs that depend on a given WP (downstream dependents).
This answers "who depends on me?" - useful when reviewing a WP to understand
the impact of requested changes on downstream work packages.
Also shows what the WP itself depends on (upstream dependencies).
Examples:
spec-kitty agent tasks list-dependents WP13
spec-kitty agent tasks list-dependents WP01 --mission 001-my-feature
--json
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * wp_id TEXT Work package ID (e.g., WP01) [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks list-tasks
Usage: spec-kitty agent tasks list-tasks [OPTIONS]
List tasks with optional lane filtering.
Examples:
spec-kitty agent tasks list-tasks --json
spec-kitty agent tasks list-tasks --lane doing --json
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --lane TEXT Filter by lane │
│ --mission TEXT Mission slug │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks map-requirements
Usage: spec-kitty agent tasks map-requirements [OPTIONS]
Register requirement-to-WP mappings with immediate validation.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --wp TEXT WP ID (e.g., WP04) │
│ --refs TEXT Comma-separated requirement │
│ refs (e.g., FR-001,FR-002) │
│ --batch TEXT JSON batch mapping (e.g., │
│ '{"WP01":["FR-001"],"WP02":["F… │
│ --replace Replace existing refs instead │
│ of merging (default: │
│ merge/union) │
│ --tracker-ref TEXT External tracker reference │
│ (e.g., '#1298' or 'JIRA-123'). │
│ Repeatable; requires --wp. │
│ Persists to the WP frontmatter │
│ as tracker_refs. │
│ --mission TEXT Mission slug │
│ --json Output JSON format │
│ --auto-commit --no-auto-commit Automatically commit WP file │
│ changes (default: from project │
│ config) │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks mark-status
Usage: spec-kitty agent tasks mark-status [OPTIONS] TASK_IDS...
Update task checkbox status in tasks.md for one or more tasks.
Accepts MULTIPLE task IDs separated by spaces. All tasks are updated
in a single operation with one commit.
Examples:
# Single task:
spec-kitty agent tasks mark-status T001 --status done
# Multiple tasks (space-separated):
spec-kitty agent tasks mark-status T001 T002 T003 --status done
# Many tasks at once:
spec-kitty agent tasks mark-status T040 T041 T042 T043 T044 T045 --status
done --mission 001-my-feature
# With JSON output:
spec-kitty agent tasks mark-status T001 T002 --status done --json
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * task_ids TASK_IDS... Task ID(s) - space-separated (e.g., T001 │
│ T002 T003) │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --status TEXT Status: done/pending │
│ [required] │
│ --mission TEXT Mission slug │
│ --owned-checkout PATH Explicit single-branch │
│ checkout root. │
│ --auto-commit --no-auto-commit Automatically commit │
│ tasks.md changes to │
│ target branch (default: │
│ from project config) │
│ --json Output JSON format │
│ --help -h Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks move-task
Usage: spec-kitty agent tasks move-task [OPTIONS] TASK_ID
Move task between lanes (planned → doing → for_review → approved → done).
Review-rejection edges (a backward move out of review — ``--to planned`` from
in_progress/for_review/in_review/approved, or ``in_review → in_progress``)
MUST
carry a rationale: pass ``--review-feedback-file`` (or ``--note``). That
rationale is emitted as the status event's ``review_ref``/reason and is
required by the shared status contract; a rejection emitted without it is
accepted locally but silently rejected by hosted sync, so it never propagates.
Examples:
spec-kitty agent tasks move-task WP01 --to doing --assignee claude --json
spec-kitty agent tasks move-task WP02 --to for_review --agent claude
--shell-pid $$
spec-kitty agent tasks move-task WP03 --to approved --note "Review passed"
spec-kitty agent tasks move-task WP03 --to done --done-override-reason
"Branch deleted after hotfix merge"
spec-kitty agent tasks move-task WP03 --to planned --review-feedback-file
feedback.md
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * task_id TEXT Task ID (e.g., WP01) [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --to TEXT Target lane │
│ (planned/doing/for_r… │
│ [required] │
│ --mission TEXT Mission slug │
│ --agent TEXT Agent name │
│ --model TEXT Dispatch-resolved │
│ model actual │
│ --profile TEXT Dispatch-resolved │
│ agent profile actual │
│ --invocation-id TEXT Authoritative │
│ dispatch Op record id │
│ --assignee TEXT Assignee name (sets │
│ assignee when moving │
│ to doing) │
│ --shell-pid TEXT Shell PID │
│ --note TEXT History note │
│ --review-feedback-f… PATH Path to review │
│ feedback file. │
│ Required for │
│ review-rejection │
│ edges (--to planned, │
│ incl. with --force; │
│ and │
│ in_review->in_progre… │
│ Recorded as the │
│ transition's on-wire │
│ review_ref rationale; │
│ omitting it makes the │
│ status event │
│ contract-invalid and │
│ hosted sync drops it. │
│ --approval-ref TEXT Approval reference │
│ for approval/done │
│ transitions (e.g., │
│ PR#42) │
│ --reviewer TEXT Reviewer name │
│ (auto-detected from │
│ git if omitted) │
│ --self-review-fallb… Record that approval │
│ is a self-review │
│ fallback after the │
│ intended reviewer │
│ failed. │
│ --intended-reviewer TEXT Reviewer that should │
│ have reviewed this WP │
│ before fallback. │
│ --reviewer-failure-… TEXT Reason the intended │
│ reviewer failed. │
│ --done-override-rea… TEXT Required when --to │
│ done and merge │
│ ancestry cannot be │
│ verified; recorded in │
│ history/event reason │
│ --force Force move even with │
│ unchecked subtasks │
│ (does not bypass │
│ planned rollback │
│ feedback requirement) │
│ --tracker-ref TEXT External tracker │
│ reference (e.g., │
│ '#1298' or │
│ 'JIRA-123'). │
│ Repeatable; appended │
│ to the WP frontmatter │
│ tracker_refs. │
│ --skip-review-artif… Override a rejected │
│ latest review │
│ artifact when │
│ arbiter-approving; │
│ requires --note and │
│ records override │
│ evidence. │
│ --auto-commit --no-auto-commit Automatically commit │
│ WP file changes to │
│ target branch │
│ (default: from │
│ project config) │
│ --json Output JSON format │
│ --skip-pre-review-g… Skip the pre-review │
│ regression gate on a │
│ --to for_review move │
│ (also honored via the │
│ SPEC_KITTY_SYNC_DISA… │
│ / │
│ SPEC_KITTY_SYNC_MINI… │
│ env vars). The gate │
│ still runs and │
│ enforces by default. │
│ --owned-checkout PATH Use an owned │
│ single_branch │
│ checkout for the │
│ local review │
│ lifecycle (active │
│ sync, force/skip, │
│ done, and arbiter │
│ modes unsupported). │
│ --help -h Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks status
Usage: spec-kitty agent tasks status [OPTIONS]
Display kanban status board for all work packages in a feature.
Shows a beautiful overview of work package statuses, progress metrics,
and next steps based on dependencies.
WPs in "doing" with no commits for --stale-threshold minutes are flagged
as potentially stale (agent may have stopped).
Example:
spec-kitty agent tasks status
spec-kitty agent tasks status --mission 012-documentation-mission
spec-kitty agent tasks status --json
spec-kitty agent tasks status --stale-threshold 15
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --json Output as JSON │
│ --stale-threshold INTEGER Minutes of inactivity before a WP is │
│ considered stale │
│ [default: 10] │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tasks validate-workflow
Usage: spec-kitty agent tasks validate-workflow [OPTIONS] TASK_ID
Validate task metadata structure and workflow consistency.
Examples:
spec-kitty agent tasks validate-workflow WP01 --json
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * task_id TEXT Task ID (e.g., WP01) [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --mission TEXT Mission slug │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tests
Test-related commands for AI agents
Usage: spec-kitty agent tests [OPTIONS] COMMAND [ARGS]...
Test-related commands for AI agents
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ stale-check Detect test assertions likely invalidated by source changes │
│ between two refs. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tests stale-check
Usage: spec-kitty agent tests stale-check [OPTIONS]
Detect test assertions likely invalidated by source changes between two refs.
Compares BASE..HEAD and reports assertions in the test suite that reference
symbols (functions, classes, string literals) that were renamed or removed in
the source diff. Uses AST analysis only — no regex on test text, no test
execution.
Confidence levels:
high — identifier referenced directly inside Assert or assert* call
medium — identifier appears anywhere in an assertion node
low — string literal matches a Constant in an assertion-bearing position
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --base TEXT Base git ref for the diff [required] │
│ --head TEXT Head git ref for the diff [default: HEAD] │
│ --repo PATH Repository root (default: current directory) │
│ [default: .] │
│ --json Emit JSON instead of human-readable text │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
spec-kitty agent tracer-append
Usage: spec-kitty agent tracer-append [OPTIONS]
Append a dated, attributed finding to the mission's tracer surface.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ * --mission TEXT Mission handle (e.g. 'my-mission-01ABCDEF') │
│ [required] │
│ * --category TEXT Tracer category: approach | design-decisions | │
│ tooling-friction │
│ [required] │
│ * --entry TEXT Finding text [required] │
│ * --actor TEXT Attribution (required, non-empty) [required] │
│ --json Output JSON format │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯