Skip to content
/

Spec-Driven Agentic Development

spec-driven-agentic-development · marcelsud/spec-driven-agentic-development · ★ 172 · last commit 2025-12-03

Generates EARS-formatted specs via parallel codebase exploration agents before any implementation begins, ensuring specs reflect actual code patterns.

Best whenSpec quality must scale with codebase complexity — automatically dispatch 1-3 Explore agents before writing a single requirement.
vs seeds
openspec(command-per-phase, one artifact per phase), but uniquely adds complexity-triage-gated parallel Explore agent spawning b…
Primitive shape 11 total
Commands 8 Subagents 3
00

Summary

Spec-Driven Agentic Development — Summary

Spec-Driven Agentic Development by marcelsud is a minimal Claude Code command pack (5 slash commands) that installs via npx degit into any project's .claude/ directory. Its defining characteristic is the use of EARS (Easy Approach to Requirements Syntax) formatted requirements as the spec standard and a TDD-first task structure. The spec/create command spawns multiple parallel Task agents (Explore agents for codebase analysis, Plan agents for strategy) before generating the three canonical artifacts: context.md, requirements.md, and tasks.md — all stored under features/<feature-name>/. It is the most direct derivative of the kiro requirements/design/tasks pattern in this batch, but implemented purely as Claude Code slash commands with no CLI binary, no hooks, no MCP server. With 172 stars and 1 contributor, it is a focused personal tool made public. Compared to seeds, it is closest to openspec in its 1:1 command-to-workflow-phase mapping but uses EARS format (borrowed from kiro) rather than open-ended requirements.

01

Overview

Spec-Driven Agentic Development — Overview

Origin

Created by Marcelo Santos (@marcelsud, LinkedIn: marcelsud). Published as a GitHub repository for community use. No npm/pip package — installed via npx degit. 172 stars, 1 contributor, last active December 2025.

Philosophy

A structured methodology for building software features through specifications, optimized for AI-powered development tools. The core workflow is:

/spec:create [feature]  →  context.md + requirements.md + tasks.md
/spec:execute [feature] →  Implementation

The framework's design choices:

  1. EARS-formatted requirements — uses Easy Approach to Requirements Syntax for unambiguous requirement statements
  2. TDD task breakdown — tasks.md enforces test-driven development steps
  3. Multi-agent exploration — spec creation uses parallel Task agents to explore codebase before generating specs
  4. Minimal footprint — 5 commands, installs into .claude/commands/spec/

EARS Format

Requirements use EARS notation (same as kiro). EARS provides structured, unambiguous requirement templates:

  • "When [condition], the system shall [behavior]"
  • "While [condition], the system shall [behavior]"
  • "The [feature] shall [behavior]"

This prevents vague requirements that are ambiguous to implement.

No Manifesto

The README is minimal — no philosophical positioning, no competitive comparisons. Pure implementation.

02

Architecture

Spec-Driven Agentic Development — Architecture

Distribution

  • Type: Claude Code command pack (standalone-repo)
  • Install: npx degit marcelsud/spec-driven-agentic-development/.claude .claude
  • Language: Markdown (command files only)
  • Version analyzed: latest main (December 2025)

Installation

cd /path/to/your/project
npx degit marcelsud/spec-driven-agentic-development/.claude .claude

This copies the .claude/ directory (CLAUDE.md + commands/spec/) into the project. No package manager, no binary.

Directory Tree (post-install)

your-project/
├── .claude/
│   ├── CLAUDE.md               # Methodology reference
│   └── commands/spec/
│       ├── create.md           # Feature spec creation
│       ├── execute.md          # Implementation execution
│       ├── list.md             # List features
│       ├── status.md           # Show implementation status
│       ├── help.md             # Command help
│       ├── diagram.md          # Generate diagrams
│       ├── next.md             # Next action
│       └── review.md           # Review feature
└── features/
    └── [feature-name]/
        ├── context.md          # Context + technical decisions
        ├── requirements.md     # EARS-formatted requirements
        ├── exploration.md      # Codebase exploration findings
        └── tasks.md            # TDD task breakdown

Required Runtime

  • None (beyond having Claude Code installed)
  • No Python, Node.js, or other runtime required
  • Git (optional, for the project itself)

Target AI Tools

Claude Code exclusively. The degit install copies Claude Code slash commands.

03

Components

Spec-Driven Agentic Development — Components

Commands (8 slash commands)

Command Purpose
/spec:create [feature] Generate complete specification with multi-agent exploration
/spec:execute [feature] Execute implementation from tasks
/spec:list List all features
/spec:status Show implementation status
/spec:help Command help
/spec:diagram Generate architecture diagrams
/spec:next Determine next action
/spec:review Review feature spec/implementation

Skills

None.

Subagents

Yes — the /spec:create command spawns parallel Task agents:

  • Explore agents (1-3, based on complexity): Analyze codebase patterns, find similar features, analyze tech stack
  • Plan agents: Generate implementation approaches and strategies

