Skip to content
/

Spec Kitty

spec-kitty · Priivacy-ai/spec-kitty · ★ 1.3k · last commit 2026-05-26

Delivers a complete spec-driven agentic workflow across 17 AI agents with worktree isolation, lane-tracked parallel execution, and retrospective-based workflow learning.

Best whenCode is the source of truth, not the spec — specs are delta change requests that LLMs combine with codebase reading, eliminating spec drift permanently.
vs seeds
spec-kitin its command-per-phase architecture, but diverges by targeting 17 AI runtimes, adding git-worktree isolation per work …
Primitive shape 22 total
Commands 11 Skills 11
00

Summary

Spec Kitty — Summary

Spec Kitty (v3.2.0rc25, PyPI: spec-kitty-cli) is a Python CLI framework that delivers a complete spec-driven agentic workflow — spec → plan → tasks → next → review → accept → merge — across 17 AI agents simultaneously, including 13 via slash commands and 4 via Agent Skills. Its core architectural commitment is that code is the source of truth, not the spec: specs are delta-style change requests describing what to change, while AI agents read the actual codebase to understand the current state. Work packages are isolated in git worktrees under .worktrees/, lane transitions are tracked in kitty-specs/ YAML files, and an optional local Kanban dashboard (spec-kitty dashboard) streams real-time progress. Retrospectives are generated automatically at mission close and can be applied to mutate future workflow behavior. Compared to the seeds, Spec Kitty is closest to kiro in its spec-as-delta philosophy and multi-agent mission coordination, but differs by being CLI-native and open source rather than a closed IDE; it extends spec-kit's approach by supporting 17 runtimes vs. spec-kit's 1 and adding worktree isolation.

01

Overview

Spec Kitty — Overview

Origin

Spec Kitty is developed by Priivacy-ai and published to PyPI as spec-kitty-cli v3.2.0rc25. The project has 30 contributors and was actively developed through May 2026. It explicitly cites GitHub's Spec Kit as inspiration while diverging on the core philosophy.

Philosophy

The foundational manifesto is "Spec-Driven Development: The Power Inversion":

"For decades, code has been king. Specifications served code — they were the scaffolding we built and then discarded once the 'real work' of coding began... Spec-Driven Development inverts this power structure. Specifications don't serve code — code serves specifications."

However, Spec Kitty then introduces a break from traditional SDD:

"This is where Spec Kitty diverges from traditional spec-driven development. In Spec Kitty, CODE IS THE SOURCE OF TRUTH — it represents what exists NOW. The specification is NOT a comprehensive digital twin of the codebase. Instead, specifications are CHANGE REQUESTS that describe the DELTA between current reality and desired future state."

This delta philosophy makes specs concise and prevents spec drift. After a mission merges, the spec becomes historical record; the code is the new truth.

Core Manifesto Quotes

  • "CODE IS THE SOURCE OF TRUTH — it represents what exists NOW."
  • "Specs describe 'we want to ADD authentication' not 'the system includes authentication.'"
  • "AI agents have a superpower: they can read and understand code instantly. Traditional specs tried to save humans from reading code by documenting everything. But LLMs don't need that protection."
  • "The development team focuses in on their creativity, experimentation, their critical thinking."

Supported AI Agents (17 total)

Slash-command agents (13): Claude Code, GitHub Copilot, Google Gemini, Cursor, Qwen Code, OpenCode, Windsurf, Kilocode, Augment Code, Roo Cline, Amazon Q, Kiro, Google Antigravity.

Agent Skills agents (4): Codex CLI, Mistral Vibe, Pi, Letta Code.

02

Architecture

Spec Kitty — Architecture

Distribution

  • Type: Python CLI package (PyPI: spec-kitty-cli)
  • Install: pipx install spec-kitty-cli (preferred) or uv tool install spec-kitty-cli
  • Language: Python 3.11+
  • Version analyzed: 3.2.0rc25

