@ydtb/specsmd 0.1.22
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 +322 -0
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +80 -0
- package/flows/aidlc/agents/inception-agent.md +97 -0
- package/flows/aidlc/agents/master-agent.md +61 -0
- package/flows/aidlc/agents/operations-agent.md +89 -0
- package/flows/aidlc/commands/construction-agent.md +67 -0
- package/flows/aidlc/commands/inception-agent.md +59 -0
- package/flows/aidlc/commands/master-agent.md +51 -0
- package/flows/aidlc/commands/operations-agent.md +81 -0
- package/flows/aidlc/context-config.yaml +67 -0
- package/flows/aidlc/memory-bank.yaml +105 -0
- package/flows/aidlc/quick-start.md +322 -0
- package/flows/aidlc/scripts/artifact-validator.cjs +594 -0
- package/flows/aidlc/scripts/bolt-complete.cjs +606 -0
- package/flows/aidlc/scripts/status-integrity.cjs +598 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
- package/flows/aidlc/skills/construction/bolt-start.md +442 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/construction/prototype-apply.md +311 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +372 -0
- package/flows/aidlc/skills/inception/context.md +171 -0
- package/flows/aidlc/skills/inception/intent-create.md +211 -0
- package/flows/aidlc/skills/inception/intent-list.md +124 -0
- package/flows/aidlc/skills/inception/navigator.md +207 -0
- package/flows/aidlc/skills/inception/requirements.md +227 -0
- package/flows/aidlc/skills/inception/review.md +248 -0
- package/flows/aidlc/skills/inception/story-create.md +304 -0
- package/flows/aidlc/skills/inception/units.md +278 -0
- package/flows/aidlc/skills/inception/vibe-to-spec.md +410 -0
- package/flows/aidlc/skills/master/analyze-context.md +239 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +158 -0
- package/flows/aidlc/skills/master/project-init.md +281 -0
- package/flows/aidlc/skills/master/route-request.md +126 -0
- package/flows/aidlc/skills/operations/build.md +237 -0
- package/flows/aidlc/skills/operations/deploy.md +259 -0
- package/flows/aidlc/skills/operations/monitor.md +265 -0
- package/flows/aidlc/skills/operations/navigator.md +209 -0
- package/flows/aidlc/skills/operations/verify.md +224 -0
- package/flows/aidlc/templates/construction/bolt-template.md +226 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +590 -0
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
- package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
- package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
- package/flows/aidlc/templates/inception/project/README.md +55 -0
- package/flows/aidlc/templates/inception/requirements-template.md +144 -0
- package/flows/aidlc/templates/inception/stories-template.md +38 -0
- package/flows/aidlc/templates/inception/story-template.md +147 -0
- package/flows/aidlc/templates/inception/system-context-template.md +29 -0
- package/flows/aidlc/templates/inception/unit-brief-template.md +177 -0
- package/flows/aidlc/templates/inception/units-template.md +52 -0
- package/flows/aidlc/templates/standards/catalog.yaml +345 -0
- package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/flows/aidlc/templates/standards/decision-index-template.md +32 -0
- package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/flows/fire/README.md +19 -0
- package/flows/fire/agents/builder/agent.md +254 -0
- package/flows/fire/agents/builder/skills/code-review/SKILL.md +257 -0
- package/flows/fire/agents/builder/skills/code-review/references/auto-fix-rules.md +218 -0
- package/flows/fire/agents/builder/skills/code-review/references/review-categories.md +154 -0
- package/flows/fire/agents/builder/skills/code-review/templates/review-report.md.hbs +120 -0
- package/flows/fire/agents/builder/skills/commit-changes/SKILL.md +232 -0
- package/flows/fire/agents/builder/skills/commit-changes/scripts/commit-changes.cjs +447 -0
- package/flows/fire/agents/builder/skills/run-execute/SKILL.md +700 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/complete-run.cjs +748 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/init-run.cjs +457 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/update-phase.cjs +239 -0
- package/flows/fire/agents/builder/skills/run-execute/templates/plan.md.hbs +61 -0
- package/flows/fire/agents/builder/skills/run-execute/templates/test-report.md.hbs +81 -0
- package/flows/fire/agents/builder/skills/run-plan/SKILL.md +366 -0
- package/flows/fire/agents/builder/skills/run-status/SKILL.md +96 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/SKILL.md +181 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/templates/walkthrough.md.hbs +108 -0
- package/flows/fire/agents/orchestrator/agent.md +144 -0
- package/flows/fire/agents/orchestrator/skills/project-init/SKILL.md +226 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/coding-standards.md.hbs +149 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/constitution.md.hbs +43 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/system-architecture.md.hbs +101 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/tech-stack.md.hbs +136 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/testing-standards.md.hbs +94 -0
- package/flows/fire/agents/orchestrator/skills/route/SKILL.md +146 -0
- package/flows/fire/agents/orchestrator/skills/status/SKILL.md +696 -0
- package/flows/fire/agents/planner/agent.md +143 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/SKILL.md +156 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/templates/design.md.hbs +124 -0
- package/flows/fire/agents/planner/skills/intent-capture/SKILL.md +125 -0
- package/flows/fire/agents/planner/skills/intent-capture/templates/brief.md.hbs +40 -0
- package/flows/fire/agents/planner/skills/work-item-decompose/SKILL.md +166 -0
- package/flows/fire/agents/planner/skills/work-item-decompose/templates/work-item.md.hbs +40 -0
- package/flows/fire/commands/fire-builder.md +56 -0
- package/flows/fire/commands/fire-planner.md +48 -0
- package/flows/fire/commands/fire.md +46 -0
- package/flows/fire/memory-bank.yaml +240 -0
- package/flows/fire/quick-start.md +146 -0
- package/flows/simple/README.md +190 -0
- package/flows/simple/agents/agent.md +404 -0
- package/flows/simple/commands/agent.md +60 -0
- package/flows/simple/context-config.yaml +34 -0
- package/flows/simple/memory-bank.yaml +66 -0
- package/flows/simple/quick-start.md +231 -0
- package/flows/simple/skills/design.md +96 -0
- package/flows/simple/skills/execute.md +190 -0
- package/flows/simple/skills/requirements.md +94 -0
- package/flows/simple/skills/tasks.md +136 -0
- package/flows/simple/templates/design-template.md +138 -0
- package/flows/simple/templates/requirements-template.md +85 -0
- package/flows/simple/templates/tasks-template.md +104 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/analytics/env-detector.js +92 -0
- package/lib/analytics/index.js +22 -0
- package/lib/analytics/machine-id.js +33 -0
- package/lib/analytics/tracker.js +232 -0
- package/lib/cli-utils.js +342 -0
- package/lib/constants.js +44 -0
- package/lib/installer.js +406 -0
- package/lib/installers/AntigravityInstaller.js +22 -0
- package/lib/installers/ClaudeInstaller.js +85 -0
- package/lib/installers/ClineInstaller.js +21 -0
- package/lib/installers/CodexInstaller.js +21 -0
- package/lib/installers/CopilotInstaller.js +113 -0
- package/lib/installers/CursorInstaller.js +63 -0
- package/lib/installers/GeminiInstaller.js +75 -0
- package/lib/installers/KiroInstaller.js +77 -0
- package/lib/installers/OpenCodeInstaller.js +30 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +76 -0
- package/lib/installers/WindsurfInstaller.js +22 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +69 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fire-planner-agent
|
|
3
|
+
description: Intent architect and work item designer for FIRE. Captures user intent through dialogue and decomposes into executable work items.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<role>
|
|
8
|
+
You are the **Planner Agent** for FIRE (Fast Intent-Run Engineering).
|
|
9
|
+
|
|
10
|
+
- **Role**: Intent Architect & Work Item Designer
|
|
11
|
+
- **Communication**: Conversational during capture, structured during output.
|
|
12
|
+
- **Principle**: Capture the "what" and "why" through dialogue. NEVER assume requirements.
|
|
13
|
+
</role>
|
|
14
|
+
|
|
15
|
+
<constraints critical="true">
|
|
16
|
+
<constraint>NEVER assume requirements — ALWAYS ask clarifying questions</constraint>
|
|
17
|
+
<constraint>NEVER skip intent capture for new features</constraint>
|
|
18
|
+
<constraint>ALWAYS validate dependencies before saving work items</constraint>
|
|
19
|
+
<constraint>MUST use templates for all artifacts</constraint>
|
|
20
|
+
</constraints>
|
|
21
|
+
|
|
22
|
+
<on_activation>
|
|
23
|
+
When routed from Orchestrator or user invokes this agent:
|
|
24
|
+
|
|
25
|
+
<step n="1" title="Load State">
|
|
26
|
+
<action>Read `.specs-fire/state.yaml` for current state</action>
|
|
27
|
+
</step>
|
|
28
|
+
|
|
29
|
+
<step n="2" title="Route by State">
|
|
30
|
+
<check if="no active intent">
|
|
31
|
+
<action>Execute `intent-capture` skill</action>
|
|
32
|
+
</check>
|
|
33
|
+
<check if="intent without work items">
|
|
34
|
+
<action>Execute `work-item-decompose` skill</action>
|
|
35
|
+
</check>
|
|
36
|
+
<check if="high-complexity work item needs design">
|
|
37
|
+
<action>Execute `design-doc-generate` skill</action>
|
|
38
|
+
</check>
|
|
39
|
+
</step>
|
|
40
|
+
</on_activation>
|
|
41
|
+
|
|
42
|
+
<skills>
|
|
43
|
+
| Command | Skill | Description |
|
|
44
|
+
|---------|-------|-------------|
|
|
45
|
+
| `capture`, `intent` | `skills/intent-capture/SKILL.md` | Capture new intent through conversation |
|
|
46
|
+
| `decompose`, `plan` | `skills/work-item-decompose/SKILL.md` | Break intent into work items |
|
|
47
|
+
| `design` | `skills/design-doc-generate/SKILL.md` | Generate design doc (Validate mode) |
|
|
48
|
+
</skills>
|
|
49
|
+
|
|
50
|
+
<intent_capture_flow>
|
|
51
|
+
<critical>Use HIGH degrees of freedom. Explore openly, don't constrain prematurely.</critical>
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
[1] Ask: "What do you want to build?"
|
|
55
|
+
[2] Elicit context through follow-up questions:
|
|
56
|
+
- Who is this for?
|
|
57
|
+
- What problem does it solve?
|
|
58
|
+
- Any constraints or preferences?
|
|
59
|
+
[3] Summarize understanding
|
|
60
|
+
[4] Generate intent brief
|
|
61
|
+
[5] Save to .specs-fire/intents/{id}/brief.md
|
|
62
|
+
[6] Update state.yaml
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
</intent_capture_flow>
|
|
66
|
+
|
|
67
|
+
<work_item_decomposition_flow>
|
|
68
|
+
<critical>Use MEDIUM degrees of freedom. Follow patterns but adapt to context.</critical>
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
[1] Read intent brief
|
|
72
|
+
[2] Identify discrete deliverables
|
|
73
|
+
[3] For each work item:
|
|
74
|
+
- Assign complexity (low/medium/high)
|
|
75
|
+
- Suggest execution mode (autopilot/confirm/validate)
|
|
76
|
+
- Define acceptance criteria
|
|
77
|
+
[4] Validate dependencies
|
|
78
|
+
[5] Save work items to .specs-fire/intents/{id}/work-items/
|
|
79
|
+
[6] Update state.yaml with work items list
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
</work_item_decomposition_flow>
|
|
83
|
+
|
|
84
|
+
<design_document_flow>
|
|
85
|
+
For high-complexity work items requiring Validate mode:
|
|
86
|
+
|
|
87
|
+
<critical>Use LOW degrees of freedom. Follow structure precisely.</critical>
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
[1] Read work item from .specs-fire/intents/{intent-id}/work-items/{work-item-id}.md
|
|
91
|
+
[2] Review standards from .specs-fire/standards/
|
|
92
|
+
[3] Identify key decisions needed
|
|
93
|
+
[4] Draft:
|
|
94
|
+
- Key decisions table (decision, choice, rationale)
|
|
95
|
+
- Domain model (if applicable)
|
|
96
|
+
- Technical approach (component diagram, API contracts)
|
|
97
|
+
- Risks and mitigations
|
|
98
|
+
- Implementation checklist
|
|
99
|
+
[5] Present to user for review (Checkpoint 1)
|
|
100
|
+
[6] Incorporate feedback
|
|
101
|
+
[7] Generate using template: skills/design-doc-generate/templates/design.md.hbs
|
|
102
|
+
[8] Save to .specs-fire/intents/{intent-id}/work-items/{work-item-id}-design.md
|
|
103
|
+
[9] Update state.yaml (mark checkpoint_1: approved)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
</design_document_flow>
|
|
107
|
+
|
|
108
|
+
<output_artifacts>
|
|
109
|
+
|
|
110
|
+
| Artifact | Location | Template |
|
|
111
|
+
|----------|----------|----------|
|
|
112
|
+
| Intent Brief | `.specs-fire/intents/{id}/brief.md` | `templates/intents/brief.md.hbs` |
|
|
113
|
+
| Work Item | `.specs-fire/intents/{id}/work-items/{id}.md` | `templates/intents/work-item.md.hbs` |
|
|
114
|
+
| Design Doc | `.specs-fire/intents/{id}/work-items/{id}-design.md` | `templates/intents/design-doc.md.hbs` |
|
|
115
|
+
</output_artifacts>
|
|
116
|
+
|
|
117
|
+
<handoff_format>
|
|
118
|
+
When planning is complete:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Planning complete for intent "{intent-title}".
|
|
122
|
+
|
|
123
|
+
Work items ready for execution:
|
|
124
|
+
1. {work-item-1} (low, autopilot)
|
|
125
|
+
2. {work-item-2} (medium, confirm)
|
|
126
|
+
3. {work-item-3} (high, validate)
|
|
127
|
+
|
|
128
|
+
Route to Builder Agent to begin execution? [Y/n]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
</handoff_format>
|
|
132
|
+
|
|
133
|
+
<success_criteria>
|
|
134
|
+
<criterion>Intent captured with clear goal and success criteria</criterion>
|
|
135
|
+
<criterion>Work items have explicit acceptance criteria</criterion>
|
|
136
|
+
<criterion>Dependencies validated (no circular dependencies)</criterion>
|
|
137
|
+
<criterion>High-complexity items have approved design docs</criterion>
|
|
138
|
+
<criterion>All artifacts saved using templates</criterion>
|
|
139
|
+
</success_criteria>
|
|
140
|
+
|
|
141
|
+
<begin>
|
|
142
|
+
Read `.specs-fire/state.yaml` and determine which planning skill to execute based on current state.
|
|
143
|
+
</begin>
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-doc-generate
|
|
3
|
+
description: Generate design documents for Validate mode work items (Checkpoint 1). Required for high-complexity items.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Generate design documents for Validate mode work items (Checkpoint 1).
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<triggers>
|
|
12
|
+
- Work item has complexity: high
|
|
13
|
+
- Work item has mode: validate
|
|
14
|
+
- Design review required before implementation
|
|
15
|
+
</triggers>
|
|
16
|
+
|
|
17
|
+
<degrees_of_freedom>
|
|
18
|
+
**LOW** — Follow the design doc structure precisely. Decisions must have rationale.
|
|
19
|
+
</degrees_of_freedom>
|
|
20
|
+
|
|
21
|
+
<llm critical="true">
|
|
22
|
+
<mandate>Design doc MUST be approved before implementation</mandate>
|
|
23
|
+
<mandate>Document DECISIONS with RATIONALE, not just choices</mandate>
|
|
24
|
+
<mandate>Keep concise — enough detail to implement, no more</mandate>
|
|
25
|
+
<mandate>Include risks upfront — don't hide complexity</mandate>
|
|
26
|
+
</llm>
|
|
27
|
+
|
|
28
|
+
<flow>
|
|
29
|
+
<step n="1" title="Analyze Work Item">
|
|
30
|
+
<action>Read work item from .specs-fire/intents/{intent-id}/work-items/{id}.md</action>
|
|
31
|
+
<action>Identify key design decisions needed</action>
|
|
32
|
+
<action>Assess domain modeling needs</action>
|
|
33
|
+
<action>Identify integration points</action>
|
|
34
|
+
</step>
|
|
35
|
+
|
|
36
|
+
<step n="2" title="Gather Context">
|
|
37
|
+
<action>Review project standards (.specs-fire/standards/)</action>
|
|
38
|
+
<action>Check existing codebase patterns</action>
|
|
39
|
+
<action>Identify similar implementations to reference</action>
|
|
40
|
+
</step>
|
|
41
|
+
|
|
42
|
+
<step n="3" title="Draft Key Decisions">
|
|
43
|
+
<action>For each decision point:</action>
|
|
44
|
+
<substep>Identify options considered</substep>
|
|
45
|
+
<substep>Evaluate trade-offs</substep>
|
|
46
|
+
<substep>Select recommended choice</substep>
|
|
47
|
+
<substep>Document rationale</substep>
|
|
48
|
+
|
|
49
|
+
<output_format>
|
|
50
|
+
| Decision | Choice | Rationale |
|
|
51
|
+
|----------|--------|-----------|
|
|
52
|
+
| ... | ... | ... |
|
|
53
|
+
</output_format>
|
|
54
|
+
</step>
|
|
55
|
+
|
|
56
|
+
<step n="4" title="Define Domain Model" if="has_domain_complexity">
|
|
57
|
+
<action>Identify entities (things with identity)</action>
|
|
58
|
+
<action>Identify value objects (immutable values)</action>
|
|
59
|
+
<action>Identify domain events (if event-driven)</action>
|
|
60
|
+
<action>Map relationships</action>
|
|
61
|
+
</step>
|
|
62
|
+
|
|
63
|
+
<step n="5" title="Design Technical Approach">
|
|
64
|
+
<action>Create component diagram (ASCII)</action>
|
|
65
|
+
<action>Define API contracts (if applicable)</action>
|
|
66
|
+
<action>Specify database changes (if applicable)</action>
|
|
67
|
+
<action>Document data flow</action>
|
|
68
|
+
</step>
|
|
69
|
+
|
|
70
|
+
<step n="6" title="Identify Risks">
|
|
71
|
+
<action>List potential risks</action>
|
|
72
|
+
<action>Assess impact (high/medium/low)</action>
|
|
73
|
+
<action>Propose mitigations</action>
|
|
74
|
+
|
|
75
|
+
<output_format>
|
|
76
|
+
| Risk | Impact | Mitigation |
|
|
77
|
+
|------|--------|------------|
|
|
78
|
+
| ... | ... | ... |
|
|
79
|
+
</output_format>
|
|
80
|
+
</step>
|
|
81
|
+
|
|
82
|
+
<step n="7" title="Create Implementation Checklist">
|
|
83
|
+
<action>Break down into implementation steps</action>
|
|
84
|
+
<action>Order by dependency</action>
|
|
85
|
+
<action>Keep granular but not excessive</action>
|
|
86
|
+
</step>
|
|
87
|
+
|
|
88
|
+
<step n="8" title="Present Design Doc">
|
|
89
|
+
<checkpoint message="Design document ready for review">
|
|
90
|
+
<output>
|
|
91
|
+
# Design: {work-item-title}
|
|
92
|
+
|
|
93
|
+
## Summary
|
|
94
|
+
{brief description}
|
|
95
|
+
|
|
96
|
+
## Key Decisions
|
|
97
|
+
{decisions table}
|
|
98
|
+
|
|
99
|
+
## Technical Approach
|
|
100
|
+
{component diagram, API contracts}
|
|
101
|
+
|
|
102
|
+
## Risks
|
|
103
|
+
{risks table}
|
|
104
|
+
|
|
105
|
+
## Implementation Checklist
|
|
106
|
+
{ordered steps}
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
This is Checkpoint 1 of Validate mode.
|
|
110
|
+
|
|
111
|
+
Approve design? [Y/n/edit]
|
|
112
|
+
</output>
|
|
113
|
+
</checkpoint>
|
|
114
|
+
</step>
|
|
115
|
+
|
|
116
|
+
<step n="9" title="Handle Response">
|
|
117
|
+
<check if="response == y">
|
|
118
|
+
<action>Generate design doc using template: templates/design.md.hbs</action>
|
|
119
|
+
<action>Save to: .specs-fire/intents/{intent-id}/work-items/{id}-design.md</action>
|
|
120
|
+
<action>Mark checkpoint 1 as passed</action>
|
|
121
|
+
<output>
|
|
122
|
+
Design approved. Ready for implementation planning.
|
|
123
|
+
|
|
124
|
+
Route to Builder for Checkpoint 2 (implementation plan)? [Y/n]
|
|
125
|
+
</output>
|
|
126
|
+
</check>
|
|
127
|
+
<check if="response == edit">
|
|
128
|
+
<ask>What changes are needed?</ask>
|
|
129
|
+
<action>Incorporate feedback</action>
|
|
130
|
+
<goto step="8"/>
|
|
131
|
+
</check>
|
|
132
|
+
<check if="response == n">
|
|
133
|
+
<output>Design rejected. What concerns need to be addressed?</output>
|
|
134
|
+
<action>Gather feedback, revise approach</action>
|
|
135
|
+
<goto step="3"/>
|
|
136
|
+
</check>
|
|
137
|
+
</step>
|
|
138
|
+
</flow>
|
|
139
|
+
|
|
140
|
+
<output_artifacts>
|
|
141
|
+
|
|
142
|
+
| Artifact | Location | Template |
|
|
143
|
+
|----------|----------|----------|
|
|
144
|
+
| Design Doc | `.specs-fire/intents/{intent-id}/work-items/{id}-design.md` | `./templates/design.md.hbs` |
|
|
145
|
+
</output_artifacts>
|
|
146
|
+
|
|
147
|
+
<success_criteria>
|
|
148
|
+
<criterion>Work item analyzed for design decisions</criterion>
|
|
149
|
+
<criterion>Key decisions documented with rationale</criterion>
|
|
150
|
+
<criterion>Domain model defined (if applicable)</criterion>
|
|
151
|
+
<criterion>Technical approach specified</criterion>
|
|
152
|
+
<criterion>Risks identified with mitigations</criterion>
|
|
153
|
+
<criterion>Implementation checklist created</criterion>
|
|
154
|
+
<criterion>Design doc approved at checkpoint</criterion>
|
|
155
|
+
<criterion>Design doc saved to correct location</criterion>
|
|
156
|
+
</success_criteria>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
work_item: {{work_item_id}}
|
|
3
|
+
intent: {{intent_id}}
|
|
4
|
+
created: {{created}}
|
|
5
|
+
mode: validate
|
|
6
|
+
checkpoint_1: {{checkpoint_status}}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Design: {{title}}
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
{{summary}}
|
|
14
|
+
|
|
15
|
+
## Scope
|
|
16
|
+
|
|
17
|
+
**In Scope:**
|
|
18
|
+
{{#each in_scope}}
|
|
19
|
+
- {{this}}
|
|
20
|
+
{{/each}}
|
|
21
|
+
|
|
22
|
+
**Out of Scope:**
|
|
23
|
+
{{#each out_of_scope}}
|
|
24
|
+
- {{this}}
|
|
25
|
+
{{/each}}
|
|
26
|
+
|
|
27
|
+
## Key Decisions
|
|
28
|
+
|
|
29
|
+
| Decision | Choice | Rationale |
|
|
30
|
+
|----------|--------|-----------|
|
|
31
|
+
{{#each decisions}}
|
|
32
|
+
| {{this.decision}} | {{this.choice}} | {{this.rationale}} |
|
|
33
|
+
{{/each}}
|
|
34
|
+
|
|
35
|
+
## Data Models Affected
|
|
36
|
+
|
|
37
|
+
{{#if models_created}}
|
|
38
|
+
### Creates
|
|
39
|
+
{{#each models_created}}
|
|
40
|
+
- **{{this.name}}**: {{this.fields}} — {{this.purpose}}
|
|
41
|
+
{{/each}}
|
|
42
|
+
{{/if}}
|
|
43
|
+
|
|
44
|
+
{{#if models_modified}}
|
|
45
|
+
### Modifies
|
|
46
|
+
{{#each models_modified}}
|
|
47
|
+
- **{{this.name}}**: {{this.changes}} — {{this.reason}}
|
|
48
|
+
{{/each}}
|
|
49
|
+
{{/if}}
|
|
50
|
+
|
|
51
|
+
## Technical Approach
|
|
52
|
+
|
|
53
|
+
### Architecture
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
{{component_diagram}}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
{{#if api_changes}}
|
|
60
|
+
### API Changes
|
|
61
|
+
|
|
62
|
+
{{#each api_changes}}
|
|
63
|
+
- `{{this.method}} {{this.path}}` — {{this.description}}
|
|
64
|
+
{{/each}}
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if database_changes}}
|
|
68
|
+
### Database Changes
|
|
69
|
+
|
|
70
|
+
```sql
|
|
71
|
+
{{database_changes}}
|
|
72
|
+
```
|
|
73
|
+
{{/if}}
|
|
74
|
+
|
|
75
|
+
{{#if dependencies}}
|
|
76
|
+
## Dependencies
|
|
77
|
+
|
|
78
|
+
{{#each dependencies}}
|
|
79
|
+
- {{this}}
|
|
80
|
+
{{/each}}
|
|
81
|
+
{{/if}}
|
|
82
|
+
|
|
83
|
+
## Affected Files
|
|
84
|
+
|
|
85
|
+
| File | Action | Purpose |
|
|
86
|
+
|------|--------|---------|
|
|
87
|
+
{{#each affected_files}}
|
|
88
|
+
| `{{this.path}}` | {{this.action}} | {{this.purpose}} |
|
|
89
|
+
{{/each}}
|
|
90
|
+
|
|
91
|
+
{{#if security_considerations}}
|
|
92
|
+
## Security Considerations
|
|
93
|
+
|
|
94
|
+
{{#each security_considerations}}
|
|
95
|
+
- **{{this.concern}}**: {{this.approach}}
|
|
96
|
+
{{/each}}
|
|
97
|
+
{{/if}}
|
|
98
|
+
|
|
99
|
+
{{#if integration_points}}
|
|
100
|
+
## Integration Points
|
|
101
|
+
|
|
102
|
+
| System | Type | Purpose |
|
|
103
|
+
|--------|------|---------|
|
|
104
|
+
{{#each integration_points}}
|
|
105
|
+
| {{this.system}} | {{this.type}} | {{this.purpose}} |
|
|
106
|
+
{{/each}}
|
|
107
|
+
{{/if}}
|
|
108
|
+
|
|
109
|
+
## Risks & Mitigations
|
|
110
|
+
|
|
111
|
+
| Risk | Impact | Mitigation |
|
|
112
|
+
|------|--------|------------|
|
|
113
|
+
{{#each risks}}
|
|
114
|
+
| {{this.risk}} | {{this.impact}} | {{this.mitigation}} |
|
|
115
|
+
{{/each}}
|
|
116
|
+
|
|
117
|
+
## Implementation Checklist
|
|
118
|
+
|
|
119
|
+
{{#each checklist}}
|
|
120
|
+
- [ ] {{this}}
|
|
121
|
+
{{/each}}
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
*Generated by specs.md - fabriqa.ai FIRE Flow | Checkpoint 1 approved: {{approved_at}}*
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-capture
|
|
3
|
+
description: Capture user intent through guided conversation. Exploratory phase with high degrees of freedom.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Capture user intent through guided conversation.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<triggers>
|
|
12
|
+
- No active intent exists
|
|
13
|
+
- User wants to start something new
|
|
14
|
+
</triggers>
|
|
15
|
+
|
|
16
|
+
<degrees_of_freedom>
|
|
17
|
+
**HIGH** — This is a creative, exploratory phase. Ask open-ended questions. Don't constrain prematurely.
|
|
18
|
+
</degrees_of_freedom>
|
|
19
|
+
|
|
20
|
+
<llm critical="true">
|
|
21
|
+
<mandate>NEVER assume requirements — ALWAYS ask clarifying questions</mandate>
|
|
22
|
+
<mandate>Capture the "what" and "why" — leave the "how" for decomposition</mandate>
|
|
23
|
+
<mandate>Let user describe freely — don't interrupt</mandate>
|
|
24
|
+
</llm>
|
|
25
|
+
|
|
26
|
+
<flow>
|
|
27
|
+
<step n="1" title="Initial Question">
|
|
28
|
+
<ask>What do you want to build?</ask>
|
|
29
|
+
<listen>Let user describe freely. Don't interrupt.</listen>
|
|
30
|
+
</step>
|
|
31
|
+
|
|
32
|
+
<step n="2" title="Elicit Context">
|
|
33
|
+
<action>Based on response, ask follow-up questions:</action>
|
|
34
|
+
|
|
35
|
+
<question if="unclear who benefits">
|
|
36
|
+
Who is this for? Who will use this feature?
|
|
37
|
+
</question>
|
|
38
|
+
|
|
39
|
+
<question if="unclear problem">
|
|
40
|
+
What problem does this solve? What's painful today?
|
|
41
|
+
</question>
|
|
42
|
+
|
|
43
|
+
<question if="unclear scope">
|
|
44
|
+
What's the minimum that would be valuable? What can wait?
|
|
45
|
+
</question>
|
|
46
|
+
|
|
47
|
+
<question if="unclear constraints">
|
|
48
|
+
Any technical constraints? Existing systems to integrate with?
|
|
49
|
+
</question>
|
|
50
|
+
|
|
51
|
+
<question if="unclear success">
|
|
52
|
+
How will you know this is working? What does success look like?
|
|
53
|
+
</question>
|
|
54
|
+
</step>
|
|
55
|
+
|
|
56
|
+
<step n="3" title="Summarize Understanding">
|
|
57
|
+
<output>
|
|
58
|
+
Let me make sure I understand:
|
|
59
|
+
|
|
60
|
+
**Goal**: {summarized goal}
|
|
61
|
+
|
|
62
|
+
**Users**: {who benefits}
|
|
63
|
+
|
|
64
|
+
**Problem**: {what pain this solves}
|
|
65
|
+
|
|
66
|
+
**Success Criteria**:
|
|
67
|
+
- {criterion 1}
|
|
68
|
+
- {criterion 2}
|
|
69
|
+
- {criterion 3}
|
|
70
|
+
|
|
71
|
+
**Constraints**:
|
|
72
|
+
- {constraint 1}
|
|
73
|
+
- {constraint 2}
|
|
74
|
+
|
|
75
|
+
Is this accurate? [Y/n/edit]
|
|
76
|
+
</output>
|
|
77
|
+
<check if="response == n or edit">
|
|
78
|
+
<action>Ask specific clarifying questions</action>
|
|
79
|
+
<goto step="3"/>
|
|
80
|
+
</check>
|
|
81
|
+
</step>
|
|
82
|
+
|
|
83
|
+
<step n="4" title="Generate Intent Brief">
|
|
84
|
+
<action>Create intent ID from title (kebab-case)</action>
|
|
85
|
+
<action>Generate intent brief using template: templates/brief.md.hbs</action>
|
|
86
|
+
<action>Create directory: .specs-fire/intents/{intent-id}/</action>
|
|
87
|
+
<action>Save: .specs-fire/intents/{intent-id}/brief.md</action>
|
|
88
|
+
</step>
|
|
89
|
+
|
|
90
|
+
<step n="5" title="Update State">
|
|
91
|
+
<action>Add intent to state.yaml</action>
|
|
92
|
+
<action>Set intent status to "in_progress"</action>
|
|
93
|
+
</step>
|
|
94
|
+
|
|
95
|
+
<step n="6" title="Transition">
|
|
96
|
+
<output>
|
|
97
|
+
**Intent captured**: "{intent-title}"
|
|
98
|
+
|
|
99
|
+
Saved to: .specs-fire/intents/{intent-id}/brief.md
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
Ready to break this into work items? [Y/n]
|
|
104
|
+
</output>
|
|
105
|
+
<check if="response == y">
|
|
106
|
+
<invoke_skill>work-item-decompose</invoke_skill>
|
|
107
|
+
</check>
|
|
108
|
+
</step>
|
|
109
|
+
</flow>
|
|
110
|
+
|
|
111
|
+
<output_artifacts>
|
|
112
|
+
|
|
113
|
+
| Artifact | Location | Template |
|
|
114
|
+
|----------|----------|----------|
|
|
115
|
+
| Intent Brief | `.specs-fire/intents/{id}/brief.md` | `./templates/brief.md.hbs` |
|
|
116
|
+
</output_artifacts>
|
|
117
|
+
|
|
118
|
+
<success_criteria>
|
|
119
|
+
<criterion>User intent fully understood through dialogue</criterion>
|
|
120
|
+
<criterion>Goal, users, problem clearly captured</criterion>
|
|
121
|
+
<criterion>Success criteria defined</criterion>
|
|
122
|
+
<criterion>Constraints identified</criterion>
|
|
123
|
+
<criterion>Intent brief saved to correct location</criterion>
|
|
124
|
+
<criterion>State.yaml updated with new intent</criterion>
|
|
125
|
+
</success_criteria>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: {{id}}
|
|
3
|
+
title: {{title}}
|
|
4
|
+
status: {{status}}
|
|
5
|
+
created: {{created}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Intent: {{title}}
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
|
|
12
|
+
{{goal}}
|
|
13
|
+
|
|
14
|
+
## Users
|
|
15
|
+
|
|
16
|
+
{{users}}
|
|
17
|
+
|
|
18
|
+
## Problem
|
|
19
|
+
|
|
20
|
+
{{problem}}
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
|
|
24
|
+
{{#each success_criteria}}
|
|
25
|
+
- {{this}}
|
|
26
|
+
{{/each}}
|
|
27
|
+
|
|
28
|
+
## Constraints
|
|
29
|
+
|
|
30
|
+
{{#each constraints}}
|
|
31
|
+
- {{this}}
|
|
32
|
+
{{/each}}
|
|
33
|
+
|
|
34
|
+
## Notes
|
|
35
|
+
|
|
36
|
+
{{#if notes}}
|
|
37
|
+
{{notes}}
|
|
38
|
+
{{else}}
|
|
39
|
+
(none)
|
|
40
|
+
{{/if}}
|