Spawned via Claude Code's Task tool with subagent_type: "Explore". This is the framework's most distinctive engineering choice.

Hooks

None. No .claude/settings.json.

MCP Servers

None.

Scripts

None.

Templates

3 artifact templates per feature (generated by the commands):

  • context.md — context and technical decisions
  • requirements.md — EARS-formatted requirements
  • tasks.md — TDD task breakdown

State Files

  • features/<feature-name>/context.md
  • features/<feature-name>/requirements.md
  • features/<feature-name>/exploration.md
  • features/<feature-name>/tasks.md

CLAUDE.md

Includes a methodology reference document that loads the spec-driven workflow context into every Claude session.

05

Prompts

Spec-Driven Agentic Development — Prompts

Prompt 1: /spec:create — Multi-Agent Codebase Exploration

Source: .claude/commands/spec/create.md

Technique: Complexity-gated parallel agent spawning — the spec creation command first assesses complexity, then spawns 1-3 parallel Explore agents based on the assessment, before generating artifacts.

---
description: Generate context, requirements, and tasks for a feature in a single unified flow.
allowed-tools: Read(*), Write(*), Edit(*), MultiEdit(*), Glob(*), Grep(*), Bash(*), 
               TodoWrite, AskUserQuestion, Task
---

# Unified Feature Specification (Enhanced)

Generate complete feature specification with deep codebase exploration using Task agents.

## Phase 0: Triage

Quickly assess feature complexity to determine how many Explore agents to spawn.

**Complexity Matrix:**

| Indicator | Low | Medium | High |
|-----------|-----|--------|------|
| Description keywords | Simple CRUD, basic | Auth, API, data | Integration, realtime, complex |
| Existing features | 0 | 1-3 | 4+ |
| Source files | < 20 | 20-100 | > 100 |

**Agent Count Decision:**
- **Low complexity**: 1 Explore agent (comprehensive)
- **Medium complexity**: 2 Explore agents (patterns + similar features)
- **High complexity**: 3 Explore agents (patterns, similar features, tech stack)

## Phase 1: Explore Agents

Use the `Task` tool with `subagent_type: "Explore"` to spawn codebase exploration agents. 
Run all applicable agents **in parallel**.

### Agent 1: Patterns & Conventions (Always spawn)
[Explores directory structure, naming conventions, code organization, error handling, config]

### Agent 2: Similar Features (Medium/High complexity)
[Finds overlapping functionality, structure patterns, shared utilities]

### Agent 3: Tech Stack & Dependencies (High complexity only)
[Analyzes tech stack, relevant dependencies, integration points]

Notable technique: Complexity-triage-gated parallel agent spawning — the number of Explore agents scales dynamically with perceived task complexity. This is the most sophisticated exploration pattern in this batch.


Prompt 2: EARS Requirements Format

Source: .claude/commands/spec/create.md (requirements generation phase)

Technique: Structured format enforcement for requirement statements, preventing ambiguity.

From the README-described output format:

# Requirements

## Functional Requirements

### Authentication
- When the user submits valid credentials, the system shall authenticate and 
  return a JWT token.
- When the user submits invalid credentials, the system shall return a 401 
  error with a descriptive message.
- While a user session is active, the system shall validate the JWT on each 
  protected endpoint call.

EARS (Easy Approach to Requirements Syntax) templates used:

  • "When [condition], the system shall [behavior]"
  • "While [condition], the system shall [behavior]"
  • "The [feature] shall [behavior]"
09

Uniqueness

Spec-Driven Agentic Development — Uniqueness & Positioning

differs_from_seeds

Closest to openspec in structure (command-per-phase, each command produces one artifact) but uses EARS format borrowed from kiro rather than open-ended requirements. The key differentiator from all seeds and all other frameworks in this batch is the complexity-triage-gated parallel Explore agent spawning: before generating any spec artifact, the framework assesses complexity and dispatches 1-3 parallel Task subagents to explore the codebase, producing an exploration.md that grounds the spec in real code patterns. No seed framework does this — superpowers' subagent dispatch is for implementation, not spec generation. This makes spec-driven-agentic-development the only framework where spec quality directly scales with codebase complexity assessment.

Positioning

Minimal Claude Code command pack for developers who want spec-driven development without installing a Python CLI or npm package. The degit install pattern is zero-friction.

Distinctive Opinion

Spec quality requires codebase exploration first. The exploration phase is mandatory (not optional) and automatically scales (1-3 agents based on complexity). This prevents specs from being written in isolation from the actual codebase they'll modify.