Installation Flow

  1. pipx install spec-kitty-cli
  2. spec-kitty init my-project --ai claude (replace claude with agent key)
  3. spec-kitty verify-setup
  4. Open AI tool in project and run /spec-kitty.charter

Directory Tree (post-init)

my-project/
├── kitty-specs/                    # Mission artifacts
│   └── <mission-slug>/
│       ├── spec.md                 # Mission specification (delta)
│       ├── plan.md                 # Implementation plan
│       ├── tasks.md                # Task breakdown with lanes
│       ├── reasons-canvas.md       # REASONS doctrine canvas
│       └── retrospective.yaml      # Auto-generated retrospective
├── .worktrees/                     # Git worktrees per work package
│   └── <work-package-slug>/
├── .kittify/
│   ├── config.yaml                 # Kitty configuration
│   └── command-skills-manifest.json
├── .claude/
│   └── commands/
│       ├── spec-kitty.charter.md
│       ├── spec-kitty.specify.md
│       ├── spec-kitty.plan.md
│       ├── spec-kitty.tasks.md
│       ├── spec-kitty.implement.md
│       ├── spec-kitty.review.md
│       ├── spec-kitty.accept.md
│       ├── spec-kitty.merge.md
│       ├── spec-kitty.analyze.md
│       └── ... (11 command templates total)
├── .agents/
│   └── skills/
│       └── spec-kitty.<command>/
│           └── SKILL.md
└── [13 other agent directories — .amazonq/, .augment/, etc.]

Required Runtime

  • Python 3.11+
  • Git (required for worktrees)
  • No Docker, no Node.js required

Target AI Tools

17 agents: Claude Code, GitHub Copilot, Google Gemini, Cursor, Qwen Code, OpenCode, Windsurf, Kilocode, Augment Code, Roo Cline, Amazon Q, Kiro, Google Antigravity (slash commands); Codex CLI, Mistral Vibe, Pi, Letta Code (Agent Skills).

Python Package Structure

src/specify_cli/
├── cli/                # Click-based CLI
├── missions/           # Mission type definitions
│   ├── software-dev/   # Main mission type
│   │   └── command-templates/   # Source templates (11 files)
│   ├── documentation/
│   ├── plan/
│   └── research/
├── dashboard/          # Local Kanban dashboard
├── orchestrator_api/   # Multi-agent orchestrator
├── workspace/          # Worktree management
├── retrospective/      # Retrospective generation
├── skills/             # Agent Skills installer
└── upgrade/            # Migration system
03

Components

Spec Kitty — Components

Commands (11 slash commands, deployed to 13 AI tools)

Command Purpose
/spec-kitty.charter Set mission charter, select doctrine pack (REASONS/SPDD)
/spec-kitty.specify Discovery interview → delta spec creation
/spec-kitty.plan Generate implementation plan from spec
/spec-kitty.tasks Break plan into work packages with lane assignments
/spec-kitty.implement Execute work packages in isolated worktrees
/spec-kitty.review Review implementation against spec
/spec-kitty.accept Accept the implementation
/spec-kitty.merge Merge worktrees back to main branch
/spec-kitty.analyze Analyze codebase before specifying
/spec-kitty.research Research-focused mission workflow
/spec-kitty.advise Advisory / consultation mode

CLI Binary Commands (spec-kitty binary)

Subcommand Purpose
spec-kitty init . --ai <agent> Initialize project for chosen agent
spec-kitty dashboard Open local Kanban mission dashboard
spec-kitty next --agent <agent> --mission <slug> Determine next agent action
spec-kitty verify-setup Check installation and project wiring
spec-kitty upgrade Upgrade existing project after CLI update
spec-kitty retrospect summary Cross-mission retrospective view
spec-kitty agent retrospect synthesize --mission <slug> Apply staged retrospective proposals

Skills (Agent Skills format, 4 agents)

