create-sdd-project 0.11.1 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -7
- package/lib/adapt-agents.js +4 -2
- package/package.json +1 -1
- package/template/.claude/agents/spec-creator.md +4 -2
- package/template/.claude/skills/development-workflow/SKILL.md +3 -2
- package/template/.gemini/agents/spec-creator.md +3 -2
- package/template/.gemini/skills/development-workflow/SKILL.md +3 -2
package/README.md
CHANGED
|
@@ -307,23 +307,25 @@ SDD DevFlow combines three proven practices:
|
|
|
307
307
|
|
|
308
308
|
| Command | What it does |
|
|
309
309
|
|---------|-------------|
|
|
310
|
-
| `/review-spec` |
|
|
311
|
-
| `/review-plan` |
|
|
310
|
+
| `/review-spec` | Cross-model spec review — runs automatically after self-review when external CLIs are available; catches requirement gaps, ambiguity, and architectural inconsistencies |
|
|
311
|
+
| `/review-plan` | Cross-model plan review — runs automatically after plan self-review when external CLIs are available; catches implementation blind spots |
|
|
312
312
|
| `/context-prompt` | Generates a context recovery prompt after `/compact` with Workflow Recovery to prevent checkpoint skipping |
|
|
313
313
|
| `/review-project` | Comprehensive project-level review using up to 3 AI models in parallel — 6 domains, audit context, consolidated report with action plan |
|
|
314
314
|
|
|
315
315
|
### Spec & Plan Quality
|
|
316
316
|
|
|
317
|
-
Every Standard/Complex feature spec goes through a **built-in self-review** (Step 0.4) where the agent critically re-reads its own spec checking for completeness, edge cases, API contract clarity, and architectural consistency.
|
|
317
|
+
Every Standard/Complex feature spec goes through a **built-in self-review** (Step 0.4) where the agent critically re-reads its own spec checking for completeness, edge cases, API contract clarity, and architectural consistency. Then `/review-spec` **automatically** sends the spec plus project context (`key_facts.md`, `decisions.md`) to external AI models for independent critique — catching requirement-level blind spots before any planning begins.
|
|
318
318
|
|
|
319
|
-
Every plan then goes through its own **built-in self-review** (Step 2.4) followed by
|
|
319
|
+
Every plan then goes through its own **built-in self-review** (Step 2.4) followed by **automatic** `/review-plan` for external critique — catching implementation-level blind spots that same-model review misses.
|
|
320
|
+
|
|
321
|
+
Cross-model reviews only trigger when at least one external CLI is available (Gemini CLI, Codex CLI). If no CLIs are detected, the step is skipped — the self-review is sufficient.
|
|
320
322
|
|
|
321
323
|
### Workflow (Steps 0–6)
|
|
322
324
|
|
|
323
325
|
```
|
|
324
|
-
0. SPEC → spec-creator drafts + self-review → Spec Approval
|
|
325
|
-
1. SETUP → Branch, ticket, product tracker
|
|
326
|
-
2. PLAN → Planner creates plan + self-review → Plan Approval
|
|
326
|
+
0. SPEC → spec-creator drafts + self-review + cross-model review → Spec Approval
|
|
327
|
+
1. SETUP → Branch, ticket, product tracker → Ticket Approval
|
|
328
|
+
2. PLAN → Planner creates plan + self-review + cross-model review → Plan Approval
|
|
327
329
|
3. IMPLEMENT → Developer agent, TDD
|
|
328
330
|
4. FINALIZE → Tests/lint/build, validator → Commit Approval
|
|
329
331
|
5. REVIEW → PR, code review, QA → Merge Approval
|
package/lib/adapt-agents.js
CHANGED
|
@@ -17,11 +17,12 @@ function adaptAgentContentForProjectType(dest, config, replaceInFileFn) {
|
|
|
17
17
|
|
|
18
18
|
if (config.projectType === 'backend') {
|
|
19
19
|
for (const dir of toolDirs) {
|
|
20
|
-
// spec-creator: remove Frontend Specifications section
|
|
20
|
+
// spec-creator: remove Frontend Specifications section, UI output format, ui-components refs
|
|
21
21
|
replaceInFileFn(path.join(dest, dir, 'agents', 'spec-creator.md'), [
|
|
22
22
|
[/### Frontend Specifications\n(?:- [^\n]*\n)+\n/, ''],
|
|
23
23
|
[/### For UI Changes\n```markdown\n(?:[^\n]*\n)*?```\n\n/, ''],
|
|
24
24
|
['Data Model Changes, UI Changes, Edge Cases', 'Data Model Changes, Edge Cases'],
|
|
25
|
+
['(`api-spec.yaml`, `ui-components.md`)', '(`api-spec.yaml`)'],
|
|
25
26
|
]);
|
|
26
27
|
// production-code-validator: remove ui-components line from Spec Drift
|
|
27
28
|
replaceInFileFn(path.join(dest, dir, 'agents', 'production-code-validator.md'), [
|
|
@@ -44,10 +45,11 @@ function adaptAgentContentForProjectType(dest, config, replaceInFileFn) {
|
|
|
44
45
|
}
|
|
45
46
|
} else if (config.projectType === 'frontend') {
|
|
46
47
|
for (const dir of toolDirs) {
|
|
47
|
-
// spec-creator: remove Backend Specifications section
|
|
48
|
+
// spec-creator: remove Backend Specifications section, api-spec refs
|
|
48
49
|
replaceInFileFn(path.join(dest, dir, 'agents', 'spec-creator.md'), [
|
|
49
50
|
[/### Backend Specifications\n(?:- [^\n]*\n)+\n/, ''],
|
|
50
51
|
[/### For API Changes\n```yaml\n(?:[^\n]*\n)*?```\n\n/, ''],
|
|
52
|
+
['(`api-spec.yaml`, `ui-components.md`)', '(`ui-components.md`)'],
|
|
51
53
|
]);
|
|
52
54
|
// code-review-specialist: frontend-only standards ref
|
|
53
55
|
replaceInFileFn(path.join(dest, dir, 'agents', 'code-review-specialist.md'), [
|
package/package.json
CHANGED
|
@@ -10,9 +10,10 @@ You are an expert Systems Analyst and API Designer. Your goal is to translate va
|
|
|
10
10
|
|
|
11
11
|
## Goal
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Update the global specification files in `docs/specs/` AND the ticket's `## Spec` section based on a Ticket or User Request. The spec must be detailed enough for a planner agent to create an implementation plan.
|
|
14
14
|
|
|
15
15
|
**NEVER write implementation code. Only produce specifications.**
|
|
16
|
+
**NEVER create per-feature spec files** (e.g., `docs/specs/F038-feature-spec.md`). Feature specs belong in the ticket's `## Spec` section. Only update the existing global files (`api-spec.yaml`, `ui-components.md`).
|
|
16
17
|
|
|
17
18
|
## Responsibilities
|
|
18
19
|
|
|
@@ -68,5 +69,6 @@ Draft or update the specification files in `docs/specs/` AND the ticket's `## Sp
|
|
|
68
69
|
- **ALWAYS** follow existing patterns in the spec files
|
|
69
70
|
- **ALWAYS** ensure the specs are feasible (don't over-engineer)
|
|
70
71
|
- **ALWAYS** consider edge cases and error scenarios
|
|
71
|
-
- **ALWAYS** update
|
|
72
|
+
- **ALWAYS** update the existing global spec files (`api-spec.yaml`, `ui-components.md`) AND the ticket's `## Spec` section
|
|
73
|
+
- **NEVER** create new per-feature spec files in `docs/specs/` — the ticket IS the feature spec
|
|
72
74
|
- **ALWAYS** ask for user approval: "Does this spec look correct?"
|
|
@@ -71,7 +71,7 @@ Ask user to classify complexity before starting. See `references/complexity-guid
|
|
|
71
71
|
2. Agent updates global spec files (`api-spec.yaml`, `ui-components.md`) and Zod schemas in `shared/src/schemas/` if applicable
|
|
72
72
|
3. Agent writes spec summary into the ticket's `## Spec` section
|
|
73
73
|
4. **Spec Self-Review:** Re-read the spec critically. Are requirements complete? Edge cases covered? API contract well-defined? Acceptance criteria testable? Does the spec conflict with existing architecture (`key_facts.md`, `decisions.md`)? Update the spec with any fixes found before proceeding.
|
|
74
|
-
5. **
|
|
74
|
+
5. **Cross-Model Spec Review:** Run `/review-spec`. If at least one external CLI is available (`gemini`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
|
|
75
75
|
|
|
76
76
|
**→ CHECKPOINT: Spec Approval** — Update tracker (Active Session + Features table): step `0/6 (Spec)`
|
|
77
77
|
|
|
@@ -108,7 +108,8 @@ See `references/branching-strategy.md` for details.
|
|
|
108
108
|
- Dependencies between steps that force a different order?
|
|
109
109
|
- Over-engineering or unnecessary abstractions?
|
|
110
110
|
Update the plan with any fixes found before proceeding.
|
|
111
|
-
5.
|
|
111
|
+
5. **Cross-Model Plan Review:** Run `/review-plan`. If at least one external CLI is available (`gemini`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
|
|
112
|
+
6. Update tracker: step `2/6 (Plan)` (Active Session + Features table)
|
|
112
113
|
|
|
113
114
|
**→ CHECKPOINT: Plan Approval**
|
|
114
115
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
## Instructions
|
|
7
7
|
|
|
8
|
-
Translate requirements into precise, standard-compliant specifications. Update global spec files AND the ticket's `## Spec` section.
|
|
8
|
+
Translate requirements into precise, standard-compliant specifications. Update existing global spec files (`api-spec.yaml`, `ui-components.md`) AND the ticket's `## Spec` section. NEVER create per-feature spec files — the ticket IS the feature spec.
|
|
9
9
|
|
|
10
10
|
## Workflow
|
|
11
11
|
|
|
@@ -20,5 +20,6 @@ Translate requirements into precise, standard-compliant specifications. Update g
|
|
|
20
20
|
|
|
21
21
|
- NEVER write implementation code — only specifications
|
|
22
22
|
- ALWAYS follow existing patterns in spec files
|
|
23
|
-
- ALWAYS update
|
|
23
|
+
- ALWAYS update existing global spec files (`api-spec.yaml`, `ui-components.md`) AND ticket's `## Spec` section
|
|
24
|
+
- NEVER create per-feature spec files in `docs/specs/` — the ticket IS the feature spec
|
|
24
25
|
- ALWAYS ask: "Does this spec look correct?"
|
|
@@ -71,7 +71,7 @@ Ask user to classify complexity before starting. See `references/complexity-guid
|
|
|
71
71
|
2. Update global spec files (`api-spec.yaml`, `ui-components.md`) and Zod schemas in `shared/src/schemas/` if applicable
|
|
72
72
|
3. Write spec summary into the ticket's `## Spec` section
|
|
73
73
|
4. **Spec Self-Review:** Re-read the spec critically. Are requirements complete? Edge cases covered? API contract well-defined? Acceptance criteria testable? Does the spec conflict with existing architecture (`key_facts.md`, `decisions.md`)? Update the spec with any fixes found before proceeding.
|
|
74
|
-
5. **
|
|
74
|
+
5. **Cross-Model Spec Review:** Run `/review-spec`. If at least one external CLI is available (`claude`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
|
|
75
75
|
|
|
76
76
|
**→ CHECKPOINT: Spec Approval** — Update tracker (Active Session + Features table): step `0/6 (Spec)`
|
|
77
77
|
|
|
@@ -108,7 +108,8 @@ See `references/branching-strategy.md` for details.
|
|
|
108
108
|
- Dependencies between steps that force a different order?
|
|
109
109
|
- Over-engineering or unnecessary abstractions?
|
|
110
110
|
Update the plan with any fixes found before proceeding.
|
|
111
|
-
5.
|
|
111
|
+
5. **Cross-Model Plan Review:** Run `/review-plan`. If at least one external CLI is available (`claude`, `codex`), this provides independent validation from other models. If no external CLIs are detected, skip this step (the self-review above is sufficient).
|
|
112
|
+
6. Update tracker: step `2/6 (Plan)` (Active Session + Features table)
|
|
112
113
|
|
|
113
114
|
**→ CHECKPOINT: Plan Approval**
|
|
114
115
|
|