specsmd 0.0.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 +300 -0
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +81 -0
- package/flows/aidlc/agents/inception-agent.md +95 -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 +63 -0
- package/flows/aidlc/commands/inception-agent.md +55 -0
- package/flows/aidlc/commands/master-agent.md +47 -0
- package/flows/aidlc/commands/operations-agent.md +77 -0
- package/flows/aidlc/context-config.yaml +41 -0
- package/flows/aidlc/memory-bank.yaml +104 -0
- package/flows/aidlc/quick-start.md +315 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +343 -0
- package/flows/aidlc/skills/construction/bolt-start.md +289 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +338 -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 +271 -0
- package/flows/aidlc/skills/master/analyze-context.md +132 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +146 -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 +193 -0
- package/flows/aidlc/templates/construction/bolt-types/bdd-construction-bolt.md +250 -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 +528 -0
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +273 -0
- package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/flows/aidlc/templates/construction/bolt-types/tdd-construction-bolt.md +259 -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/tech-stack.guide.md +280 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/cli-utils.js +372 -0
- package/lib/constants.js +31 -0
- package/lib/installer.js +314 -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 +22 -0
- package/lib/installers/OpenCodeInstaller.js +22 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +73 -0
- package/lib/installers/WindsurfInstaller.js +76 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +65 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Skill: Answer Question
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Knowledge retrieval skill to answer questions by querying memory bank artifacts.
|
|
8
|
+
|
|
9
|
+
**NO Checkpoint** - Answering questions is informational, not a decision point.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
Answer user questions about the project by querying the Memory Bank artifacts.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
|
|
21
|
+
- **Required**: User's question
|
|
22
|
+
- **Required**: `.specsmd/aidlc/memory-bank.yaml` - artifact schema
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
### 1. Parse the Question
|
|
29
|
+
|
|
30
|
+
Identify what type of information is being requested:
|
|
31
|
+
|
|
32
|
+
- **Status of intent/unit/bolt** → Check respective artifact files
|
|
33
|
+
- **Configuration/settings** → `{schema.standards}/`
|
|
34
|
+
- **Requirements** → `{intent}/requirements.md`
|
|
35
|
+
- **Architecture decisions** → `{unit}/ddd-02-technical-design.md` or `standards/system-architecture.md`
|
|
36
|
+
- **Deployment info** → `{unit}/deployment/`
|
|
37
|
+
- **Story details** → `{unit}/stories/`
|
|
38
|
+
|
|
39
|
+
### 2. Search Logic
|
|
40
|
+
|
|
41
|
+
1. **Extract keywords** from the question
|
|
42
|
+
2. **Locate artifacts** using schema paths from `.specsmd/aidlc/memory-bank.yaml`
|
|
43
|
+
3. **Read relevant files** to find the answer
|
|
44
|
+
4. **Cite sources** in your response
|
|
45
|
+
|
|
46
|
+
### 3. Formulate Answer
|
|
47
|
+
|
|
48
|
+
**If found**:
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
## Answer
|
|
52
|
+
|
|
53
|
+
{Direct answer to the question}
|
|
54
|
+
|
|
55
|
+
**Source**: `{path/to/file.md}`
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**If not found**:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Answer
|
|
62
|
+
|
|
63
|
+
I couldn't find information about "{topic}" in the memory bank.
|
|
64
|
+
|
|
65
|
+
**Searched**:
|
|
66
|
+
- `{path1}` - not found
|
|
67
|
+
- `{path2}` - not found
|
|
68
|
+
|
|
69
|
+
**Suggestions**:
|
|
70
|
+
- Would you like to create this artifact?
|
|
71
|
+
- Is this information stored elsewhere?
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Common Questions & Sources
|
|
77
|
+
|
|
78
|
+
- **"What is the status of {bolt}?"** → `{schema.bolts}` - check `status` field
|
|
79
|
+
- **"What requirements do we have?"** → `{schema.intents}/{intent}/requirements.md`
|
|
80
|
+
- **"What units are in {intent}?"** → `{schema.intents}/{intent}/units.md`
|
|
81
|
+
- **"What stories are in {unit}?"** → `{schema.stories}` directory
|
|
82
|
+
- **"What's the tech stack?"** → `{schema.standards}/tech-stack.md`
|
|
83
|
+
- **"What are our coding standards?"** → `{schema.standards}/coding-standards.md`
|
|
84
|
+
- **"What's the system architecture?"** → `{schema.standards}/system-architecture.md`
|
|
85
|
+
- **"When was {unit} deployed?"** → `{schema.units}/{unit}/deployment/history.md`
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Output
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
## {Question Rephrased}
|
|
93
|
+
|
|
94
|
+
{Clear, direct answer}
|
|
95
|
+
|
|
96
|
+
### Details
|
|
97
|
+
{Supporting information if relevant}
|
|
98
|
+
|
|
99
|
+
### Source
|
|
100
|
+
- `{path/to/source/file.md}`
|
|
101
|
+
|
|
102
|
+
### Related Information
|
|
103
|
+
- {Other relevant artifacts if any}
|
|
104
|
+
|
|
105
|
+
### Actions
|
|
106
|
+
|
|
107
|
+
1 - **more**: Get more details
|
|
108
|
+
2 - **action**: Take action based on this information
|
|
109
|
+
3 - **another**: Ask another question
|
|
110
|
+
|
|
111
|
+
### Suggested Next Step
|
|
112
|
+
→ **more** - Learn more about {specific aspect}
|
|
113
|
+
|
|
114
|
+
**Type a number or press Enter for suggested action.**
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Human Validation Point
|
|
120
|
+
|
|
121
|
+
> "Does this answer your question? Would you like more details about {specific aspect}?"
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Transition
|
|
126
|
+
|
|
127
|
+
After answering:
|
|
128
|
+
|
|
129
|
+
- → **Route Request** (`.specsmd/skills/master/route-request.md`) - if user wants to take action
|
|
130
|
+
- → **Analyze Context** (`.specsmd/skills/master/analyze-context.md`) - if user wants overall status
|
|
131
|
+
- → Stay in Q&A mode if user has more questions
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Test Contract
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
input: User question
|
|
139
|
+
output: Answer with source citations or acknowledgment of not found
|
|
140
|
+
checkpoints: 0 (informational only)
|
|
141
|
+
```
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Skill: Explain Flow
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Educational skill to explain AI-DLC methodology and help users understand their position in the workflow.
|
|
8
|
+
|
|
9
|
+
**NO Checkpoint** - Explanation is educational, not a decision point.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
Explain the AI-DLC methodology and help the user understand where they are in the process.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
|
|
21
|
+
- **Required**: User's question about the flow
|
|
22
|
+
- **Optional**: Current project state (from `analyze-context.md`)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
### 1. Provide Overview
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
## AI-DLC: AI-Driven Development Lifecycle
|
|
32
|
+
|
|
33
|
+
AI-DLC is a reimagined development methodology where AI drives the workflow and humans validate at key decision points.
|
|
34
|
+
|
|
35
|
+
### The Three Phases
|
|
36
|
+
|
|
37
|
+
1. **Inception** → Planning & Design
|
|
38
|
+
- Capture intents (high-level goals)
|
|
39
|
+
- Elaborate into requirements, units, and stories
|
|
40
|
+
- Plan bolts for construction
|
|
41
|
+
- Output: Complete implementation plan
|
|
42
|
+
|
|
43
|
+
2. **Construction** → Building & Testing
|
|
44
|
+
- Execute bolts through their stages
|
|
45
|
+
- AI generates designs, code, and tests
|
|
46
|
+
- Human validates at each stage
|
|
47
|
+
- Output: Tested, working code
|
|
48
|
+
|
|
49
|
+
3. **Operations** → Deploy & Monitor
|
|
50
|
+
- Package deployment units
|
|
51
|
+
- Deploy through environments (Dev → Staging → Prod)
|
|
52
|
+
- Setup monitoring and observability
|
|
53
|
+
- Output: Running production system
|
|
54
|
+
|
|
55
|
+
### Key Concepts
|
|
56
|
+
|
|
57
|
+
- **Intent**: High-level goal or feature request
|
|
58
|
+
- **Unit**: Independently deployable component (like a bounded context)
|
|
59
|
+
- **Story**: User story with acceptance criteria
|
|
60
|
+
- **Bolt**: Time-boxed execution session (hours/days, not weeks)
|
|
61
|
+
- **Bolt Type**: Methodology template (DDD, BDD, TDD)
|
|
62
|
+
|
|
63
|
+
### Core Principles
|
|
64
|
+
|
|
65
|
+
- **AI Drives, Human Validates**: AI proposes, humans approve
|
|
66
|
+
- **Human Oversight as Loss Function**: Catch errors early before they compound
|
|
67
|
+
- **Semantically Rich Context**: Each step builds context for the next
|
|
68
|
+
- **Rapid Iteration**: Bolts are hours/days, not weeks
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. Show Current Position (if known)
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
### Where You Are Now
|
|
75
|
+
|
|
76
|
+
Inception ──────► Construction ──────► Operations
|
|
77
|
+
│ │ │
|
|
78
|
+
▼ ▼ ▼
|
|
79
|
+
[CURRENT] ───────► [Planned] ────────► [Future]
|
|
80
|
+
|
|
81
|
+
You are in the **{phase}** phase, working on **{intent/unit/bolt}**.
|
|
82
|
+
|
|
83
|
+
Next step: {specific action}
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3. Answer Specific Questions
|
|
88
|
+
|
|
89
|
+
- **"What is a bolt?"** → Explain bolt concept with analogy to sprints
|
|
90
|
+
- **"How long does inception take?"** → Hours, not weeks - it's intensive but fast
|
|
91
|
+
- **"When do I move to construction?"** → When all stories are defined and bolts planned
|
|
92
|
+
- **"What's the difference from Agile?"** → AI-DLC is AI-native, rapid iterations, integrated design
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Output
|
|
97
|
+
|
|
98
|
+
Provide a tailored explanation based on the user's question:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## {Topic} Explained
|
|
102
|
+
|
|
103
|
+
{Clear, concise explanation}
|
|
104
|
+
|
|
105
|
+
### Your Current Context
|
|
106
|
+
{Where user is in the flow, if known}
|
|
107
|
+
|
|
108
|
+
### What This Means For You
|
|
109
|
+
{Practical implications}
|
|
110
|
+
|
|
111
|
+
### Actions
|
|
112
|
+
|
|
113
|
+
1 - **proceed**: Execute recommended action
|
|
114
|
+
2 - **more**: Learn more about this topic
|
|
115
|
+
3 - **different**: Ask about something else
|
|
116
|
+
|
|
117
|
+
### Suggested Next Step
|
|
118
|
+
→ **proceed** - {Recommended action}
|
|
119
|
+
|
|
120
|
+
**Type a number or press Enter for suggested action.**
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Human Validation Point
|
|
126
|
+
|
|
127
|
+
> "Does this explanation help? Would you like me to elaborate on any part, or are you ready to proceed with {next action}?"
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Transition
|
|
132
|
+
|
|
133
|
+
After explanation:
|
|
134
|
+
|
|
135
|
+
- → **Route Request** (`.specsmd/skills/master/route-request.md`) - if user wants to proceed
|
|
136
|
+
- → **Answer Question** (`.specsmd/skills/master/answer-question.md`) - if user has more questions
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Test Contract
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
input: User question about AI-DLC flow
|
|
144
|
+
output: Tailored explanation with current position highlighted
|
|
145
|
+
checkpoints: 0 (educational only)
|
|
146
|
+
```
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
# Skill: Project Init
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Setup skill to initialize a new project by facilitating creation of project standards through guided conversation.
|
|
8
|
+
|
|
9
|
+
**NO Checkpoint** - Project initialization is a setup process. Standards are confirmed individually during the conversation.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
Initialize a new project by facilitating the creation of project standards through guided conversation. Standards ensure AI agents have the context needed to generate consistent, high-quality code.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
|
|
21
|
+
- **Required**: `.specsmd/aidlc/templates/standards/catalog.yaml` - defines available standards
|
|
22
|
+
- **Optional**: Project type hint from user (e.g., "full-stack web app", "backend API")
|
|
23
|
+
- **Optional**: Existing standards files to review/update
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Process
|
|
28
|
+
|
|
29
|
+
### 1. Load Standards Catalog
|
|
30
|
+
|
|
31
|
+
Read `.specsmd/aidlc/templates/standards/catalog.yaml` to understand:
|
|
32
|
+
|
|
33
|
+
- Available standards and their importance
|
|
34
|
+
- Decisions within each standard
|
|
35
|
+
- Dependencies between standards
|
|
36
|
+
- Project type presets
|
|
37
|
+
|
|
38
|
+
### 2. Determine Project Type
|
|
39
|
+
|
|
40
|
+
Ask the user what kind of project they're building:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
## Project Setup
|
|
44
|
+
|
|
45
|
+
Before we dive into technical choices, what kind of project are you building?
|
|
46
|
+
|
|
47
|
+
1. **Full-stack web app** - Frontend + backend + database
|
|
48
|
+
2. **Backend API** - API service, no frontend
|
|
49
|
+
3. **Frontend app** - SPA or SSR frontend
|
|
50
|
+
4. **CLI tool** - Command-line application
|
|
51
|
+
5. **Library** - Reusable package/module
|
|
52
|
+
6. **Other** - Tell me more
|
|
53
|
+
|
|
54
|
+
This helps me know which standards we need to discuss.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Use the project type to determine:
|
|
58
|
+
|
|
59
|
+
- Required standards (must create)
|
|
60
|
+
- Recommended standards (suggest, but optional)
|
|
61
|
+
- Skippable standards (not relevant)
|
|
62
|
+
|
|
63
|
+
**IMPORTANT**: After determining project type, immediately save it to `memory-bank/project.yaml`:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
# Project Configuration
|
|
67
|
+
# Generated by project-init
|
|
68
|
+
|
|
69
|
+
project_type: {selected-type} # e.g., full-stack-web, backend-api, frontend-app, cli-tool, library
|
|
70
|
+
initialized_at: {ISO timestamp}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
This file MUST be created before proceeding to standards facilitation, as other agents (e.g., Inception) read it to provide context-aware suggestions.
|
|
74
|
+
|
|
75
|
+
### 3. Check Existing Standards
|
|
76
|
+
|
|
77
|
+
Before creating new standards, check if any exist:
|
|
78
|
+
|
|
79
|
+
- Read `standards/` directory
|
|
80
|
+
- If files exist, ask: "I found existing standards. Do you want to review and update them, or start fresh?"
|
|
81
|
+
|
|
82
|
+
### 4. Facilitate Each Standard
|
|
83
|
+
|
|
84
|
+
For each required/recommended standard:
|
|
85
|
+
|
|
86
|
+
1. **Load the facilitation guide** from `templates/standards/{standard}.guide.md`
|
|
87
|
+
2. **Follow the guide's discovery process** - don't invent your own questions
|
|
88
|
+
3. **Adapt to user expertise** - be concise with experts, explanatory with newcomers
|
|
89
|
+
4. **Confirm before saving** - summarize choices, get approval
|
|
90
|
+
5. **Generate the standard file** - using the output format in the guide
|
|
91
|
+
6. **Save to path** defined in catalog (`output_path`)
|
|
92
|
+
|
|
93
|
+
### 5. Order of Standards
|
|
94
|
+
|
|
95
|
+
Follow dependency order from catalog:
|
|
96
|
+
|
|
97
|
+
1 - **tech-stack**: No dependencies
|
|
98
|
+
2 - **coding-standards**: Depends on tech-stack
|
|
99
|
+
3 - **system-architecture**: Depends on tech-stack (optional)
|
|
100
|
+
4 - **ux-guide**: Depends on tech-stack (optional)
|
|
101
|
+
5 - **api-conventions**: Depends on tech-stack (optional)
|
|
102
|
+
|
|
103
|
+
Never create a standard before its dependencies are satisfied.
|
|
104
|
+
|
|
105
|
+
### 6. Handle Optional Standards
|
|
106
|
+
|
|
107
|
+
For optional/recommended standards:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
## Optional: {Standard Name}
|
|
111
|
+
|
|
112
|
+
Based on your project type, this standard is recommended but not required:
|
|
113
|
+
- **{standard}**: {description from catalog}
|
|
114
|
+
|
|
115
|
+
Would you like to define this now, or skip for later?
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Facilitation Principles
|
|
121
|
+
|
|
122
|
+
### Adaptive Communication
|
|
123
|
+
|
|
124
|
+
**Read user signals:**
|
|
125
|
+
|
|
126
|
+
- Mentions specific tech confidently → treat as experienced
|
|
127
|
+
- Asks "what do you recommend?" → provide guidance
|
|
128
|
+
- Says "I don't know" → explain tradeoffs, suggest defaults
|
|
129
|
+
- Has strong opinions → respect them, validate coherence
|
|
130
|
+
|
|
131
|
+
**Adjust your style:**
|
|
132
|
+
|
|
133
|
+
- Expert: "TypeScript with Next.js? Got it. Deployment target?"
|
|
134
|
+
- Beginner: "TypeScript is great for catching bugs early. Since you mentioned React, Next.js would give you server-side rendering and easy deployment..."
|
|
135
|
+
|
|
136
|
+
### Collaborative Discovery
|
|
137
|
+
|
|
138
|
+
- **Don't interrogate** - have a conversation
|
|
139
|
+
- **Build context** - previous answers inform later questions
|
|
140
|
+
- **Surface tradeoffs** - help them make informed decisions
|
|
141
|
+
- **Capture rationale** - "why" is as important as "what"
|
|
142
|
+
|
|
143
|
+
### Question Format (CRITICAL)
|
|
144
|
+
|
|
145
|
+
**ALWAYS format questions like this:**
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
## [Topic Name]
|
|
149
|
+
|
|
150
|
+
[Brief context if needed - 1-2 sentences max]
|
|
151
|
+
|
|
152
|
+
1. **Option A** - description
|
|
153
|
+
2. **Option B** - description
|
|
154
|
+
3. **Option C** - description
|
|
155
|
+
4. **Other** - let me know
|
|
156
|
+
|
|
157
|
+
Type a number or describe your choice.
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Example - GOOD:**
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## Database
|
|
164
|
+
|
|
165
|
+
1. **SQLite** - Simple, file-based, great for small apps
|
|
166
|
+
2. **PostgreSQL** - Robust, scalable, widely supported
|
|
167
|
+
3. **MySQL** - Popular, good for web apps
|
|
168
|
+
4. **MongoDB** - Document store, flexible schema
|
|
169
|
+
5. **TBD** - Decide later
|
|
170
|
+
|
|
171
|
+
Type a number or tell me your preference.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Example - BAD (never do this):**
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
What database are you using? And where will you deploy? Also what's your auth strategy?
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**If user gives partial answer:**
|
|
181
|
+
> User says "PostgreSQL"
|
|
182
|
+
> You asked about database AND deployment
|
|
183
|
+
> → Acknowledge the database choice, then re-ask ONLY about deployment
|
|
184
|
+
|
|
185
|
+
### Practical Defaults
|
|
186
|
+
|
|
187
|
+
When user is unsure, offer sensible defaults:
|
|
188
|
+
> "For a TypeScript web app, most teams start with: Prettier for formatting, ESLint with strict mode, and Vitest for testing. These are well-supported and work great with AI code generation. Sound good as a starting point?"
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Output
|
|
193
|
+
|
|
194
|
+
After completing all standards:
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
## Project Initialization Complete
|
|
198
|
+
|
|
199
|
+
### Standards Created
|
|
200
|
+
|
|
201
|
+
- ✅ **Tech Stack**: Created at `standards/tech-stack.md`
|
|
202
|
+
- ✅ **Coding Standards**: Created at `standards/coding-standards.md`
|
|
203
|
+
- ⏭️ **System Architecture**: Skipped
|
|
204
|
+
- ⏭️ **UX Guide**: Skipped
|
|
205
|
+
- ⏭️ **API Conventions**: Skipped
|
|
206
|
+
|
|
207
|
+
### Summary
|
|
208
|
+
|
|
209
|
+
Your project is configured as a **{project type}** using:
|
|
210
|
+
- **Language**: {language}
|
|
211
|
+
- **Framework**: {framework}
|
|
212
|
+
- **Database**: {database or "TBD"}
|
|
213
|
+
|
|
214
|
+
### What These Standards Enable
|
|
215
|
+
|
|
216
|
+
AI agents will now:
|
|
217
|
+
- Generate code matching your style preferences
|
|
218
|
+
- Use your chosen libraries and patterns
|
|
219
|
+
- Follow your testing strategy
|
|
220
|
+
- Understand your project structure
|
|
221
|
+
|
|
222
|
+
### Actions
|
|
223
|
+
|
|
224
|
+
1 - **inception**: Create your first intent
|
|
225
|
+
2 - **standards**: Add more optional standards
|
|
226
|
+
3 - **menu**: Return to main menu
|
|
227
|
+
|
|
228
|
+
### Suggested Next Step
|
|
229
|
+
→ **inception** - Create your first intent with `/specsmd-inception-agent`
|
|
230
|
+
|
|
231
|
+
**Type a number or press Enter for suggested action.**
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Human Validation Points
|
|
237
|
+
|
|
238
|
+
At each standard completion:
|
|
239
|
+
> "I've captured your {standard} preferences. Here's the summary: {brief summary}. Does this look right? Any changes before I save?"
|
|
240
|
+
|
|
241
|
+
At project init completion:
|
|
242
|
+
> "Your project is initialized with {n} standards. AI agents now have the context they need. Ready to create your first intent?"
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Error Handling
|
|
247
|
+
|
|
248
|
+
### Missing Catalog
|
|
249
|
+
|
|
250
|
+
If `catalog.yaml` is not found:
|
|
251
|
+
> "I can't find the standards catalog. Please ensure `.specsmd/aidlc/templates/standards/catalog.yaml` exists."
|
|
252
|
+
|
|
253
|
+
### Missing Guide
|
|
254
|
+
|
|
255
|
+
If a facilitation guide is missing:
|
|
256
|
+
> "The facilitation guide for {standard} is missing. I'll skip this standard. You can create it manually at `standards/{standard}.md`."
|
|
257
|
+
|
|
258
|
+
### Dependency Not Met
|
|
259
|
+
|
|
260
|
+
If trying to create a standard before its dependency:
|
|
261
|
+
> "We need to define {dependency} before {standard}. Let's do that first."
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Transition
|
|
266
|
+
|
|
267
|
+
After project initialization:
|
|
268
|
+
|
|
269
|
+
- → **Inception Agent** (`.specsmd/agents/inception-agent.md`) - to create first intent
|
|
270
|
+
- → **Analyze Context** (`.specsmd/skills/master/analyze-context.md`) - if user wants to see project state
|
|
271
|
+
- → **Project Init** again - to add optional standards later
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Test Contract
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
input: User responses to standards questions
|
|
279
|
+
output: Created standards files in standards/ directory
|
|
280
|
+
checkpoints: 0 (setup process with inline confirmations)
|
|
281
|
+
```
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Skill: Route Request
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Routing skill to direct users to the appropriate specialist agent based on context and request.
|
|
8
|
+
|
|
9
|
+
**NO Checkpoint** - Routing is a navigation function, not a decision point.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
|
|
15
|
+
Direct the user to the appropriate specialist agent based on their current context and request.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Input
|
|
20
|
+
|
|
21
|
+
- **Required**: Completed context analysis (from `analyze-context.md`)
|
|
22
|
+
- **Required**: User's request or intent
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
### 1. Match State to Agent
|
|
29
|
+
|
|
30
|
+
Based on project state:
|
|
31
|
+
|
|
32
|
+
- **No intents / New feature request** → Inception Agent → `/specsmd-inception-agent`
|
|
33
|
+
- **Intent exists, needs elaboration** → Inception Agent → `/specsmd-inception-agent --intent="{name}"`
|
|
34
|
+
- **Ready for construction** → Construction Agent → `/specsmd-construction-agent --unit="{name}"`
|
|
35
|
+
- **Bolt in progress** → Construction Agent → `/specsmd-construction-agent --unit="{name}" --bolt-id="{id}"`
|
|
36
|
+
- **Ready for deployment** → Operations Agent → `/specsmd-operations-agent --unit="{name}"`
|
|
37
|
+
- **In production, needs monitoring** → Operations Agent → `/specsmd-operations-agent --unit="{name}"`
|
|
38
|
+
|
|
39
|
+
### 2. Handle Special Cases
|
|
40
|
+
|
|
41
|
+
**User asks about something different than current state**:
|
|
42
|
+
> "I see you're in {current phase}, but you're asking about {different thing}. Let me help you with that instead."
|
|
43
|
+
|
|
44
|
+
**User is confused about what to do**:
|
|
45
|
+
> "Based on your project state, the logical next step is {action}. Would you like me to route you there, or do you have something else in mind?"
|
|
46
|
+
|
|
47
|
+
**Multiple options available**:
|
|
48
|
+
> "You have several options at this point:
|
|
49
|
+
>
|
|
50
|
+
> 1. {Option 1} → {command}
|
|
51
|
+
> 2. {Option 2} → {command}
|
|
52
|
+
> Which would you like to pursue?"
|
|
53
|
+
|
|
54
|
+
### 3. Provide Clear Handoff
|
|
55
|
+
|
|
56
|
+
Always include:
|
|
57
|
+
|
|
58
|
+
1. The specific command to run
|
|
59
|
+
2. What parameters to include
|
|
60
|
+
3. What the agent will help them do
|
|
61
|
+
4. What to expect next
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Output
|
|
66
|
+
|
|
67
|
+
````markdown
|
|
68
|
+
## Routing Recommendation
|
|
69
|
+
|
|
70
|
+
Based on your current state ({phase}) and request ({what user wants}):
|
|
71
|
+
|
|
72
|
+
### Recommended Action
|
|
73
|
+
→ **{Agent Name}**: {brief description of what it does}
|
|
74
|
+
|
|
75
|
+
### Command
|
|
76
|
+
```text
|
|
77
|
+
{exact command with parameters}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### What Happens Next
|
|
81
|
+
|
|
82
|
+
{Description of what the agent will guide them through}
|
|
83
|
+
|
|
84
|
+
### Actions
|
|
85
|
+
|
|
86
|
+
1 - **proceed**: Run the recommended command
|
|
87
|
+
2 - **different**: Choose a different option
|
|
88
|
+
3 - **explain**: Learn more about the target agent
|
|
89
|
+
|
|
90
|
+
### Suggested Next Step
|
|
91
|
+
|
|
92
|
+
→ **proceed** - Run the command above
|
|
93
|
+
|
|
94
|
+
**Type a number or press Enter for suggested action.**
|
|
95
|
+
````
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Human Validation Point
|
|
100
|
+
|
|
101
|
+
> "I'm routing you to the {Agent Name}. This agent will help you {specific task}. Does this match what you're trying to accomplish?"
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Transition
|
|
106
|
+
|
|
107
|
+
After routing:
|
|
108
|
+
|
|
109
|
+
- User runs the provided command
|
|
110
|
+
- Control transfers to the target agent
|
|
111
|
+
- Master Agent is no longer active
|
|
112
|
+
|
|
113
|
+
If user declines routing:
|
|
114
|
+
|
|
115
|
+
- → **Answer Question** (`.specsmd/skills/master/answer-question.md`) - clarify their needs
|
|
116
|
+
- → **Explain Flow** (`.specsmd/skills/master/explain-flow.md`) - explain the methodology
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Test Contract
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
input: Context analysis + user request
|
|
124
|
+
output: Routing recommendation with exact command
|
|
125
|
+
checkpoints: 0 (routing only)
|
|
126
|
+
```
|