Single skill pack installed under .agents/skills/spec-kitty.<command>/SKILL.md per command. Shared by Codex CLI, Mistral Vibe, Pi, Letta Code.

Subagents

Yes — multi-agent orchestration. Work packages are distributed to parallel agents running in separate git worktrees. Orchestrator coordinates via lane transitions. Definition format: task-tool-spawn / orchestrator-api pattern.

Hooks

None via .claude/settings.json. Spec Kitty uses the spec-kitty next CLI command as a pull-based coordination mechanism rather than push-based hooks.

MCP Servers

None.

Scripts

  • run_tests.sh — test runner
  • scripts/ — utility scripts for release/development

State Files

  • kitty-specs/<slug>/spec.md — delta specification
  • kitty-specs/<slug>/plan.md — implementation plan
  • kitty-specs/<slug>/tasks.md — task/lane state
  • kitty-specs/<slug>/retrospective.yaml — post-mission retrospective
  • .kittify/config.yaml — project configuration
  • .kittify/command-skills-manifest.json — agent skill registry
05

Prompts

Spec Kitty — Prompts

Prompt 1: /spec-kitty.specify (Discovery-First Spec Creation)

Source: src/specify_cli/missions/software-dev/command-templates/specify.md

Technique: Mandatory discovery interview with WAITING_FOR_DISCOVERY_INPUT blocking guard.

---
description: Create a mission specification
---
# /spec-kitty.specify - Create Mission Specification

## Primary Invariant: What Are We Building?

This workflow answers "What are we building?" before it creates artifacts. The
raw invocation text is only a starting point for discovery, not the final truth.

Before `mission create`, before writing `spec.md`, and before committing
anything, you **MUST** have one of these:

- A completed discovery interview with an acknowledged Intent Summary.
- A brief-intake summary and extracted requirement set explicitly confirmed by
  the user.
- An explicit user instruction to minimize or skip discovery; even then, record
  the minimal confirmed scenario and assumptions in the Intent Summary.

For non-trivial work, the confirmed Intent Summary must cover the primary actor,
trigger, desired outcome, one rule or invariant, and any canonical domain term

## 📍 WORKING DIRECTORY: Stay in the repository root checkout

**IMPORTANT**: Specify works in the repository root checkout. NO worktrees are created.

Worktrees are created later during `/spec-kitty.implement`, after task finalization 
computes execution lanes.

Notable technique: Pre-implementation discovery gate with explicit blocking condition (WAITING_FOR_DISCOVERY_INPUT) — no spec is created until the agent has confirmed understanding of intent.


Prompt 2: Spec Kitty Delta Philosophy (from spec-driven.md)

Source: spec-driven.md

Technique: Doctrinal manifesto that redefines what a spec IS — establishing the conceptual frame all agents operate within.

## The Spec Kitty Philosophy: Code as Source of Truth

**This is where Spec Kitty diverges from traditional spec-driven development.**

In Spec Kitty, **CODE IS THE SOURCE OF TRUTH** - it represents what exists NOW.
The specification is NOT a comprehensive digital twin of the codebase. Instead,
specifications are **CHANGE REQUESTS** that describe the DELTA between current 
reality and desired future state.

**For LLMs working with Spec Kitty:**
- **Always read the code** to understand current implementation
- The specification tells you WHAT TO CHANGE, not what currently exists
- Don't assume the spec documents the entire system
- Code truth > spec documentation

**Example:**

**Traditional approach:**

Specification: "The system has user authentication with email/password, session management, and password reset... [500 lines documenting entire auth system]"


**Spec Kitty approach:**

Specification: "Add OAuth2 social login (Google, GitHub) alongside existing email/password authentication. Keep current JWT session management unchanged."


Notable technique: Explicit comparative framing ("Traditional approach" vs. "Spec Kitty approach") that calibrates the LLM's interpretation of what a spec means in this context.


