Plan-first development methodology that creates detailed specifications before coding. Creates structured plans with phases, file-level details, and verification steps. Includes automatic AI review, modification application, and validation.
/plugin marketplace add tylerburleigh/claude-foundry/plugin install foundry@claude-foundryThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/ai-review.mdreferences/codebase-analysis.mdreferences/investigation.mdreferences/json-spec.mdreferences/modification-operations.mdreferences/modification-workflow.mdreferences/phase-authoring.mdreferences/phase-plan-template.mdreferences/plan-review-consensus.mdreferences/plan-review-dimensions.mdreferences/plan-review-workflow.mdreferences/task-hierarchy.mdreferences/troubleshooting.mdreferences/validation-fixes.mdreferences/validation-issues.mdreferences/validation-workflow.mdSkill(foundry:sdd-plan) creates detailed JSON specifications before any code is written. It analyzes the codebase, designs a phased implementation approach, produces structured task hierarchies, and runs automatic quality checks including AI review.
Core capabilities:
This skill combines planning, review, modification, and validation into a unified flow:
┌─────────────────────────────────────────────────────────────────────────────┐
│ 1. Analyze 2. Create Spec 3. AI Review 4. Apply 5. Validate │
│ ─────────── ──────────── ─────────── ────────── ────────── │
│ Explore/LSP → spec-create → spec-review → apply-plan → validate-fix │
│ (understand) (scaffold) (auto) (if needed) (auto-fix) │
└─────────────────────────────────────────────────────────────────────────────┘
[x?]=decision ·(GATE)=user approval ·→=sequence ·↻=loop
- **Entry** → UnderstandIntent → Analyze[Explore|LSP]
- `authoring action="spec-create"` → scaffold spec
- `authoring action="phase-add-bulk"` ↻ per phase
- `authoring action="spec-update-frontmatter"` → mission/metadata
- **Review** → `review action="spec-review"` (automatic)
- [findings?] → `review action="parse-feedback"`
- (GATE: approve modifications) → `spec action="apply-plan"`
- **Validate** → `spec action="validate"` ↻ [errors?] → `spec action="fix"`
- **Exit** → specs/pending/{spec-id}.json
Use for:
Do NOT use for:
sdd-implement)| Router | Key Actions |
|---|---|
authoring | spec-create, spec-update-frontmatter, phase-add-bulk, phase-template, phase-move, phase-update-metadata, assumption-add, assumption-list |
spec | validate, fix, apply-plan, completeness-check, duplicate-detection, stats, analyze-deps |
review | spec-review, parse-feedback, list-tools |
task | add, remove, move, update-metadata |
Critical Rule: NEVER read spec JSON files directly with Read() or shell commands.
Before creating any plan:
metadata.missionUse Explore subagents for large codebases (prevents context bloat), or Glob/Grep/Read for targeted lookups.
LSP-Enhanced Analysis for refactoring:
documentSymbol - Understand file structurefindReferences - Assess impact (count affected files)goToDefinition - Navigate to implementationsSee
references/codebase-analysis.mdfor detailed patterns.
For complex features, create a markdown phase plan first:
mcp__plugin_foundry_foundry-mcp__plan action="create" name="Feature Name" template="detailed"
Get user approval before detailed spec creation.
See
references/phase-authoring.mdfor templates and bulk macros.
mcp__plugin_foundry_foundry-mcp__authoring action="spec-create" name="feature-name" template="empty"
Add phases with tasks:
mcp__plugin_foundry_foundry-mcp__authoring action="phase-add-bulk" spec_id="{spec-id}" phase='{"title": "Implementation", "description": "Core work"}' tasks='[{"type": "task", "title": "Build core logic", "task_category": "implementation", "file_path": "src/core.py", "acceptance_criteria": ["Workflow works"]}]'
Update metadata:
mcp__plugin_foundry_foundry-mcp__authoring action="spec-update-frontmatter" spec_id="{spec-id}" key="mission" value="Single-sentence objective"
Add assumptions:
mcp__plugin_foundry_foundry-mcp__authoring action="assumption-add" spec_id="{spec-id}" text="Single GCP project for staging and production"
mcp__plugin_foundry_foundry-mcp__authoring action="assumption-add" spec_id="{spec-id}" text="Shared Redis with key prefix isolation" assumption_type="constraint"
List assumptions:
mcp__plugin_foundry_foundry-mcp__authoring action="assumption-list" spec_id="{spec-id}"
See
references/json-spec.mdandreferences/task-hierarchy.mdfor structure details.
After spec creation, AI review runs automatically:
mcp__plugin_foundry_foundry-mcp__review action="spec-review" spec_id="{spec-id}" review_type="full"
Review types:
| Type | Models | Focus | Use When |
|---|---|---|---|
quick | 2 | Completeness, Clarity | Simple specs |
full | 3-4 | All 6 dimensions | Complex specs |
security | 2-3 | Risk Management | Auth, data handling |
feasibility | 2-3 | Estimates, Dependencies | Tight deadlines |
See
references/plan-review-workflow.mdfor detailed review workflow. Seereferences/plan-review-dimensions.mdfor review dimensions. Seereferences/plan-review-consensus.mdfor interpreting results.
If review finds issues, parse and apply feedback:
# Parse review feedback into modifications
mcp__plugin_foundry_foundry-mcp__review action="parse-feedback" spec_id="{spec-id}" review_path="path/to/review.md"
# Preview changes (always preview first!)
mcp__plugin_foundry_foundry-mcp__spec action="apply-plan" spec_id="{spec-id}" modifications_file="suggestions.json" dry_run=true
# Apply changes (backup created automatically)
mcp__plugin_foundry_foundry-mcp__spec action="apply-plan" spec_id="{spec-id}" modifications_file="suggestions.json"
See
references/modification-workflow.mdfor detailed workflow. Seereferences/modification-operations.mdfor operation formats.
Validate and auto-fix the specification:
# Validate
mcp__plugin_foundry_foundry-mcp__spec action="validate" spec_id="{spec-id}"
# Auto-fix common issues
mcp__plugin_foundry_foundry-mcp__spec action="fix" spec_id="{spec-id}"
# Re-validate until clean
mcp__plugin_foundry_foundry-mcp__spec action="validate" spec_id="{spec-id}"
Exit codes:
See
references/validation-workflow.mdfor detailed workflow. Seereferences/validation-fixes.mdfor fix patterns. Seereferences/validation-issues.mdfor issue types.
Use this approach for efficient spec creation:
Step 1: Create spec from template
mcp__plugin_foundry_foundry-mcp__authoring action="spec-create" name="my-feature" template="empty"
Step 2: Add phases with bulk macro
mcp__plugin_foundry_foundry-mcp__authoring action="phase-add-bulk" spec_id="{spec-id}" phase='{"title": "Phase 1"}' tasks='[...]'
Step 3: Fine-tune tasks Use modification operations to adjust individual tasks.
Step 4: Update frontmatter
mcp__plugin_foundry_foundry-mcp__authoring action="spec-update-frontmatter" spec_id="{spec-id}" key="mission" value="..."
For implementation or refactoring tasks, set metadata.file_path to a real repo-relative path. Do not guess or use placeholders. If unclear, use task_category: "investigation" first.
| Template | Use Case | Required Fields |
|---|---|---|
simple | Small tasks | Basic fields only |
medium | Standard features | mission, description, acceptance_criteria, task_category |
complex | Large features | All medium + detailed metadata |
security | Security-sensitive | All complex + security review |
| Category | Requires file_path |
|---|---|
investigation | No |
implementation | Yes |
refactoring | Yes |
decision | No |
research | No |
| Node Type | type Value | Key Fields |
|---|---|---|
| Task | "task" | task_category, file_path |
| Research | "research" | research_type, blocking_mode, query |
| Verification | "verify" | verification_type |
See
references/task-hierarchy.mdfor research node patterns and blocking modes.
| Type | Purpose |
|---|---|
run-tests | Execute test suite |
fidelity | Compare implementation to spec |
manual | Manual testing checklist |
| Status | Description |
|---|---|
pending | Not yet started |
in_progress | Currently being worked on |
completed | Finished successfully |
blocked | Cannot proceed |
If >6 phases or >50 tasks, recommend splitting into multiple specs.
specs/pending/{spec-id}.jsonspecs/.plan-reviews/{spec-id}-review-{type}.mdPlanning:
references/investigation.mdreferences/phase-authoring.mdreferences/phase-plan-template.mdreferences/json-spec.mdreferences/task-hierarchy.mdreferences/codebase-analysis.mdReview:
references/plan-review-workflow.mdreferences/plan-review-dimensions.mdreferences/plan-review-consensus.mdModification:
references/modification-workflow.mdreferences/modification-operations.mdValidation:
references/validation-workflow.mdreferences/validation-fixes.mdreferences/validation-issues.mdGeneral:
references/ai-review.mdreferences/troubleshooting.mdThis 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 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 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.