Observable Failure Modes

  1. Claude Code only: No multi-runtime support.
  2. No hooks: Nothing enforces the workflow sequence — agents can skip phases.
  3. No task state tracking: tasks.md has no progress tracking (unlike specs-workflow-mcp's .workflow-confirmations.json).
  4. 1 contributor: Maintenance risk.

Explicit Antipatterns

None documented.

Cross-References

EARS format borrowed from kiro. Requirements/design/tasks artifact structure also matches kiro pattern.

04

Workflow

Spec-Driven Agentic Development — Workflow

Phases

Phase Command Artifact
0. Triage Auto (within /spec:create) Complexity assessment
1. Explore Auto spawned Explore agents exploration.md
2. Question AI gathers context Session interaction
3. Plan Auto spawned Plan agents Planning strategies
4. Generate spec /spec:create completion context.md, requirements.md, tasks.md
5. Execute /spec:execute [feature] Source code

Phase-to-Artifact Map

Phase Artifact
Triage Complexity score (low/medium/high) → determines agent count
Exploration exploration.md with codebase patterns, similar features, tech stack
Spec creation features/<name>/context.md — context + technical decisions
Spec creation features/<name>/requirements.md — EARS-formatted requirements
Spec creation features/<name>/tasks.md — TDD task breakdown

Complexity-Based Agent Scaling

Complexity Explore Agents Signals
Low 1 Simple CRUD, basic keywords
Medium 2 Auth, API, data keywords
High 3 Integration, realtime, complex keywords

Agent count also scales with number of existing features (0 → 4+) and source file count (< 20 → > 100).

Approval Gates

None explicitly mandated. The spec:review command exists but is not a required gate. The workflow allows proceeding from spec to execution without formal approval.

Spec Format

Markdown. Requirements in EARS notation.

TDD Tasks

The tasks.md file uses TDD-structured tasks:

  1. Write a failing test
  2. Implement minimum code to pass
  3. Refactor

Execution Mode

One-shot per command. User invokes /spec:create, waits for multi-agent exploration to complete and spec to be generated, then invokes /spec:execute.

06

Memory Context

Spec-Driven Agentic Development — Memory & Context

State Storage

File-based under features/:

File Purpose
features/<name>/context.md Context + technical decisions
features/<name>/requirements.md EARS-formatted requirements
features/<name>/exploration.md Codebase exploration findings
features/<name>/tasks.md TDD task breakdown

Memory Type

File-based.

Persistence Scope

Project-level.

Cross-Session Handoff

The feature files serve as handoff documents. Agent resuming reads the artifacts. No special resumption protocol — just file reads.

CLAUDE.md Context Loading

The .claude/CLAUDE.md file loads methodology context at every session start, providing the framework's approach to all subsequent commands.

Compaction

Not applicable.

None.

07

Orchestration

Spec-Driven Agentic Development — Orchestration

Multi-Agent

Yes — the /spec:create command spawns parallel Explore agents and Plan agents using Claude Code's Task tool.

Orchestration Pattern

Parallel fan-out (exploration phase) followed by sequential synthesis. Explore agents run in parallel; their findings are synthesized into exploration.md, which then feeds into the spec generation.

Subagent Definition Format

Task-tool-spawn. Agents are spawned via the Task tool with subagent_type: "Explore".

Isolation Mechanism

None. All agents operate in the same repository context; no worktrees.

Multi-Model

No.

Execution Mode

One-shot per command invocation. The /spec:create command runs the full exploration + synthesis cycle to completion.

Consensus Mechanism

None. Explore agents return findings; main agent synthesizes. No voting or validation step.

Prompt Chaining

Yes. Exploration results → spec generation → task creation → execution.

Auto-Validators

None.

Hooks

None.

Git Automation

None.

Crash Recovery

No. Each command is independent; if interrupted, it must be rerun.

08

Ui Cli Surface

Spec-Driven Agentic Development — UI & CLI Surface

Dedicated CLI Binary

Exists: No

Local UI

Exists: No

IDE Integration

Claude Code slash commands only. No VS Code extension, no other AI tools.

Install Surface

npx degit marcelsud/spec-driven-agentic-development/.claude .claude — copies command files directly into the project.

Observability

None beyond the feature files themselves.

Related frameworks

same archetype · same primary tool · same memory type

Claude-Flow / Ruflo ★ 55k

Eliminates single-agent context limits and sequential bottlenecks by orchestrating fault-tolerant swarms of specialized AI agents…

Hermes Agent (NousResearch) ★ 168k

Self-improving personal AI agent with closed learning loop, 7 terminal backends, and messaging gateway — not tied to any AI…

OpenCode ★ 165k

Terminal-first AI coding agent with multi-model routing, native desktop app, and a typed .opencode/ configuration system for…

OpenHands ★ 75k

Open-source AI software development platform (open-source Devin alternative) with Docker sandbox isolation, 77.6% SWE-bench…

DeerFlow ★ 70k

Long-horizon superagent that researches, codes, and creates by orchestrating parallel sub-agents with isolated contexts in Docker…

oh-my-openagent (omo) ★ 60k

Multi-provider AI agent orchestration for OpenCode: escape vendor lock-in by routing Sisyphus (Claude/Kimi/GLM) and Hephaestus…