Prompt 3: REASONS Doctrine Block (in specify.md)

Source: src/specify_cli/missions/software-dev/command-templates/specify.md

Technique: Doctrine injection via conditional comment block — the template includes guidance that activates only when the charter selected SPDD/REASONS.

<!-- spdd:reasons-block:start -->
### REASONS Guidance — Specify

This project's charter selected the SPDD/REASONS doctrine pack. While capturing
the spec, populate or update these REASONS canvas sections:

- **Requirements** — problem statement, acceptance criteria, definition of done.
- **Entities** — domain concepts, relationships, canonical glossary terms.

Reference: `kitty-specs/<mission>/reasons-canvas.md` if present.
<!-- spdd:reasons-block:end -->

Notable technique: Template regions with start/end comment markers that can be conditionally included or excluded during template rendering.

09

Uniqueness

Spec Kitty — Uniqueness & Positioning

differs_from_seeds

Spec Kitty is philosophically closest to kiro in treating specs as forward-looking change requests rather than system documentation — both reject the idea that specs should mirror the full codebase state. However, Spec Kitty is CLI-native, open source, and targets 17 agents vs. Kiro's single IDE. Against spec-kit (the closest structural seed), Spec Kitty adds worktree isolation, a local Kanban dashboard, multi-agent orchestration via an orchestrator API, and a retrospective system that can mutate future workflow behavior. Unlike superpowers (Iron Law skill enforcement), Spec Kitty uses explicit command invocation rather than session-hook auto-activation. Unlike openspec, Spec Kitty's specs are intentionally delta-only: agents must read the codebase to understand current state, not rely on spec completeness. The retrospective-synthesizer-as-workflow-mutator is unique across all 11 seeds.

Positioning

Spec Kitty is the most operationally complete open-source spec-driven framework in this batch: CLI + dashboard + 17-agent support + worktree isolation + multi-agent orchestration + retrospective learning. It occupies the "professional team workflow" niche: designed for teams who need traceability, parallelism, and progressive improvement across missions.

Distinctive Opinions

  1. Code is the truth, spec is the delta — directly contradicts traditional SDD's "spec is the truth" assumption.
  2. Retrospective as workflow mutation — completed missions leave structured learnings that can be applied to modify future agent behavior. No other framework in this corpus has this.
  3. 17-agent deployment matrix — the most comprehensive multi-runtime support in this batch.

Observable Failure Modes

  1. Complexity: With 30+ contributors, 17-agent deployment, and a hosted SaaS track, the project is large and moving fast. RC (release candidate) versioning (3.2.0rc25) suggests instability.
  2. No TDD enforcement: Unlike superpowers, Spec Kitty has no mandatory failing-test-first gate.
  3. Discovery interview can be skipped: The WAITING_FOR_DISCOVERY_INPUT guard requires the AI to enforce it — there's no CLI-level block.
  4. Hosted SaaS coupling: Pre-launch hosted features (SPEC_KITTY_ENABLE_SAAS_SYNC=1) suggest future monetization that may fragment the OSS/paid surface.

Explicit Antipatterns

Not documented. The framework is prescriptive about process (discovery first, delta specs) but doesn't enumerate banned behaviors.

Cross-References

Explicitly cites GitHub Spec Kit as inspiration and diverges from it philosophically. Delta spec philosophy echoes Kiro's spec format pattern.

04

Workflow

Spec Kitty — Workflow

Phases

Phase Command Artifact
1. Charter /spec-kitty.charter Charter document + doctrine pack selection
2. Specify /spec-kitty.specify kitty-specs/<slug>/spec.md (delta spec)
3. Plan /spec-kitty.plan kitty-specs/<slug>/plan.md
4. Tasks /spec-kitty.tasks kitty-specs/<slug>/tasks.md with lane assignments
5. Implement /spec-kitty.implement Work packages in .worktrees/<slug>/
6. Review /spec-kitty.review Review report
7. Accept /spec-kitty.accept Acceptance confirmation
8. Merge /spec-kitty.merge --push Merged branches
9. Retrospective auto-generated kitty-specs/<slug>/retrospective.yaml

