prizmkit 1.0.121 → 1.0.123
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/bundled/VERSION.json +3 -3
- package/bundled/dev-pipeline/README.md +5 -6
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +2 -2
- package/bundled/dev-pipeline/launch-daemon.sh +6 -6
- package/bundled/dev-pipeline/run.sh +5 -56
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +3 -27
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +13 -2
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +38 -17
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +18 -75
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +0 -14
- package/bundled/skills/_metadata.json +1 -1
- package/bundled/skills/app-planner/assets/evaluation-guide.md +2 -2
- package/bundled/skills/bug-fix-workflow/SKILL.md +94 -26
- package/bundled/skills/feature-workflow/SKILL.md +179 -37
- package/bundled/skills/prizm-kit/SKILL.md +1 -1
- package/bundled/skills/prizmkit-implement/SKILL.md +49 -1
- package/bundled/skills/prizmkit-retrospective/SKILL.md +3 -133
- package/bundled/skills/refactor-workflow/SKILL.md +118 -55
- package/package.json +1 -1
|
@@ -15,9 +15,9 @@ npm run skill:review -- \
|
|
|
15
15
|
--workspace /.codebuddy/skill-evals/app-planner-workspace \
|
|
16
16
|
--iteration iteration-N \
|
|
17
17
|
--skill-name app-planner \
|
|
18
|
-
--skill-path
|
|
18
|
+
--skill-path ${SKILL_DIR} \
|
|
19
19
|
--runs 3 \
|
|
20
|
-
--grader-cmd "python3 /
|
|
20
|
+
--grader-cmd "python3 ${SKILL_DIR}/scripts/validate-and-generate.py grade --workspace {workspace} --iteration {iteration}"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Produces:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bug-fix-workflow"
|
|
3
3
|
tier: companion
|
|
4
|
-
description: "Interactive single-bug fix in current session. Guides through triage → reproduce → fix → review → commit without the background pipeline. Use this skill when the user wants to fix one specific bug right now, interactively. Trigger on: 'fix this bug', 'debug this', 'fix B-001', 'help me fix', 'let me fix this bug myself', 'fix this bug', 'interactive fix', 'manually fix bug'. (project)"
|
|
4
|
+
description: "Interactive single-bug fix in current session. Guides through deep diagnosis Q&A → triage → reproduce → fix → review → commit without the background pipeline. Use this skill when the user wants to fix one specific bug right now, interactively. Trigger on: 'fix this bug', 'debug this', 'fix B-001', 'help me fix', 'let me fix this bug myself', 'fix this bug', 'interactive fix', 'manually fix bug'. (project)"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Bug Fix Workflow
|
|
@@ -79,17 +79,82 @@ For trivial bugs with clear root cause and minimal scope:
|
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
82
|
-
### Phase 1:
|
|
82
|
+
### Phase 1: Deep Bug Diagnosis — Interactive Q&A
|
|
83
83
|
|
|
84
|
-
**Goal**:
|
|
84
|
+
**Goal**: Fully understand the bug before touching any code. Vague bug reports lead to incorrect fixes that mask the real issue or introduce new bugs.
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
**CRITICAL RULE**: Ask as many questions as needed until the bug is fully understood. Do NOT rush into code. A misdiagnosed bug leads to a wrong fix, which is worse than no fix.
|
|
87
|
+
|
|
88
|
+
#### Step 1.1: Initial Bug Information Gathering
|
|
89
|
+
|
|
90
|
+
- If bug ID given (e.g. B-001): read entry from `bug-fix-list.json` — but DO NOT assume the description is complete
|
|
91
|
+
- If raw error/stack trace: extract error message, affected files, line numbers
|
|
92
|
+
- If natural language description: start the deep-dive Q&A below
|
|
93
|
+
|
|
94
|
+
#### Step 1.2: Systematic Bug Clarification
|
|
95
|
+
|
|
96
|
+
Ask questions across these dimensions until every aspect is clear. **Adapt to what the user has already provided** — skip questions that are already answered.
|
|
97
|
+
|
|
98
|
+
**Reproduction Conditions:**
|
|
99
|
+
- What exact steps trigger the bug? (step-by-step)
|
|
100
|
+
- Which environment/browser/OS/version?
|
|
101
|
+
- Is it reproducible every time, or intermittent?
|
|
102
|
+
- When did it first appear? (after a specific change/deploy?)
|
|
103
|
+
- Does it happen for all users or only specific accounts/roles/data?
|
|
104
|
+
|
|
105
|
+
**Expected vs Actual Behavior:**
|
|
106
|
+
- What should happen? (the correct behavior)
|
|
107
|
+
- What actually happens? (the buggy behavior)
|
|
108
|
+
- Is there partial functionality (e.g., works for some inputs but not others)?
|
|
109
|
+
|
|
110
|
+
**Scope and Impact:**
|
|
111
|
+
- Which features/pages/modules are affected?
|
|
112
|
+
- Are there workarounds users are currently using?
|
|
113
|
+
- Is this blocking other work?
|
|
114
|
+
- Are there related symptoms elsewhere?
|
|
115
|
+
|
|
116
|
+
**Data and State:**
|
|
117
|
+
- What data/state triggers the issue? (specific input values, DB state, user session state)
|
|
118
|
+
- Does the bug involve data corruption or just incorrect display/behavior?
|
|
119
|
+
- If database-related: which tables/records are affected?
|
|
120
|
+
|
|
121
|
+
**Error Details** (if not already provided):
|
|
122
|
+
- Full error message and stack trace?
|
|
123
|
+
- Browser console errors?
|
|
124
|
+
- Server-side logs?
|
|
125
|
+
- Network request/response details?
|
|
126
|
+
|
|
127
|
+
#### Step 1.3: Confirmation Before Triage
|
|
128
|
+
|
|
129
|
+
Summarize the bug understanding:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Bug Summary:
|
|
133
|
+
- Symptom: [what happens]
|
|
134
|
+
- Reproduction: [exact steps]
|
|
135
|
+
- Environment: [where it occurs]
|
|
136
|
+
- Expected: [correct behavior]
|
|
137
|
+
- Impact: [who/what is affected]
|
|
138
|
+
- Data trigger: [what data/state causes it]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Ask the user: "Is this summary accurate? Any details to add?"
|
|
142
|
+
|
|
143
|
+
**CHECKPOINT CP-BFW-1**: Bug fully understood and confirmed by user.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Phase 2: Triage
|
|
148
|
+
|
|
149
|
+
**Goal**: Locate affected code, identify root cause, classify severity.
|
|
150
|
+
|
|
151
|
+
1. **Read project context**: `.prizm-docs/root.prizm` → relevant L1/L2 docs for affected modules
|
|
152
|
+
2. **Locate affected code**: read the files mentioned in the error/stack trace or identified during diagnosis
|
|
153
|
+
3. **Check known issues**: search `.prizm-docs/` TRAPS sections for matching patterns
|
|
154
|
+
4. **If database-related**: read existing schema/model files to understand the data layer
|
|
155
|
+
```bash
|
|
156
|
+
find . -maxdepth 4 -type f \( -name "*.prisma" -o -name "*.sql" -o -path "*/migrations/*" -o -path "*/models/*" -o -name "schema.*" -o -name "*.entity.*" \) -not -path '*/node_modules/*' -not -path '*/.git/*' | head -20
|
|
157
|
+
```
|
|
93
158
|
5. **Classify**: root cause (confirmed/suspected), blast radius, fix complexity
|
|
94
159
|
6. **Present diagnosis to user**:
|
|
95
160
|
```
|
|
@@ -100,7 +165,7 @@ For trivial bugs with clear root cause and minimal scope:
|
|
|
100
165
|
```
|
|
101
166
|
Ask: "Does this diagnosis look right? Should I proceed with the fix?"
|
|
102
167
|
|
|
103
|
-
### Phase
|
|
168
|
+
### Phase 3: Reproduce
|
|
104
169
|
|
|
105
170
|
**Goal**: Create a failing test that proves the bug exists.
|
|
106
171
|
|
|
@@ -113,9 +178,9 @@ For trivial bugs with clear root cause and minimal scope:
|
|
|
113
178
|
If the bug is hard to reproduce automatically (e.g. environment-specific):
|
|
114
179
|
- Ask the user for reproduction steps
|
|
115
180
|
- Write a manual reproduction checklist instead
|
|
116
|
-
- Proceed to Phase
|
|
181
|
+
- Proceed to Phase 4 with the manual checklist
|
|
117
182
|
|
|
118
|
-
### Phase
|
|
183
|
+
### Phase 4: Fix
|
|
119
184
|
|
|
120
185
|
**Goal**: Implement the minimal fix. Red test → green.
|
|
121
186
|
|
|
@@ -123,6 +188,7 @@ If the bug is hard to reproduce automatically (e.g. environment-specific):
|
|
|
123
188
|
- Change the minimum amount of code to fix the root cause
|
|
124
189
|
- Do NOT refactor or add unrelated improvements — fix the bug only
|
|
125
190
|
- Follow existing code conventions (read from `.prizm-docs/` RULES/PATTERNS)
|
|
191
|
+
- If the fix involves database changes: read existing schema first, follow existing naming/constraint conventions
|
|
126
192
|
2. **Run the reproduction test** → must **pass** (green)
|
|
127
193
|
3. **Run the full module test suite** → must pass (no regressions)
|
|
128
194
|
4. **Show the fix to user**:
|
|
@@ -135,7 +201,7 @@ If the fix causes test regressions:
|
|
|
135
201
|
- Revise the fix (max 3 attempts)
|
|
136
202
|
- If still failing after 3 attempts, escalate to user with analysis
|
|
137
203
|
|
|
138
|
-
### Phase
|
|
204
|
+
### Phase 5: Review
|
|
139
205
|
|
|
140
206
|
**Goal**: Verify fix quality before committing.
|
|
141
207
|
|
|
@@ -156,7 +222,7 @@ If the fix causes test regressions:
|
|
|
156
222
|
Ready to commit.
|
|
157
223
|
```
|
|
158
224
|
|
|
159
|
-
### Phase
|
|
225
|
+
### Phase 6: User Verification
|
|
160
226
|
|
|
161
227
|
**Goal**: Let the user verify the fix works as expected before committing.
|
|
162
228
|
|
|
@@ -166,15 +232,15 @@ If the fix causes test regressions:
|
|
|
166
232
|
- **(c) Skip verification** — Proceed directly to commit (automated tests already pass)
|
|
167
233
|
2. **If (a)**: Detect and suggest dev server command (e.g. `npm run dev`, `python manage.py runserver`), start it, wait for user confirmation: "Fix verified? (yes/no)"
|
|
168
234
|
3. **If (b)**: Run the specified command, show results, ask confirmation
|
|
169
|
-
4. **If (c)**: Proceed to Phase
|
|
235
|
+
4. **If (c)**: Proceed to Phase 7
|
|
170
236
|
|
|
171
237
|
If user reports the fix is NOT working:
|
|
172
|
-
- Return to Phase
|
|
238
|
+
- Return to Phase 4 (max 2 more attempts)
|
|
173
239
|
- If still failing: escalate with analysis
|
|
174
240
|
|
|
175
241
|
---
|
|
176
242
|
|
|
177
|
-
### Phase
|
|
243
|
+
### Phase 7: Commit & Merge
|
|
178
244
|
|
|
179
245
|
**Goal**: Commit the fix and offer to merge back to the original branch.
|
|
180
246
|
|
|
@@ -215,11 +281,11 @@ The workflow supports resuming from the last completed phase by detecting existi
|
|
|
215
281
|
| Artifact Found | Resume From |
|
|
216
282
|
|---------------|------------|
|
|
217
283
|
| (nothing) | Phase 0: Branch Setup |
|
|
218
|
-
| On `fix/<BUG_ID>-*` branch, no artifacts | Phase 1:
|
|
219
|
-
| `fix-plan.md` only | Phase
|
|
220
|
-
| `fix-plan.md` + code changes exist | Phase
|
|
221
|
-
| All docs + review passed | Phase
|
|
222
|
-
| All docs + committed | Phase
|
|
284
|
+
| On `fix/<BUG_ID>-*` branch, no artifacts | Phase 1: Deep Bug Diagnosis |
|
|
285
|
+
| `fix-plan.md` only | Phase 4: Fix |
|
|
286
|
+
| `fix-plan.md` + code changes exist | Phase 5: Review |
|
|
287
|
+
| All docs + review passed | Phase 6: User Verification |
|
|
288
|
+
| All docs + committed | Phase 7: Merge decision |
|
|
223
289
|
|
|
224
290
|
**Resume**: If `<BUG_ID>` matches an existing `.prizmkit/bugfix/<BUG_ID>/` directory, resume instead of starting fresh.
|
|
225
291
|
|
|
@@ -236,12 +302,13 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
236
302
|
## Comparison with Pipeline Bug Fix
|
|
237
303
|
|
|
238
304
|
| Dimension | bug-fix-workflow (this skill) | bugfix-pipeline-launcher |
|
|
239
|
-
|
|
305
|
+
|-----------|-------------------------------|-----------------------------|
|
|
240
306
|
| Scope | One bug at a time | All bugs in batch |
|
|
241
307
|
| Execution | Interactive, in-session | Foreground or background daemon |
|
|
308
|
+
| Diagnosis | Deep interactive Q&A with user | Automated from bug description |
|
|
242
309
|
| Branch | Creates `fix/<BUG_ID>-*` branch | Pipeline manages branches |
|
|
243
310
|
| Visibility | Full user interaction at each phase | Async, check status periodically |
|
|
244
|
-
| User verification | Yes (Phase
|
|
311
|
+
| User verification | Yes (Phase 6) | No (automated) |
|
|
245
312
|
| Best for | Complex bugs needing user input | Batch of well-defined bugs |
|
|
246
313
|
| Artifacts | Same (fix-plan.md + fix-report.md) | Same |
|
|
247
314
|
| Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
|
|
@@ -251,6 +318,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
251
318
|
| Scenario | Action |
|
|
252
319
|
|----------|--------|
|
|
253
320
|
| Bug ID not found in bug-fix-list.json | Ask user to provide bug details directly |
|
|
321
|
+
| User's bug description is too vague | Ask systematic clarification questions (Phase 1) |
|
|
254
322
|
| Cannot reproduce the bug | Ask for more context, try alternative reproduction |
|
|
255
323
|
| Fix causes regressions | Revert, analyze, retry (max 3 rounds) |
|
|
256
324
|
| Root cause unclear after investigation | Present findings, ask user for guidance |
|
|
@@ -264,7 +332,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
264
332
|
| `bug-planner` | **this skill** | User picks one bug to fix interactively |
|
|
265
333
|
| `bugfix-pipeline-launcher` | **this skill** | User wants to fix a stuck/complex bug manually |
|
|
266
334
|
| **this skill** | `bugfix-pipeline-launcher` | After fixing, user wants to continue with remaining bugs |
|
|
267
|
-
| **this skill** | `prizmkit-committer` | Built into Phase
|
|
335
|
+
| **this skill** | `prizmkit-committer` | Built into Phase 7 (pure commit, no doc sync) |
|
|
268
336
|
|
|
269
337
|
## Output
|
|
270
338
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "feature-workflow"
|
|
3
3
|
tier: companion
|
|
4
|
-
description: "One-stop entry point for feature development.
|
|
4
|
+
description: "One-stop entry point for feature development. Brainstorms requirements with the user until fully clarified, then orchestrates app-planner → dev-pipeline-launcher → execution. Handles multi-feature batch development from a single request. Use this skill whenever the user wants to build an app, develop multiple features at once, or go from idea to running code in one step. Trigger on: 'build an app', 'develop features', 'implement all features', 'one-stop development', 'batch implement', 'build a new application', 'build a system', 'one-click complete', 'batch implement'. (project)"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Feature Workflow
|
|
8
8
|
|
|
9
|
-
One-stop entry point for feature development.
|
|
9
|
+
One-stop entry point for feature development. Covers the complete journey from a vague idea to running code: deep requirement brainstorming → structured planning → autonomous pipeline execution.
|
|
10
10
|
|
|
11
11
|
## When to Use
|
|
12
12
|
|
|
@@ -28,33 +28,38 @@ User says:
|
|
|
28
28
|
## Overview
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
feature-workflow <requirements
|
|
31
|
+
feature-workflow <idea / requirements>
|
|
32
32
|
│
|
|
33
|
-
├── Phase 1:
|
|
33
|
+
├── Phase 1: Brainstorm → deep interactive Q&A until requirements are crystal clear
|
|
34
34
|
│
|
|
35
|
-
├── Phase 2:
|
|
35
|
+
├── Phase 2: Plan → app-planner → feature-list.json
|
|
36
36
|
│
|
|
37
|
-
|
|
37
|
+
├── Phase 3: Launch → dev-pipeline-launcher → pipeline execution
|
|
38
|
+
│
|
|
39
|
+
└── Phase 4: Monitor → track progress → report results
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
### What This Skill Does
|
|
41
43
|
|
|
42
44
|
| Phase | Action | Result |
|
|
43
45
|
|-------|--------|--------|
|
|
44
|
-
| 1 |
|
|
45
|
-
| 2 | Call `
|
|
46
|
-
| 3 |
|
|
46
|
+
| 1 | **Brainstorm** — interactive Q&A with user | Fully clarified requirements document |
|
|
47
|
+
| 2 | Call `app-planner` with clarified requirements | `feature-list.json` with N features |
|
|
48
|
+
| 3 | Call `dev-pipeline-launcher` | Pipeline started (execution mode chosen by user via launcher) |
|
|
49
|
+
| 4 | Monitor progress | Status updates, completion report |
|
|
47
50
|
|
|
48
51
|
### Why This Skill Exists
|
|
49
52
|
|
|
50
53
|
Without this skill, users must:
|
|
51
|
-
1.
|
|
52
|
-
2. Invoke `
|
|
53
|
-
3.
|
|
54
|
+
1. Figure out all requirements themselves
|
|
55
|
+
2. Invoke `app-planner` → wait for feature-list.json
|
|
56
|
+
3. Invoke `dev-pipeline-launcher` → wait for pipeline start
|
|
57
|
+
4. Manually check progress
|
|
54
58
|
|
|
55
59
|
With this skill, users can:
|
|
56
|
-
1. Say "Build a task management App"
|
|
57
|
-
2.
|
|
60
|
+
1. Say "Build a task management App" with a rough idea
|
|
61
|
+
2. The skill brainstorms to fill in all gaps
|
|
62
|
+
3. All planning + execution happens automatically
|
|
58
63
|
|
|
59
64
|
### Branch Management
|
|
60
65
|
|
|
@@ -74,18 +79,19 @@ Natural language description of the project or features. Can be:
|
|
|
74
79
|
- A batch of features: "Implement user registration, login, and password recovery features"
|
|
75
80
|
- An incremental request: "Add user avatar upload and nickname modification to the existing system"
|
|
76
81
|
|
|
77
|
-
Flow: app-planner → dev-pipeline-launcher → monitor
|
|
82
|
+
Flow: brainstorm → app-planner → dev-pipeline-launcher → monitor
|
|
78
83
|
|
|
79
84
|
**Mode B: From existing feature-list.json**
|
|
80
85
|
|
|
81
86
|
When user says "run pipeline from existing file" or feature-list.json already exists:
|
|
82
|
-
- Skip `app-planner` (file already exists)
|
|
87
|
+
- Skip brainstorm and `app-planner` (file already exists)
|
|
83
88
|
- Invoke `dev-pipeline-launcher` directly
|
|
84
89
|
- Monitor and report progress
|
|
85
90
|
|
|
86
91
|
**Mode C: Incremental (add to existing project)**
|
|
87
92
|
|
|
88
93
|
When user says "add features to existing project" or the project already has features:
|
|
94
|
+
- Brainstorm new feature requirements with the user
|
|
89
95
|
- Invoke `app-planner` in incremental mode (reads existing feature-list.json)
|
|
90
96
|
- Append new features to existing list
|
|
91
97
|
- Invoke `dev-pipeline-launcher`
|
|
@@ -93,19 +99,151 @@ When user says "add features to existing project" or the project already has fea
|
|
|
93
99
|
|
|
94
100
|
---
|
|
95
101
|
|
|
96
|
-
## Phase 1:
|
|
102
|
+
## Phase 1: Brainstorm — Deep Requirement Clarification
|
|
103
|
+
|
|
104
|
+
**Goal**: Through interactive Q&A, transform the user's rough idea into fully clarified, implementation-ready requirements. This phase is the foundation for high-quality code generation — vague requirements produce vague code.
|
|
105
|
+
|
|
106
|
+
**CRITICAL RULE**: The number of questions is **unlimited**. Do NOT rush through this phase. Ask as many rounds as needed until every aspect is clear. The framework strives for perfect code generation, which requires perfect understanding of requirements.
|
|
107
|
+
|
|
108
|
+
### Step 1.1: Understand the User's Vision
|
|
109
|
+
|
|
110
|
+
Ask the user to describe what they want to build. Listen for:
|
|
111
|
+
- **What** the system/feature does (core functionality)
|
|
112
|
+
- **Who** uses it (user roles, personas)
|
|
113
|
+
- **Why** it's needed (business value, problem being solved)
|
|
114
|
+
|
|
115
|
+
### Step 1.2: Context Gathering
|
|
116
|
+
|
|
117
|
+
Before asking detailed questions, gather existing project context:
|
|
118
|
+
- If `.prizm-docs/root.prizm` exists → read it to understand existing architecture, tech stack, patterns
|
|
119
|
+
- If `.prizmkit/config.json` exists → read tech stack preferences
|
|
120
|
+
- If existing source code exists → scan directory structure:
|
|
121
|
+
```bash
|
|
122
|
+
find . -maxdepth 2 -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/build/*' -not -path '*/__pycache__/*' -not -path '*/vendor/*' | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
|
|
123
|
+
```
|
|
124
|
+
- If database/schema files exist → scan them to understand existing data model:
|
|
125
|
+
```bash
|
|
126
|
+
find . -maxdepth 4 -type f \( -name "*.prisma" -o -name "*.sql" -o -path "*/migrations/*" -o -path "*/models/*" -o -name "schema.*" -o -name "*.entity.*" \) -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/__pycache__/*' | head -20
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
This context informs better questions — e.g., if the project uses PostgreSQL + Prisma, ask about schema design in those terms.
|
|
130
|
+
|
|
131
|
+
### Step 1.3: Adaptive Deep-Dive Questioning
|
|
132
|
+
|
|
133
|
+
Based on the user's description, ask questions across these dimensions. **Adapt question depth to the feature complexity** — a simple CRUD feature needs fewer questions than a real-time collaboration system.
|
|
134
|
+
|
|
135
|
+
**Functional Requirements:**
|
|
136
|
+
- What are the core user actions/workflows?
|
|
137
|
+
- What inputs does the system accept? What outputs does it produce?
|
|
138
|
+
- What are the key business rules and validation logic?
|
|
139
|
+
- Are there different user roles with different permissions?
|
|
140
|
+
|
|
141
|
+
**Data Model & Database** (if applicable):
|
|
142
|
+
- What entities/data need to be stored?
|
|
143
|
+
- What are the relationships between entities?
|
|
144
|
+
- Are there existing database tables this feature must integrate with?
|
|
145
|
+
- What fields are required vs optional? What data types?
|
|
146
|
+
- Any unique constraints, indexes, or special query patterns needed?
|
|
147
|
+
- **RULE**: If the project has existing database tables, ALL new table designs must reference and conform to the existing schema style (naming conventions, ID strategy, timestamp patterns, constraint patterns). Ask the user to confirm the data model before proceeding.
|
|
148
|
+
|
|
149
|
+
**User Experience:**
|
|
150
|
+
- What does the user see and interact with?
|
|
151
|
+
- What is the expected flow/sequence of actions?
|
|
152
|
+
- How should errors be displayed to the user?
|
|
153
|
+
- Are there any specific UI/UX requirements?
|
|
154
|
+
|
|
155
|
+
**Integration & Architecture:**
|
|
156
|
+
- Does this feature depend on or affect other features/modules?
|
|
157
|
+
- Any external APIs or services involved?
|
|
158
|
+
- What authentication/authorization model applies?
|
|
159
|
+
- Any real-time requirements (WebSocket, SSE, polling)?
|
|
160
|
+
|
|
161
|
+
**Edge Cases & Error Handling:**
|
|
162
|
+
- What happens when things go wrong? (network failure, invalid input, concurrent access)
|
|
163
|
+
- What are the boundary conditions? (empty states, max limits, permissions denied)
|
|
164
|
+
- Any rate limiting, quotas, or resource constraints?
|
|
165
|
+
|
|
166
|
+
**Non-Functional Requirements:**
|
|
167
|
+
- Performance expectations? (response time, throughput)
|
|
168
|
+
- Scalability considerations?
|
|
169
|
+
- Security requirements? (encryption, audit logs, compliance)
|
|
170
|
+
|
|
171
|
+
### Step 1.4: Iterative Clarification Loop
|
|
172
|
+
|
|
173
|
+
After the initial deep-dive:
|
|
174
|
+
|
|
175
|
+
1. **Summarize** what you've understood so far — present it back to the user
|
|
176
|
+
2. **Identify gaps** — explicitly list any areas that are still unclear or ambiguous
|
|
177
|
+
3. **Ask follow-up questions** for each gap
|
|
178
|
+
4. **Repeat** until the user confirms: "Yes, that covers everything" or "That's clear enough"
|
|
179
|
+
|
|
180
|
+
**Signs that brainstorming is complete:**
|
|
181
|
+
- All functional requirements have concrete acceptance criteria
|
|
182
|
+
- Data model entities and relationships are defined
|
|
183
|
+
- Edge cases and error handling are addressed
|
|
184
|
+
- Integration points are identified
|
|
185
|
+
- The user has confirmed the summary is accurate
|
|
186
|
+
|
|
187
|
+
**Signs that more questions are needed:**
|
|
188
|
+
- User's answers contain vague terms ("handle it appropriately", "make it user-friendly", "standard behavior")
|
|
189
|
+
- Core business rules are undefined ("depends on the situation")
|
|
190
|
+
- Data relationships are unclear ("somehow connected")
|
|
191
|
+
- User says "I'm not sure" — help them think through it with concrete options
|
|
192
|
+
|
|
193
|
+
### Step 1.5: Requirements Summary
|
|
194
|
+
|
|
195
|
+
Once brainstorming is complete, produce a structured requirements summary:
|
|
196
|
+
|
|
197
|
+
```markdown
|
|
198
|
+
## Requirements Summary
|
|
199
|
+
|
|
200
|
+
### Project/Feature: [Name]
|
|
201
|
+
|
|
202
|
+
### Core Functionality
|
|
203
|
+
- [Bullet list of what the system does]
|
|
204
|
+
|
|
205
|
+
### User Roles
|
|
206
|
+
- [Role]: [What they can do]
|
|
207
|
+
|
|
208
|
+
### Data Model Overview
|
|
209
|
+
- [Entity]: [Key fields, relationships]
|
|
210
|
+
|
|
211
|
+
### Key Business Rules
|
|
212
|
+
- [Rule 1]
|
|
213
|
+
- [Rule 2]
|
|
214
|
+
|
|
215
|
+
### Integration Points
|
|
216
|
+
- [External system/API/module]
|
|
217
|
+
|
|
218
|
+
### Edge Cases & Error Handling
|
|
219
|
+
- [Case]: [Expected behavior]
|
|
220
|
+
|
|
221
|
+
### Non-Functional Requirements
|
|
222
|
+
- [Requirement]
|
|
223
|
+
|
|
224
|
+
### Confirmed by user: ✓
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Present this summary to the user and get explicit confirmation before proceeding to Phase 2.
|
|
228
|
+
|
|
229
|
+
**CHECKPOINT CP-FW-0**: Requirements fully clarified and confirmed by user.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Phase 2: Plan
|
|
97
234
|
|
|
98
|
-
**Goal**: Generate structured feature-list.json from
|
|
235
|
+
**Goal**: Generate structured feature-list.json from the clarified requirements.
|
|
99
236
|
|
|
100
237
|
**STEPS**:
|
|
101
238
|
|
|
102
|
-
1. **Invoke `app-planner` skill** with the
|
|
239
|
+
1. **Invoke `app-planner` skill** with the full requirements summary from Phase 1:
|
|
240
|
+
- Pass the structured requirements summary as input — NOT the raw user conversation
|
|
103
241
|
- For new projects: standard planning mode
|
|
104
242
|
- For existing projects with `--incremental`: incremental planning mode
|
|
105
243
|
|
|
106
244
|
2. **Interactive planning** (if app-planner requires clarification):
|
|
107
|
-
-
|
|
108
|
-
-
|
|
245
|
+
- Because Phase 1 was thorough, app-planner should need minimal clarification
|
|
246
|
+
- If questions arise, answer from the Phase 1 context or pass through to user
|
|
109
247
|
|
|
110
248
|
3. **Validate output**:
|
|
111
249
|
- Confirm `feature-list.json` exists
|
|
@@ -113,11 +251,11 @@ When user says "add features to existing project" or the project already has fea
|
|
|
113
251
|
|
|
114
252
|
**CHECKPOINT CP-FW-1**: `feature-list.json` generated and validated.
|
|
115
253
|
|
|
116
|
-
**If user says `--from <file>`**: Skip
|
|
254
|
+
**If user says `--from <file>`**: Skip Phase 1 and Phase 2 entirely.
|
|
117
255
|
|
|
118
256
|
---
|
|
119
257
|
|
|
120
|
-
## Phase
|
|
258
|
+
## Phase 3: Launch
|
|
121
259
|
|
|
122
260
|
**Goal**: Start the development pipeline.
|
|
123
261
|
|
|
@@ -141,13 +279,13 @@ When user says "add features to existing project" or the project already has fea
|
|
|
141
279
|
|
|
142
280
|
3. **Verify launch success**:
|
|
143
281
|
- Confirm pipeline is running
|
|
144
|
-
- Record PID and log path for Phase
|
|
282
|
+
- Record PID and log path for Phase 4
|
|
145
283
|
|
|
146
284
|
**CHECKPOINT CP-FW-2**: Pipeline launched successfully.
|
|
147
285
|
|
|
148
286
|
---
|
|
149
287
|
|
|
150
|
-
## Phase
|
|
288
|
+
## Phase 4: Monitor
|
|
151
289
|
|
|
152
290
|
**Goal**: Track pipeline progress and report to user.
|
|
153
291
|
|
|
@@ -196,9 +334,9 @@ The workflow supports resuming by detecting existing state:
|
|
|
196
334
|
|
|
197
335
|
| State Found | Resume From |
|
|
198
336
|
|-------------|------------|
|
|
199
|
-
| No `feature-list.json` | Phase 1:
|
|
200
|
-
| `feature-list.json` exists, no pipeline state | Phase
|
|
201
|
-
| `feature-list.json` + pipeline state exists | Phase
|
|
337
|
+
| No `feature-list.json` | Phase 1: Brainstorm |
|
|
338
|
+
| `feature-list.json` exists, no pipeline state | Phase 3: Launch |
|
|
339
|
+
| `feature-list.json` + pipeline state exists | Phase 4: Monitor (check status) |
|
|
202
340
|
| All features completed | Report completion, suggest next steps |
|
|
203
341
|
|
|
204
342
|
**Resume**: If `feature-list.json` exists, ask user: "Existing feature plan found with N features. Resume pipeline or re-plan?"
|
|
@@ -222,11 +360,13 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
222
360
|
|
|
223
361
|
| Error | Action |
|
|
224
362
|
|-------|--------|
|
|
225
|
-
|
|
|
363
|
+
| User's idea is too vague to brainstorm | Ask for more context: "Can you describe the main problem this solves?" |
|
|
364
|
+
| Brainstorming stalls | Offer concrete options: "Would you prefer A or B?" |
|
|
365
|
+
| `app-planner` cannot parse requirements | Refine the requirements summary and retry |
|
|
226
366
|
| `feature-list.json` generation failed | Show error, retry with refined input |
|
|
227
367
|
| Pipeline launch failed | Show daemon log, suggest manual start |
|
|
228
368
|
| All features blocked/failed | Show status, suggest retrying specific features |
|
|
229
|
-
| User wants to cancel mid-
|
|
369
|
+
| User wants to cancel mid-brainstorming | Save conversation context, offer to resume later |
|
|
230
370
|
|
|
231
371
|
---
|
|
232
372
|
|
|
@@ -234,8 +374,8 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
234
374
|
|
|
235
375
|
| Skill | Relationship |
|
|
236
376
|
|-------|-------------|
|
|
237
|
-
| `app-planner` | **Called by Phase
|
|
238
|
-
| `dev-pipeline-launcher` | **Called by Phase
|
|
377
|
+
| `app-planner` | **Called by Phase 2** — generates feature-list.json from clarified requirements |
|
|
378
|
+
| `dev-pipeline-launcher` | **Called by Phase 3** — starts pipeline (handles execution mode selection) |
|
|
239
379
|
| `bug-planner` | **Alternative** — for bug fix workflows |
|
|
240
380
|
| `bugfix-pipeline-launcher` | **Alternative** — for bug fix pipelines |
|
|
241
381
|
| `refactor-workflow` | **Alternative** — for code restructuring |
|
|
@@ -247,12 +387,13 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
247
387
|
| Dimension | feature-workflow | bug-fix-workflow | refactor-workflow |
|
|
248
388
|
|-----------|-----------------|------------------|-------------------|
|
|
249
389
|
| **Purpose** | New features (batch) | Single bug fix (interactive) | Code restructuring |
|
|
390
|
+
| **Brainstorming** | Yes — deep interactive Q&A | No (bug report is input) | No (analysis built-in) |
|
|
250
391
|
| **Planning Skill** | `app-planner` | None (triage built-in) | None (analysis built-in) |
|
|
251
392
|
| **Branch** | Pipeline manages per-feature | `fix/<BUG_ID>-*` | `refactor/<slug>` |
|
|
252
393
|
| **Execution** | Foreground or background daemon | In-session, interactive | In-session |
|
|
253
|
-
| **Input** |
|
|
394
|
+
| **Input** | Rough idea or requirements | Bug report / stack trace | Module / code target |
|
|
254
395
|
| **Output** | Multiple `feat()` commits | Single `fix()` commit | Single `refactor()` commit |
|
|
255
|
-
| **User verification** |
|
|
396
|
+
| **User verification** | Yes (Phase 1 brainstorm confirmation) | Yes (Phase 5) | Yes (Phase 5) |
|
|
256
397
|
| **Batch alternative** | (this is the batch flow) | `bug-planner` + `bugfix-pipeline-launcher` | N/A |
|
|
257
398
|
|
|
258
399
|
---
|
|
@@ -263,8 +404,9 @@ All internal asset paths use `${SKILL_DIR}` placeholder for cross-IDE compatibil
|
|
|
263
404
|
|
|
264
405
|
## Output
|
|
265
406
|
|
|
266
|
-
-
|
|
267
|
-
-
|
|
268
|
-
-
|
|
407
|
+
- Structured requirements summary (Phase 1 artifact)
|
|
408
|
+
- `feature-list.json` (Phase 2 artifact)
|
|
409
|
+
- Pipeline execution (Phase 3)
|
|
410
|
+
- Progress updates (Phase 4)
|
|
269
411
|
- Multiple git commits with `feat(<scope>):` prefix
|
|
270
412
|
- Updated `.prizm-docs/` (via prizmkit-retrospective per feature)
|
|
@@ -115,6 +115,6 @@ python3 ${SKILL_DIR}/scripts/install-prizmkit.py --target <project-skills-dir>
|
|
|
115
115
|
|
|
116
116
|
Both CodeBuddy and Claude Code use unified commands for automatic doc updates and commit enforcement.
|
|
117
117
|
Hooks and rules are configured automatically by `prizmkit-init`. See:
|
|
118
|
-
-
|
|
118
|
+
- The commit hook template is configured automatically during `prizmkit-init`
|
|
119
119
|
- `assets/project-memory-template.md` for the project memory template
|
|
120
120
|
- The init skill creates `prizm-documentation.md` and `prizm-commit-workflow.md` rules
|
|
@@ -46,7 +46,54 @@ Execute implementation by following the task breakdown in plan.md. Respects task
|
|
|
46
46
|
f. Error handling: sequential tasks stop on failure (later tasks may depend on this one). Parallel `[P]` tasks continue — report all failures at the end.
|
|
47
47
|
5. At each checkpoint: verify build passes and tests pass. Checkpoints catch integration errors early — skipping them means cascading failures in later phases that are much harder to debug.
|
|
48
48
|
6. After all tasks: run full test suite
|
|
49
|
-
7.
|
|
49
|
+
7. **Deploy guide update** (only when new frameworks/tools were added):
|
|
50
|
+
- Check if any dependency manifests were modified in this session:
|
|
51
|
+
```bash
|
|
52
|
+
git diff --name-only HEAD -- package.json requirements*.txt Pipfile pyproject.toml go.mod Cargo.toml pom.xml build.gradle Gemfile composer.json docker-compose*.yml Dockerfile .tool-versions 2>/dev/null
|
|
53
|
+
```
|
|
54
|
+
- If no manifest files changed → skip this step entirely
|
|
55
|
+
- If manifest files changed, scan for **newly added** dependencies (not version bumps):
|
|
56
|
+
```bash
|
|
57
|
+
git diff -U0 HEAD -- package.json requirements*.txt Pipfile pyproject.toml go.mod Cargo.toml pom.xml build.gradle Gemfile composer.json docker-compose*.yml Dockerfile .tool-versions 2>/dev/null | grep '^\+' | grep -v '^\+\+\+' | head -30
|
|
58
|
+
```
|
|
59
|
+
- For each genuinely new framework/tool, record in `deploy_guide.md` at project root:
|
|
60
|
+
|
|
61
|
+
| Field | Description | Source |
|
|
62
|
+
|-------|-------------|--------|
|
|
63
|
+
| **Name** | Framework/tool name | Package name from manifest |
|
|
64
|
+
| **Version** | Installed version or constraint | Version spec from manifest |
|
|
65
|
+
| **Purpose** | Why it was introduced | You just added it — you know why |
|
|
66
|
+
| **Install Command** | How to install locally | Standard install command for the ecosystem |
|
|
67
|
+
| **Key Config** | Config files or env vars needed | Config files you just created/modified |
|
|
68
|
+
| **Notes** | Setup gotchas, required services | Docker services, manual steps, env vars |
|
|
69
|
+
|
|
70
|
+
- Template for `deploy_guide.md`:
|
|
71
|
+
```markdown
|
|
72
|
+
# Deploy Guide
|
|
73
|
+
|
|
74
|
+
> Auto-maintained by PrizmKit. Manual edits are preserved.
|
|
75
|
+
> Last updated: YYYY-MM-DD
|
|
76
|
+
|
|
77
|
+
## Frameworks & Tools
|
|
78
|
+
|
|
79
|
+
### <Framework Name>
|
|
80
|
+
|
|
81
|
+
- **Version**: <version constraint>
|
|
82
|
+
- **Purpose**: <why this framework is used>
|
|
83
|
+
- **Install**:
|
|
84
|
+
```bash
|
|
85
|
+
<install command>
|
|
86
|
+
```
|
|
87
|
+
- **Key Config**:
|
|
88
|
+
- `<config file or env var>`: <description>
|
|
89
|
+
- **Notes**:
|
|
90
|
+
- <any setup gotchas, required external services, manual steps>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
- **Update rules**: create file if absent; append new sections if file exists; update version if framework already documented; preserve manually added content; keep entries sorted alphabetically
|
|
94
|
+
- **Filter out**: patch version bumps of existing deps, dev-only tools needing no setup (linters, formatters), transitive/lock-file-only changes
|
|
95
|
+
- Stage the file: `git add deploy_guide.md`
|
|
96
|
+
8. Output implementation summary with pass/fail status
|
|
50
97
|
|
|
51
98
|
## Task Format in plan.md
|
|
52
99
|
|
|
@@ -85,4 +132,5 @@ If a session is interrupted mid-implementation:
|
|
|
85
132
|
|
|
86
133
|
- Code files created/modified as specified in plan.md Tasks section
|
|
87
134
|
- `plan.md` Tasks section updated with completion markers `[x]`
|
|
135
|
+
- `deploy_guide.md` created/updated (only when new frameworks/tools were added)
|
|
88
136
|
- Implementation summary output to conversation
|