Skip to content

Commit 9580a30

Browse files
committed
docs: clarify SDS workflow - distinguish core vs optional commands
Aligned with GitHub spec-kit pattern (specify→plan→tasks→implement): Changes: 1. AGENTS.md - Added two SDS workflow paths: - Path 1: Simple (2 core + 2 recommended) - for single specification - Path 2: Complex (5 core + 2 recommended) - for splitting needed - Clearly marked optional commands (clarify) 2. README.md - Updated command listings: - Added workflow annotations (Simple/Complex paths) - Marked required/recommended/optional commands - Added ⭐ markers for complex-path-only commands (plan/tasks/implement) 3. .metaspec/README.md.j2 template: - Added Simple Path and Complex Path examples - Clear progression from simple to complex Key improvements: - ✅ Distinguishes core flow vs quality assurance vs on-demand - ✅ Shows when to use plan/tasks/implement (complex specs only) - ✅ Aligns with spec-kit best practices - ✅ Reduces confusion about "must use all 8 commands" Reference: https://github.com/github/spec-kit (specify→plan→tasks→implement)
1 parent a5952c6 commit 9580a30

File tree

3 files changed

+119
-36
lines changed

3 files changed

+119
-36
lines changed

AGENTS.md

Lines changed: 60 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -546,16 +546,44 @@ examples/
546546

547547
#### MetaSpec Workflow for SDS + SDD
548548