Lane System

Work packages cycle through lanes: planned → in_progress → for_review → done

The spec-kitty next --agent <agent> --mission <slug> CLI command tells an agent what to do next based on current lane state.

Approval Gates

Gate Type
Discovery interview: Intent Summary confirmation freetext-clarify
Plan review before task creation file-review
Review acceptance before merge yes-no
Retrospective proposal application (--apply flag) typed-confirm

Mandated: WAITING_FOR_DISCOVERY_INPUT blocks /spec-kitty.specify until all discovery questions answered.

Spec Format

Markdown (delta-style). Specs describe what changes, not what currently exists. Stored in kitty-specs/<slug>/spec.md.

TDD

Not explicitly enforced in the command templates seen; the framework is test-aware but TDD is not an Iron Law like in superpowers.

Execution Mode

Interactive loop with autonomous orchestrator option. The spec-kitty next command drives the autonomous multi-agent loop; otherwise user invokes commands manually.

06

Memory Context

Spec Kitty — Memory & Context

State Storage

File-based, stored in kitty-specs/ within the project repository:

File Purpose
kitty-specs/<slug>/spec.md Delta specification (change request)
kitty-specs/<slug>/plan.md Implementation plan
kitty-specs/<slug>/tasks.md Task list with lane assignments
kitty-specs/<slug>/retrospective.yaml Auto-generated post-mission retrospective
kitty-specs/<slug>/reasons-canvas.md REASONS doctrine canvas (optional)
.kittify/config.yaml Project configuration (retrospective settings, agent keys)
.kittify/command-skills-manifest.json Agent skill registry

Memory Type

File-based. No database, no vector store.

Persistence Scope

Project-level. All state is committed to the repository. Mission artifacts are Git-tracked, so the full history is available via git log.

Cross-Session Handoff

Strong handoff via committed files. When an agent resumes, it reads:

  1. kitty-specs/<slug>/tasks.md — current lane state
  2. kitty-specs/<slug>/spec.md — what was intended
  3. Codebase — what currently exists (code is the truth)

The spec-kitty next --agent <agent> --mission <slug> CLI command computes the next recommended action based on current state, enabling autonomous resumption.

Context Compaction

Not explicitly handled. Mission files are kept separate per slug, so compaction risk is low. Long-running missions accumulate history in tasks.md lane transitions.

Retrospective System

After mission close, retrospective.yaml is auto-generated. It can contain:

  • Learnings from the mission
  • Proposals for workflow adjustments

spec-kitty retrospect summary provides a cross-mission view.
spec-kitty agent retrospect synthesize --mission <slug> applies staged proposals (dry-run by default; --apply to mutate).

This is a unique "self-improving workflow" feature: missions leave behind structured learnings that can modify future workflow behavior.

Search Mechanism

None built-in. Agents read files by path; no full-text or vector search.

07

Orchestration

Spec Kitty — Orchestration

Multi-Agent

Yes. Spec Kitty supports multi-agent orchestration via an explicit Orchestrator API (src/specify_cli/orchestrator_api/). Work packages are distributed to parallel agents in isolated git worktrees.

Orchestration Pattern

Parallel fan-out with sequential lane progression. The orchestrator assigns work packages to parallel agents; each agent runs in its own worktree. Lane transitions (planned → in_progress → for_review → done) are coordinated centrally.

Isolation Mechanism

Git worktrees. Each work package gets an isolated worktree under .worktrees/<work-package-slug>/. The main checkout stays clean during implementation.

Max Concurrent Agents

Unknown (depends on number of work packages). Architectural support for many-parallel confirmed.

Multi-Model

