Specification-driven development workflow for AI agents. Use when tasks are too large for a single session, require multi-step implementation, span multiple files/features, or need persistent requirements tracking. Provides structured specification management with token-optimized artifacts for complex feature development, brownfield modifications, and cross-session continuity.
Manages complex multi-file development through structured specifications that persist across sessions. Triggers when tasks are too large for one session, require multi-step implementation, or need requirements tracking.
/plugin marketplace add ThilinaTLM/claude-plugin/plugin install spec-driven-dev@tlmtechThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/patterns.mdreferences/plan-template.mdreferences/spec-template.mdreferences/tasks-template.mdManage complex tasks through structured specifications that persist across sessions.
NEW SPEC: spec new {name} → edit spec.md → plan.md → tasks.yaml
RESUME: spec status → spec context {spec} --level min → implement
BLOCKED: AskUserQuestion (decisions) | Explore agent (context)
COMPLETE: spec status → spec archive {spec}
| Situation | Action |
|---|---|
| First time on spec | spec context {spec} --level full |
| Familiar, continuing | spec context {spec} --level min |
| Multiple specs active | spec status → pick one |
| Spec 100% complete | spec archive {spec} |
.specs/
├── project.md # Project conventions, stack
├── active/{spec}/ # Active specifications
│ ├── spec.md # Requirements (WHAT)
│ ├── plan.md # Technical approach (HOW)
│ ├── tasks.yaml # Task breakdown (WHEN)
│ └── checkpoint.md # Session progress (optional)
└── archived/{spec}/ # Completed specs
Create .specs/active/{spec}/spec.md:
Use AskUserQuestion to clarify ambiguities before writing.
Template: references/spec-template.md
Create .specs/active/{spec}/plan.md:
Task with subagent_type=Explore)Template: references/plan-template.md
Create .specs/active/{spec}/tasks.yaml:
Template: references/tasks-template.md
spec status # Overview
spec context {spec} --level min # Get current task
# Read files, implement, test
# Edit tasks.yaml → set done: true
Use Explore agent for broader context. Use AskUserQuestion when blocked.
spec status # Verify 100% / "ready to archive"
spec archive {spec} # Move to .specs/archived/
For modifications to existing behavior, create delta.md showing only changes:
## ADDED
### REQ-5: Two-Factor Auth
The system MUST require OTP on login.
## MODIFIED
### REQ-2: Session Duration (was: 24h)
The system SHALL expire sessions after 1h of inactivity.
## REMOVED
### REQ-3: Remember Me
Deprecated in favor of REQ-5.
| Command | Description |
|---|---|
spec init | Initialize .specs/ structure |
spec new {name} | Create new spec with templates |
spec status | All active specs with progress |
spec context {spec} | Task context (--level min|standard|full) |
spec archive {spec} | Move completed spec to archived/ |
spec validate {path} | Check spec completeness |
All commands output JSON. Use -q for minimal output.
| Level | Use When | Includes |
|---|---|---|
min | Familiar spec, tight context | Task ID, title, files |
standard | Default | + subtasks, progress, checkpoint |
full | First time, planning | + all phases, notes, dependencies |
.specs/active/ exists| Tool | When |
|---|---|
AskUserQuestion | Clarify requirements, get decisions |
Explore agent | Understand codebase, find patterns |
Plan agent | Design complex implementation approach |
Principle: Ask early, explore thoroughly. See references/patterns.md for best practices.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.