549+
**SDS has two workflow paths** (like [GitHub spec-kit](https://github.com/github/spec-kit)):
550+
551+
**Path 1: Simple Specification** (Recommended starting point)
552+
- Use when: Single specification document, no need to split
553+
549554
```bash
550-
# Phase 1: Domain Specification (SDS)
551-
/metaspec.sds.constitution # Define specification design principles
552-
/metaspec.sds.specify # Create specs/domain/001-{domain}-specification/spec.md
553-
/metaspec.sds.clarify # Resolve specification ambiguities
554-
/metaspec.sds.plan # Plan specification architecture (if complex)
555-
/metaspec.sds.tasks # Break down specification work
556-
/metaspec.sds.implement # Write specification documents
557-
/metaspec.sds.checklist # Generate quality checklist for specification
558-
/metaspec.sds.analyze # Check specification consistency
555+
# Core Flow (Required)
556+
/metaspec.sds.constitution # 1. Define specification design principles
557+
/metaspec.sds.specify # 2. Create specs/domain/001-{domain}-specification/spec.md
558+
559+
# Quality Assurance (Recommended)
560+
/metaspec.sds.checklist # 3. Generate quality checklist
561+
/metaspec.sds.analyze # 4. Check specification consistency
562+
563+
# On-Demand Optimization (Optional)
564+
/metaspec.sds.clarify # Resolve ambiguities (if issues found)
565+
```
566+
567+
**Path 2: Complex Specification** (Needs splitting)
568+
- Use when: Large specification requiring multiple sub-specifications
569+
570+
```bash
571+
# Core Flow (Required)
572+
/metaspec.sds.constitution # 1. Define specification design principles
573+
/metaspec.sds.specify # 2. Create root specification
574+
/metaspec.sds.plan # 3. Plan sub-specification architecture ⭐
575+
/metaspec.sds.tasks # 4. Break down specification tasks ⭐
576+
/metaspec.sds.implement # 5. Implement sub-specifications ⭐
577+
578+
# Quality Assurance (Recommended)
579+
/metaspec.sds.checklist # 6. Generate quality checklist
580+
/metaspec.sds.analyze # 7. Check specification consistency
581+
582+
# On-Demand Optimization (Optional)
583+
/metaspec.sds.clarify # Resolve ambiguities (any stage)
584+
```
585+
586+
📌 **How to choose**: Start with Path 1. If `/metaspec.sds.specify` output shows complexity, run `/metaspec.sds.plan` to decide if splitting is needed. If yes, switch to Path 2.
559587

560588
# Phase 2: Toolkit Specification (SDD)
561589
/metaspec.sdd.constitution # Define toolkit principles
@@ -605,21 +633,39 @@ examples/
605633
606634
### Practical Examples
607635
608-
**Example 1: Starting a new speckit**
636+
**Example 1: Starting a new speckit (Simple Specification)**
609637
```bash
610638
cd my-speckit
611-
# Phase 1: Define specification
639+
# Phase 1: Define specification (Simple Path)
612640
/metaspec.sds.constitution # Define specification design principles
613-
/metaspec.sds.specify "Define domain specification" # Specification entities
614-
/metaspec.sds.checklist # Generate quality checklist
615-
/metaspec.sds.analyze # Check specification consistency
641+
/metaspec.sds.specify "Define domain specification" # Create specification
642+
/metaspec.sds.checklist # Quality check (recommended)
643+
/metaspec.sds.analyze # Consistency check (recommended)
616644
617645
# Phase 2: Design toolkit
618646
/metaspec.sdd.constitution # Define toolkit principles
619647
/metaspec.sdd.specify "Define parser and validator" # Toolkit spec
620648
/metaspec.sdd.plan # Architecture design
621649
```
622650

651+
**Example 1b: Complex Specification (Needs Splitting)**
652+
```bash
653+
cd my-speckit
654+
# Phase 1: Define specification (Complex Path)
655+
/metaspec.sds.constitution # Define specification design principles
656+
/metaspec.sds.specify "Define MCP specification" # Create root specification
657+
/metaspec.sds.plan # Plan sub-specification architecture
658+
/metaspec.sds.tasks # Break down specification tasks
659+
/metaspec.sds.implement # Implement sub-specifications
660+
/metaspec.sds.checklist # Quality check (recommended)
661+
/metaspec.sds.analyze # Consistency check (recommended)
662+
663+
# Phase 2: Design toolkit (same as simple path)
664+
/metaspec.sdd.constitution
665+
/metaspec.sdd.specify "Define parser and validator"
666+
/metaspec.sdd.plan
667+
```
668+
623669
**Example 2: Iterating on specification**
624670
```bash
625671
# Make changes to specs/domain/001-*/spec.md

README.md

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -280,14 +280,19 @@ metaspec init my-spec-kit
280280
cd my-spec-kit
281281

282282
# SDS Commands (8) - Define domain specification
283-
# /metaspec.sds.constitution - Define specification design principles
284-
# /metaspec.sds.specify - Define specification entities and operations
285-
# /metaspec.sds.clarify - Resolve specification ambiguities
286-
# /metaspec.sds.plan - Plan specification architecture and sub-specifications
287-
# /metaspec.sds.tasks - Break down specification work
288-
# /metaspec.sds.implement - Write specification documents
289-
# /metaspec.sds.checklist - Generate quality checklist for specification
290-
# /metaspec.sds.analyze - Check specification consistency
283+
#
284+
# Core Flow (2-5 commands depending on complexity):
285+
# Simple: constitution → specify → [checklist] → [analyze]
286+
# Complex: constitution → specify → plan → tasks → implement → [checklist] → [analyze]
287+
#
288+
# /metaspec.sds.constitution - Define specification design principles (required)
289+
# /metaspec.sds.specify - Define specification entities and operations (required)
290+
# /metaspec.sds.plan - Plan specification architecture (if complex) ⭐
291+
# /metaspec.sds.tasks - Break down specification work (if complex) ⭐
292+
# /metaspec.sds.implement - Write specification documents (if complex) ⭐
293+
# /metaspec.sds.checklist - Generate quality checklist (recommended)
294+
# /metaspec.sds.analyze - Check specification consistency (recommended)
295+
# /metaspec.sds.clarify - Resolve specification ambiguities (optional, on-demand)
291296

292297
# SDD Commands (8) - Develop spec-driven toolkit
293298
# /metaspec.sdd.constitution - Define toolkit principles
@@ -372,25 +377,40 @@ cd my-spec-kit
372377
pip install -e .
373378

374379
# Step 4: Use built-in MetaSpec commands for AI-assisted development
380+
#
375381
# Phase 1: Define domain specification (SDS - 8 commands)
382+
# Simple Path: constitution → specify → [checklist] → [analyze]
383+
# Complex Path: constitution → specify → plan → tasks → implement → [checklist] → [analyze]
384+
#
385+
# Core (required):
376386
# /metaspec.sds.constitution - Define specification design principles
377387
# /metaspec.sds.specify - Define specification entities
378-
# /metaspec.sds.clarify - Resolve specification ambiguities
379-
# /metaspec.sds.plan - Plan specification architecture
380-
# /metaspec.sds.tasks - Break down specification work
381-
# /metaspec.sds.implement - Write specification documents
388+
#
389+
# If complex (splitting needed):
390+
# /metaspec.sds.plan - Plan specification architecture ⭐
391+
# /metaspec.sds.tasks - Break down specification work ⭐
392+
# /metaspec.sds.implement - Write specification documents ⭐
393+
#
394+
# Quality (recommended):
382395
# /metaspec.sds.checklist - Generate quality checklist
383396
# /metaspec.sds.analyze - Check specification consistency
397+
#
398+
# On-demand (optional):
399+
# /metaspec.sds.clarify - Resolve specification ambiguities
384400

385401
# Phase 2: Develop toolkit (SDD - 8 commands)
402+
# Core: constitution → specify → plan → tasks → implement
403+
# Quality: checklist → analyze
404+
# On-demand: clarify
405+
#
386406
# /metaspec.sdd.constitution - Define toolkit principles
387407
# /metaspec.sdd.specify - Define toolkit specifications
388-
# /metaspec.sdd.clarify - Resolve toolkit ambiguities
389408
# /metaspec.sdd.plan - Plan implementation architecture
390409
# /metaspec.sdd.tasks - Break down implementation work
391410
# /metaspec.sdd.implement - Build your speckit
392-
# /metaspec.sdd.checklist - Validate quality
393-
# /metaspec.sdd.analyze - Check consistency
411+
# /metaspec.sdd.checklist - Validate quality (recommended)
412+
# /metaspec.sdd.analyze - Check consistency (recommended)
413+
# /metaspec.sdd.clarify - Resolve toolkit ambiguities (optional)
394414

395415
# Step 5: Share with community
396416
metaspec contribute my-spec-kit

src/metaspec/templates/base/.metaspec/README.md.j2

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,35 @@ Manage specification changes:
6666

6767
### Phase 1: Define Specification (SDS)
6868

69+
**Simple Path** (Recommended starting point):
70+
6971
```bash
70-
# Step 1: Define specification principles
71-
/metaspec.sds.constitution
72+
# Core Flow
73+
/metaspec.sds.constitution # 1. Define specification principles
74+
/metaspec.sds.specify # 2. Define specification entities
75+
76+
# Quality Assurance (Recommended)
77+
/metaspec.sds.checklist # 3. Generate quality checklist
78+
/metaspec.sds.analyze # 4. Check consistency
79+
```
7280

73-
# Step 2: Define specification entities
74-
/metaspec.sds.specify
81+
**Complex Path** (If splitting needed):
7582

76-
# Step 3: Validate specification quality
77-
/metaspec.sds.checklist
78-
/metaspec.sds.analyze
83+
```bash
84+
# Core Flow
85+
/metaspec.sds.constitution # 1. Define specification principles
86+
/metaspec.sds.specify # 2. Define root specification
87+
/metaspec.sds.plan # 3. Plan sub-specification architecture
88+
/metaspec.sds.tasks # 4. Break down specification tasks
89+
/metaspec.sds.implement # 5. Implement sub-specifications
90+
91+
# Quality Assurance (Recommended)
92+
/metaspec.sds.checklist # 6. Generate quality checklist
93+
/metaspec.sds.analyze # 7. Check consistency
7994
```
8095

96+
**On-Demand**: Use `/metaspec.sds.clarify` to resolve ambiguities at any stage.
97+
8198
**Output**: `specs/domain/001-{domain}-spec/spec.md`
8299

83100
### Phase 2: Design Toolkit (SDD)

0 commit comments

Comments
 (0)