No explicit multi-model routing. Same model across all agent roles. Agent type (--agent claude, --agent codex) determines tool surface, not model.

Execution Mode

Interactive loop with optional autonomous orchestrator. Manual: user invokes each command. Autonomous: spec-kitty next --agent <agent> --mission <slug> drives the cycle until done.

Consensus Mechanism

None formal. Review/accept steps are human-in-the-loop approval gates.

Prompt Chaining

Yes. Spec → Plan → Tasks → Implement is a sequential prompt chain where each step's output is the next step's input.

Auto-Validators

Not explicitly enumerated. spec-kitty verify-setup validates installation. No auto-running test/lint hooks found in the command templates.

Hooks

None via Claude Code's settings.json. Coordination is pull-based via spec-kitty next rather than push-based hooks.

Git Automation

The /spec-kitty.merge --push command automates branch merging and pushing. The framework creates branches per work package automatically at implement time.

Crash Recovery

Partial. Lane state in tasks.md provides resumption point. spec-kitty next can re-determine the current position. No explicit crash handler.

Audit Log

Git history serves as the audit log — all artifacts are committed to the repository.

08

Ui Cli Surface

Spec Kitty — UI & CLI Surface

Dedicated CLI Binary

Exists: Yes
Name: spec-kitty
Is thin wrapper: No — full Python CLI with its own runtime, state management, and orchestration
Install: pipx install spec-kitty-cli

CLI Subcommands

Subcommand Purpose
spec-kitty init . --ai <agent> Initialize project
spec-kitty dashboard Open local Kanban mission dashboard
spec-kitty next --agent <agent> --mission <slug> Determine next agent action
spec-kitty verify-setup Validate installation
spec-kitty upgrade Upgrade existing project
spec-kitty retrospect summary Cross-mission retrospective
spec-kitty agent retrospect synthesize --mission <slug> Apply retrospective proposals

Local UI — Kanban Dashboard

Exists: Yes
Type: Local web dashboard (or TUI — exact implementation unknown, likely terminal-based given Python stack)
Command: spec-kitty dashboard
Features: Mission dashboard streaming lane transitions, active/idle work package visualization, agent coordination monitoring

From README:

"The built-in task dashboard streams lane transitions from every feature worktree, giving product owners, reviewers, and AI assistants a single source of truth for progress."

The dashboard is also accessible via VS Code-like extension described as "Hosted Sync Workspaces" (opt-in, pre-launch SaaS feature). For local use, spec-kitty dashboard is CLI-launched.

IDE Integration

Commands deployed to 13 IDE/agent directories. No VS Code extension for the local OSS version (a hosted SaaS extension is behind SPEC_KITTY_ENABLE_SAAS_SYNC=1 flag).

Observability

  • Lane transitions tracked in tasks.md
  • Dashboard provides real-time view
  • Git history serves as audit trail
  • Retrospective YAML provides structured mission insights

Related frameworks

same archetype · same primary tool · same memory type

claude-mem (thedotmack) ★ 78k

Background worker service captures every tool call as an observation, AI-compresses sessions, and auto-injects relevant past…

pi (badlogic/earendil) ★ 55k

A minimal, hackable, multi-provider terminal coding agent that adapts to your workflows via npm-installable TypeScript Extensions…

Agent Skills (Addy Osmani) ★ 46k

Encodes senior-engineer software development lifecycle as 23 auto-routed skills and 7 slash commands for any AI coding agent.

wshobson/agents Plugin Marketplace ★ 36k

Single Markdown source for 83 domain-specialized plugins that auto-generates idiomatic artifacts for five AI coding harnesses.

TabbyML/Tabby ★ 34k

Self-hosted AI coding assistant server (alternative to GitHub Copilot) with admin dashboard, RAG-based completions, and multi-IDE…

Compound Engineering ★ 17k

Make each unit of engineering work compound into easier future work via brainstorm→plan→execute→review→learn cycles.