prizmkit 1.0.45 → 1.0.58
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/adapters/claude/agent-adapter.js +2 -1
- package/bundled/adapters/claude/command-adapter.js +4 -3
- package/bundled/agents/prizm-dev-team-dev.md +1 -1
- package/bundled/dev-pipeline/README.md +3 -4
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +2 -3
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +2 -2
- package/bundled/dev-pipeline/launch-daemon.sh +2 -2
- package/bundled/dev-pipeline/lib/branch.sh +76 -0
- package/bundled/dev-pipeline/run-bugfix.sh +58 -149
- package/bundled/dev-pipeline/run.sh +60 -153
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +8 -16
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +10 -18
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +20 -24
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +6 -6
- package/bundled/dev-pipeline/tests/conftest.py +19 -131
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +207 -0
- package/bundled/dev-pipeline/tests/test_utils.py +51 -110
- package/bundled/rules/prizm/prizm-commit-workflow.md +3 -3
- package/bundled/skills/_metadata.json +15 -16
- package/bundled/skills/app-planner/SKILL.md +8 -7
- package/bundled/skills/bug-fix-workflow/SKILL.md +174 -0
- package/bundled/skills/bug-planner/SKILL.md +20 -32
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +3 -5
- package/bundled/skills/dev-pipeline-launcher/SKILL.md +4 -6
- package/bundled/skills/feature-workflow/SKILL.md +25 -42
- package/bundled/skills/prizm-kit/SKILL.md +57 -21
- package/bundled/skills/prizm-kit/assets/{claude-md-template.md → project-memory-template.md} +2 -2
- package/bundled/skills/prizmkit-analyze/SKILL.md +41 -29
- package/bundled/skills/prizmkit-clarify/SKILL.md +40 -30
- package/bundled/skills/prizmkit-code-review/SKILL.md +48 -43
- package/bundled/skills/prizmkit-committer/SKILL.md +30 -68
- package/bundled/skills/prizmkit-implement/SKILL.md +48 -26
- package/bundled/skills/prizmkit-init/SKILL.md +57 -66
- package/bundled/skills/prizmkit-plan/SKILL.md +46 -20
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +60 -19
- package/bundled/skills/prizmkit-prizm-docs/assets/PRIZM-SPEC.md +23 -23
- package/bundled/skills/prizmkit-retrospective/SKILL.md +142 -65
- package/bundled/skills/prizmkit-retrospective/assets/retrospective-template.md +13 -0
- package/bundled/skills/prizmkit-specify/SKILL.md +63 -13
- package/bundled/skills/refactor-workflow/SKILL.md +105 -49
- package/bundled/team/prizm-dev-team.json +2 -2
- package/package.json +1 -1
- package/src/scaffold.js +3 -3
- package/bundled/dev-pipeline/lib/worktree.sh +0 -164
- package/bundled/dev-pipeline/tests/__init__.py +0 -0
- package/bundled/dev-pipeline/tests/test_check_session.py +0 -131
- package/bundled/dev-pipeline/tests/test_cleanup_logs.py +0 -119
- package/bundled/dev-pipeline/tests/test_detect_stuck.py +0 -207
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +0 -181
- package/bundled/dev-pipeline/tests/test_generate_prompt.py +0 -190
- package/bundled/dev-pipeline/tests/test_init_bugfix_pipeline.py +0 -153
- package/bundled/dev-pipeline/tests/test_init_pipeline.py +0 -241
- package/bundled/dev-pipeline/tests/test_update_bug_status.py +0 -142
- package/bundled/dev-pipeline/tests/test_update_feature_status.py +0 -338
- package/bundled/dev-pipeline/tests/test_worktree.py +0 -236
- package/bundled/dev-pipeline/tests/test_worktree_integration.py +0 -796
- package/bundled/skills/prizm-kit/assets/codebuddy-md-template.md +0 -35
- package/bundled/skills/prizm-kit/assets/hooks/prizm-commit-hook.json +0 -15
- package/bundled/skills/prizmkit-summarize/SKILL.md +0 -51
- package/bundled/skills/prizmkit-summarize/assets/registry-template.md +0 -18
- package/bundled/templates/hooks/commit-intent-claude.json +0 -26
- /package/bundled/templates/hooks/{commit-intent-codebuddy.json → commit-intent.json} +0 -0
|
@@ -92,7 +92,7 @@ Execute the selected scenario workflow in conversation mode with mandatory check
|
|
|
92
92
|
|
|
93
93
|
### Checkpoints (Mandatory Gates)
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
Checkpoints catch cascading errors early — skipping one means the next phase builds on unvalidated assumptions, which compounds into much harder debugging later.
|
|
96
96
|
|
|
97
97
|
| Checkpoint | Artifact/State | Criteria | Phase |
|
|
98
98
|
|-----------|----------------|----------|-------|
|
|
@@ -311,16 +311,17 @@ Resume incremental planning? (Y/n)"
|
|
|
311
311
|
|
|
312
312
|
### Artifact Path Convention
|
|
313
313
|
|
|
314
|
-
|
|
314
|
+
The primary output `feature-list.json` is always written to the **project root** — this is where `dev-pipeline-launcher` and all pipeline scripts expect it.
|
|
315
315
|
|
|
316
316
|
```
|
|
317
|
-
|
|
318
|
-
├── feature-list.json # Primary output (always here)
|
|
319
|
-
|
|
320
|
-
|
|
317
|
+
<project-root>/
|
|
318
|
+
├── feature-list.json # Primary output (always here, at project root)
|
|
319
|
+
└── .prizmkit/planning/ # Optional organization for backups
|
|
320
|
+
├── feature-list.validated.json # Checkpoint backup after CP-AP-5
|
|
321
|
+
└── <ISO-timestamp>.backup.json # Optional incremental backups
|
|
321
322
|
```
|
|
322
323
|
|
|
323
|
-
|
|
324
|
+
The pipeline reads `feature-list.json` from the project root by default. If the user specifies a custom path, the launcher accepts it as an argument.
|
|
324
325
|
|
|
325
326
|
Maintainer note: evaluation workflow moved to `assets/evaluation-guide.md`.
|
|
326
327
|
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "bug-fix-workflow"
|
|
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', '修这个 bug', '交互式修复', '手动修 bug'. (project)"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Bug Fix Workflow
|
|
8
|
+
|
|
9
|
+
Fix a single bug interactively within the current AI CLI session. This is the in-session counterpart to `bugfix-pipeline-launcher` (which runs multiple bugs in the background).
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- User wants to fix **one specific bug** right now, with full visibility
|
|
14
|
+
- User says "fix this bug", "debug this error", "help me fix B-001", "修这个 bug"
|
|
15
|
+
- User has a stack trace or error and wants interactive debugging
|
|
16
|
+
- User prefers hands-on fixing over background pipeline
|
|
17
|
+
|
|
18
|
+
**Do NOT use when:**
|
|
19
|
+
- User has multiple bugs to fix in batch → `bug-planner` + `bugfix-pipeline-launcher`
|
|
20
|
+
- User wants to plan/collect bugs without fixing → `bug-planner`
|
|
21
|
+
- User wants background autonomous fixing → `bugfix-pipeline-launcher`
|
|
22
|
+
- User wants to build features → `feature-workflow`
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
|
|
26
|
+
The bug can come from:
|
|
27
|
+
- **A bug-fix-list.json entry**: "fix B-001" → read the entry from bug-fix-list.json
|
|
28
|
+
- **A stack trace/error message**: user pastes error directly
|
|
29
|
+
- **A description**: "the login page crashes when I click submit"
|
|
30
|
+
- **A failed test**: "this test is failing: src/auth/__tests__/login.test.ts"
|
|
31
|
+
|
|
32
|
+
## Execution
|
|
33
|
+
|
|
34
|
+
### Phase 1: Triage
|
|
35
|
+
|
|
36
|
+
**Goal**: Understand the bug, locate affected code, classify severity.
|
|
37
|
+
|
|
38
|
+
1. **Gather bug info**:
|
|
39
|
+
- If bug ID given (e.g. B-001): read entry from `bug-fix-list.json`
|
|
40
|
+
- If raw error: extract error message, stack trace, affected files
|
|
41
|
+
- If description: ask clarifying questions to narrow down the issue
|
|
42
|
+
2. **Read project context**: `.prizm-docs/root.prizm` → relevant L1/L2 docs for affected modules
|
|
43
|
+
3. **Locate affected code**: read the files mentioned in the error/stack trace
|
|
44
|
+
4. **Check known issues**: search `.prizm-docs/` TRAPS sections for matching patterns
|
|
45
|
+
5. **Classify**: root cause (confirmed/suspected), blast radius, fix complexity
|
|
46
|
+
6. **Present diagnosis to user**:
|
|
47
|
+
```
|
|
48
|
+
Bug: Login page crash on submit
|
|
49
|
+
Root Cause: AuthService.handleLogin() receives null token when API returns 401
|
|
50
|
+
Affected Files: src/services/auth.ts (L42), src/pages/login.tsx (L28)
|
|
51
|
+
Fix Complexity: Low (null check + error handling)
|
|
52
|
+
```
|
|
53
|
+
Ask: "Does this diagnosis look right? Should I proceed with the fix?"
|
|
54
|
+
|
|
55
|
+
### Phase 2: Reproduce
|
|
56
|
+
|
|
57
|
+
**Goal**: Create a failing test that proves the bug exists.
|
|
58
|
+
|
|
59
|
+
1. **Write a reproduction test** that demonstrates the bug:
|
|
60
|
+
- Name: `<module>.test.ts` → add a test case named `should handle <bug scenario>`
|
|
61
|
+
- The test captures the exact failure condition
|
|
62
|
+
2. **Run the test** → confirm it **fails** (red)
|
|
63
|
+
3. **Show result to user**: "Reproduction test written and confirmed failing."
|
|
64
|
+
|
|
65
|
+
If the bug is hard to reproduce automatically (e.g. environment-specific):
|
|
66
|
+
- Ask the user for reproduction steps
|
|
67
|
+
- Write a manual reproduction checklist instead
|
|
68
|
+
- Proceed to Phase 3 with the manual checklist
|
|
69
|
+
|
|
70
|
+
### Phase 3: Fix
|
|
71
|
+
|
|
72
|
+
**Goal**: Implement the minimal fix. Red test → green.
|
|
73
|
+
|
|
74
|
+
1. **Implement the fix**:
|
|
75
|
+
- Change the minimum amount of code to fix the root cause
|
|
76
|
+
- Do NOT refactor or add unrelated improvements — fix the bug only
|
|
77
|
+
- Follow existing code conventions (read from `.prizm-docs/` RULES/PATTERNS)
|
|
78
|
+
2. **Run the reproduction test** → must **pass** (green)
|
|
79
|
+
3. **Run the full module test suite** → must pass (no regressions)
|
|
80
|
+
4. **Show the fix to user**:
|
|
81
|
+
- Summary of changes made
|
|
82
|
+
- Test results (reproduction + regression)
|
|
83
|
+
- Ask: "Fix looks good? Any concerns?"
|
|
84
|
+
|
|
85
|
+
If the fix causes test regressions:
|
|
86
|
+
- Show which tests broke and why
|
|
87
|
+
- Revise the fix (max 3 attempts)
|
|
88
|
+
- If still failing after 3 attempts, escalate to user with analysis
|
|
89
|
+
|
|
90
|
+
### Phase 4: Review
|
|
91
|
+
|
|
92
|
+
**Goal**: Verify fix quality before committing.
|
|
93
|
+
|
|
94
|
+
1. **Self-review** the changes:
|
|
95
|
+
- Does the fix address the root cause (not just the symptom)?
|
|
96
|
+
- Are there edge cases not covered?
|
|
97
|
+
- Is the reproduction test thorough enough?
|
|
98
|
+
- Does the fix follow project conventions?
|
|
99
|
+
2. **Run full test suite** one final time
|
|
100
|
+
3. **Present review summary**:
|
|
101
|
+
```
|
|
102
|
+
Fix Review:
|
|
103
|
+
- Root cause addressed: Yes (null check added at auth service level)
|
|
104
|
+
- Edge cases: Covered (401, 403, network error)
|
|
105
|
+
- Regression: None (48/48 tests pass)
|
|
106
|
+
- Code quality: Clean, follows existing patterns
|
|
107
|
+
|
|
108
|
+
Ready to commit.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Phase 5: Commit
|
|
112
|
+
|
|
113
|
+
**Goal**: Commit the fix with proper conventions.
|
|
114
|
+
|
|
115
|
+
1. **Run `/prizmkit-retrospective`** (Job 1: structural sync only):
|
|
116
|
+
- Update `.prizm-docs/` if file structure changed
|
|
117
|
+
- Add TRAPS entry only if a genuinely new pitfall was discovered
|
|
118
|
+
- Skip knowledge injection for routine bug fixes
|
|
119
|
+
2. **Run `/prizmkit-committer`**:
|
|
120
|
+
- Commit message: `fix(<scope>): <description>`
|
|
121
|
+
- Include both fix code and reproduction test
|
|
122
|
+
- Do NOT push (user decides when to push)
|
|
123
|
+
3. **If bug came from bug-fix-list.json**: inform user to update bug status
|
|
124
|
+
```
|
|
125
|
+
Bug B-001 fixed and committed.
|
|
126
|
+
To update the bug list: manually set B-001 status to "fixed" in bug-fix-list.json
|
|
127
|
+
Or retry the pipeline to pick up remaining bugs.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Artifacts
|
|
131
|
+
|
|
132
|
+
Bug fix artifacts are stored at `.prizmkit/bugfix/<BUG_ID>/`:
|
|
133
|
+
- `fix-plan.md` — Triage output (diagnosis, root cause, fix approach)
|
|
134
|
+
- `fix-report.md` — Post-fix summary (what changed, test results, TRAPS added)
|
|
135
|
+
|
|
136
|
+
Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
137
|
+
|
|
138
|
+
## Comparison with Pipeline Bug Fix
|
|
139
|
+
|
|
140
|
+
| Dimension | bug-fix-workflow (this skill) | bugfix-pipeline-launcher |
|
|
141
|
+
|-----------|-------------------------------|--------------------------|
|
|
142
|
+
| Scope | One bug at a time | All bugs in batch |
|
|
143
|
+
| Execution | Interactive, in-session | Background daemon |
|
|
144
|
+
| Visibility | Full user interaction at each phase | Async, check status periodically |
|
|
145
|
+
| Best for | Complex bugs needing user input | Batch of well-defined bugs |
|
|
146
|
+
| Artifacts | Same (fix-plan.md + fix-report.md) | Same |
|
|
147
|
+
| Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
|
|
148
|
+
|
|
149
|
+
## Error Handling
|
|
150
|
+
|
|
151
|
+
| Scenario | Action |
|
|
152
|
+
|----------|--------|
|
|
153
|
+
| Bug ID not found in bug-fix-list.json | Ask user to provide bug details directly |
|
|
154
|
+
| Cannot reproduce the bug | Ask for more context, try alternative reproduction |
|
|
155
|
+
| Fix causes regressions | Revert, analyze, retry (max 3 rounds) |
|
|
156
|
+
| Root cause unclear after investigation | Present findings, ask user for guidance |
|
|
157
|
+
| Affected files are in unfamiliar module | Read `.prizm-docs/` L1/L2 for that module first |
|
|
158
|
+
|
|
159
|
+
## HANDOFF
|
|
160
|
+
|
|
161
|
+
| From | To | Condition |
|
|
162
|
+
|------|----|-----------|
|
|
163
|
+
| `bug-planner` | **this skill** | User picks one bug to fix interactively |
|
|
164
|
+
| `bugfix-pipeline-launcher` | **this skill** | User wants to fix a stuck/complex bug manually |
|
|
165
|
+
| **this skill** | `bugfix-pipeline-launcher` | After fixing, user wants to continue with remaining bugs |
|
|
166
|
+
| **this skill** | `prizmkit-retrospective` | Built into Phase 5 (structural sync) |
|
|
167
|
+
|
|
168
|
+
## Output
|
|
169
|
+
|
|
170
|
+
- Fixed code with reproduction test
|
|
171
|
+
- `.prizmkit/bugfix/<BUG_ID>/fix-plan.md`
|
|
172
|
+
- `.prizmkit/bugfix/<BUG_ID>/fix-report.md`
|
|
173
|
+
- Git commit with `fix(<scope>):` prefix
|
|
174
|
+
- Updated `.prizm-docs/` TRAPS (if new pitfall discovered)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bug-planner"
|
|
3
3
|
tier: companion
|
|
4
|
-
description: "Interactive bug planning that produces bug-fix-list.json for the Bug Fix Pipeline. Supports multiple input formats: error logs, stack traces, user reports, failed tests, monitoring alerts. (project)"
|
|
4
|
+
description: "Interactive bug planning that produces bug-fix-list.json for the Bug Fix Pipeline. Supports multiple input formats: error logs, stack traces, user reports, failed tests, monitoring alerts. Use this skill whenever the user has bugs to report, errors to parse, or test failures to organize. Trigger on: 'plan bug fixes', 'report bugs', 'I have some bugs', 'these tests are failing', 'here is an error log', 'parse these errors', '修复 bug', '生成 bug 列表', '规划 bug 修复'. (project)"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Bug Planner
|
|
@@ -17,33 +17,28 @@ User says:
|
|
|
17
17
|
- "here's an error log", "parse these errors"
|
|
18
18
|
- After receiving bug reports, error logs, or failed test output
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
**Do NOT use when:**
|
|
21
|
+
- User wants to start fixing bugs now (use `bugfix-pipeline-launcher`)
|
|
22
|
+
- User wants to fix a single bug interactively (use `bug-fix-workflow`)
|
|
23
|
+
- User wants to plan features (use `app-planner`)
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
## Intent Routing
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
This skill handles multiple operations. Determine the user's intent and execute the matching operation:
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
### prizmkit.bug-plan-validate \<bug-fix-list.json\>
|
|
35
|
-
|
|
36
|
-
Validate an existing `bug-fix-list.json` against the schema.
|
|
37
|
-
|
|
38
|
-
### prizmkit.bug-plan-summary \<bug-fix-list.json\>
|
|
39
|
-
|
|
40
|
-
Print a summary of bugs grouped by severity and status.
|
|
29
|
+
| User Intent | Operation | Trigger Phrases |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| Plan bugs interactively | **Interactive Planning** | "plan bug fixes", "report bugs", "规划 bug 修复" |
|
|
32
|
+
| Parse error logs into bugs | **From Log** | "parse this error log", "here's a stack trace", "parse these errors" |
|
|
33
|
+
| Parse test failures into bugs | **From Tests** | "these tests are failing", "parse test output" |
|
|
34
|
+
| Validate existing bug list | **Validate** | "validate bug list", "check bug-fix-list.json" |
|
|
35
|
+
| Summarize bug list | **Summary** | "bug summary", "show bug list", "list bugs" |
|
|
41
36
|
|
|
42
37
|
---
|
|
43
38
|
|
|
44
|
-
## Interactive Planning
|
|
39
|
+
## Operation: Interactive Planning
|
|
45
40
|
|
|
46
|
-
|
|
41
|
+
Launch the interactive bug planning process through 4 phases.
|
|
47
42
|
|
|
48
43
|
### Phase 1: Project Context
|
|
49
44
|
|
|
@@ -179,14 +174,11 @@ Next steps:
|
|
|
179
174
|
- Review: cat bug-fix-list.json
|
|
180
175
|
- Start fixing: say "开始修复" or "start fixing bugs" to launch the bugfix pipeline
|
|
181
176
|
- Or run directly: ./dev-pipeline/launch-bugfix-daemon.sh start bug-fix-list.json
|
|
182
|
-
- Fix one interactively: invoke bug-fix-workflow for each bug
|
|
183
177
|
```
|
|
184
178
|
|
|
185
179
|
---
|
|
186
180
|
|
|
187
|
-
##
|
|
188
|
-
|
|
189
|
-
### prizmkit.bug-plan-from-log
|
|
181
|
+
## Operation: From Log
|
|
190
182
|
|
|
191
183
|
Batch-parse error logs to generate bug entries without interactive prompts:
|
|
192
184
|
|
|
@@ -202,7 +194,7 @@ Batch-parse error logs to generate bug entries without interactive prompts:
|
|
|
202
194
|
4. Output draft `bug-fix-list.json` for user review
|
|
203
195
|
5. Ask: "Review and confirm? You can edit individual entries."
|
|
204
196
|
|
|
205
|
-
|
|
197
|
+
## Operation: From Tests
|
|
206
198
|
|
|
207
199
|
Batch-parse failed test output:
|
|
208
200
|
|
|
@@ -212,7 +204,7 @@ Batch-parse failed test output:
|
|
|
212
204
|
4. Set verification_type to `automated` (test already exists)
|
|
213
205
|
5. Output draft `bug-fix-list.json`
|
|
214
206
|
|
|
215
|
-
|
|
207
|
+
## Operation: Validate
|
|
216
208
|
|
|
217
209
|
Validate existing `bug-fix-list.json`:
|
|
218
210
|
|
|
@@ -226,7 +218,7 @@ Validate existing `bug-fix-list.json`:
|
|
|
226
218
|
- Invalid `affected_feature` references (if feature-list.json exists)
|
|
227
219
|
4. Output: validation result with specific errors/warnings
|
|
228
220
|
|
|
229
|
-
|
|
221
|
+
## Operation: Summary
|
|
230
222
|
|
|
231
223
|
Print human-readable summary:
|
|
232
224
|
|
|
@@ -269,10 +261,6 @@ After `bug-fix-list.json` is generated, the user can:
|
|
|
269
261
|
| Invalid feature reference | Warn and ask user to correct or remove reference |
|
|
270
262
|
| Schema validation failure | Show specific errors, offer to fix interactively |
|
|
271
263
|
|
|
272
|
-
## Path References
|
|
273
|
-
|
|
274
|
-
All internal asset paths MUST use `${SKILL_DIR}` placeholder for cross-IDE compatibility.
|
|
275
|
-
|
|
276
264
|
## Output
|
|
277
265
|
|
|
278
266
|
- `bug-fix-list.json` conforming to `dev-pipeline/templates/bug-fix-list-schema.json`
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bugfix-pipeline-launcher"
|
|
3
|
-
description: "Launch and manage the bugfix pipeline from within
|
|
3
|
+
description: "Launch and manage the bugfix pipeline from within an AI CLI session. Start pipeline in background, monitor logs, check status, stop pipeline. Use this skill whenever the user wants to start fixing bugs, run the bugfix pipeline, check bugfix progress, or stop the bugfix pipeline. Trigger on: 'start fixing bugs', 'run bugfix pipeline', 'bugfix status', 'stop bug fix', '启动 bug 修复', '开始修复 bug', '修复进度', '停止修复'. (project)"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Bugfix-Pipeline Launcher
|
|
7
7
|
|
|
8
8
|
Launch the autonomous bug fix pipeline from within a cbc conversation. The pipeline runs as a fully detached background process -- closing the cbc session does NOT stop the pipeline.
|
|
9
9
|
|
|
10
|
-
###
|
|
10
|
+
### Execution Mode
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
- NEVER run `dev-pipeline/run-bugfix.sh run ...` directly from this skill.
|
|
14
|
-
- Reason: foreground `run-bugfix.sh` can be terminated by AI CLI command timeout (e.g. cbc 120s), while daemon mode survives session timeout.
|
|
12
|
+
Always use daemon mode via `dev-pipeline/launch-bugfix-daemon.sh` for start/stop/status/log actions. Foreground `run-bugfix.sh` can be terminated by AI CLI command timeout (e.g. cbc 120s), while daemon mode survives session timeout — this prevents half-finished bug fixes that leave the codebase in an inconsistent state.
|
|
15
13
|
|
|
16
14
|
### When to Use
|
|
17
15
|
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "dev-pipeline-launcher"
|
|
3
|
-
description: "Launch and manage the dev-pipeline from within an AI CLI session. Start pipeline in background, monitor logs, check status, stop pipeline.
|
|
3
|
+
description: "Launch and manage the dev-pipeline from within an AI CLI session. Start pipeline in background, monitor logs, check status, stop pipeline. Use this skill whenever the user wants to start building features, run the pipeline, check pipeline progress, retry features, or stop the pipeline. Trigger on: 'run pipeline', 'start pipeline', 'start building', 'pipeline status', 'stop pipeline', 'retry feature', '启动流水线', '开始实现', '流水线状态', '停止流水线'. (project)"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Dev-Pipeline Launcher
|
|
7
7
|
|
|
8
8
|
Launch the autonomous development pipeline from within an AI CLI conversation. The pipeline runs as a fully detached background process -- closing the AI CLI session does NOT stop the pipeline.
|
|
9
9
|
|
|
10
|
-
###
|
|
10
|
+
### Execution Mode
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
- NEVER run `dev-pipeline/run.sh run ...` directly from this skill.
|
|
14
|
-
- Reason: foreground `run.sh` can be terminated by AI CLI command timeout (e.g. cbc 120s, claude may vary), while daemon mode survives session timeout.
|
|
12
|
+
Always use daemon mode via `dev-pipeline/launch-daemon.sh` for start/stop/status/log actions. Foreground `run.sh` can be terminated by AI CLI command timeout (e.g. cbc 120s, claude may vary), while daemon mode survives session timeout — this prevents half-finished features that leave the codebase in an inconsistent state.
|
|
15
13
|
|
|
16
14
|
### When to Use
|
|
17
15
|
|
|
@@ -284,4 +282,4 @@ Notes:
|
|
|
284
282
|
- **Single instance**: Only one pipeline can run at a time. The PID file prevents duplicates.
|
|
285
283
|
- **Pipeline coexistence**: Feature and bugfix pipelines use separate state directories (`state/` vs `bugfix-state/`), so they can run simultaneously without conflict.
|
|
286
284
|
- **State preservation**: Stopping and restarting the pipeline resumes from where it left off -- completed features are not re-run.
|
|
287
|
-
- **HANDOFF**: After pipeline completes all features, suggest running `prizmkit-
|
|
285
|
+
- **HANDOFF**: After pipeline completes all features, suggest running `prizmkit-retrospective` for project memory update, or ask user what's next.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "feature-workflow"
|
|
3
3
|
tier: companion
|
|
4
|
-
description: "One-stop entry point for feature development. Orchestrates app-planner → dev-pipeline-launcher → background execution. Handles multi-feature batch development from a single request. (project)"
|
|
4
|
+
description: "One-stop entry point for feature development. Orchestrates app-planner → dev-pipeline-launcher → background 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', '开发一个新应用', '构建系统', '一键完成', '批量实现'. (project)"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Feature Workflow
|
|
@@ -28,7 +28,7 @@ User says:
|
|
|
28
28
|
## Overview
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
|
|
31
|
+
feature-workflow <需求描述>
|
|
32
32
|
│
|
|
33
33
|
├── Phase 1: Plan → app-planner → feature-list.json
|
|
34
34
|
│
|
|
@@ -58,48 +58,31 @@ With this skill, users can:
|
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## Input Modes
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
**Mode A: From natural language requirements** (default)
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
**INPUT**: Natural language description of the project or features. Can be:
|
|
65
|
+
Natural language description of the project or features. Can be:
|
|
68
66
|
- A project vision: "开发一个任务管理 App,支持用户登录、任务增删改查、任务分类"
|
|
69
67
|
- A batch of features: "实现用户注册、登录、找回密码这三个功能"
|
|
70
68
|
- An incremental request: "给现有系统追加用户头像上传和昵称修改功能"
|
|
71
69
|
|
|
72
|
-
|
|
73
|
-
1. Invoke `app-planner` with the description
|
|
74
|
-
2. After feature-list.json is generated, invoke `dev-pipeline-launcher`
|
|
75
|
-
3. Monitor and report progress
|
|
76
|
-
|
|
77
|
-
### prizmkit.feature --from \<feature-list.json\>
|
|
78
|
-
|
|
79
|
-
Skip planning, directly launch pipeline from existing feature-list.json.
|
|
80
|
-
|
|
81
|
-
**USE WHEN**:
|
|
82
|
-
- feature-list.json already exists
|
|
83
|
-
- User wants to restart/resume pipeline execution
|
|
84
|
-
|
|
85
|
-
**FLOW**:
|
|
86
|
-
1. Skip `app-planner` (file already exists)
|
|
87
|
-
2. Invoke `dev-pipeline-launcher` directly
|
|
88
|
-
3. Monitor and report progress
|
|
70
|
+
Flow: app-planner → dev-pipeline-launcher → monitor
|
|
89
71
|
|
|
90
|
-
|
|
72
|
+
**Mode B: From existing feature-list.json**
|
|
91
73
|
|
|
92
|
-
|
|
74
|
+
When user says "run pipeline from existing file" or feature-list.json already exists:
|
|
75
|
+
- Skip `app-planner` (file already exists)
|
|
76
|
+
- Invoke `dev-pipeline-launcher` directly
|
|
77
|
+
- Monitor and report progress
|
|
93
78
|
|
|
94
|
-
**
|
|
95
|
-
- Project already has features implemented
|
|
96
|
-
- User wants to add new features to existing codebase
|
|
79
|
+
**Mode C: Incremental (add to existing project)**
|
|
97
80
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
81
|
+
When user says "add features to existing project" or the project already has features:
|
|
82
|
+
- Invoke `app-planner` in incremental mode (reads existing feature-list.json)
|
|
83
|
+
- Append new features to existing list
|
|
84
|
+
- Invoke `dev-pipeline-launcher`
|
|
85
|
+
- Monitor and report progress
|
|
103
86
|
|
|
104
87
|
---
|
|
105
88
|
|
|
@@ -248,18 +231,18 @@ While the pipeline runs in background, the user can continue the conversation:
|
|
|
248
231
|
|
|
249
232
|
| Dimension | feature-workflow | bug-fix-workflow | refactor-workflow |
|
|
250
233
|
|-----------|-----------------|------------------|-------------------|
|
|
251
|
-
| **Purpose** | New features (batch) |
|
|
252
|
-
| **Planning Skill** | `app-planner` |
|
|
253
|
-
| **
|
|
254
|
-
| **Input** | Requirements description | Bug
|
|
255
|
-
| **Output** | Multiple `feat()` commits |
|
|
256
|
-
| **
|
|
234
|
+
| **Purpose** | New features (batch) | Single bug fix (interactive) | Code restructuring |
|
|
235
|
+
| **Planning Skill** | `app-planner` | None (triage built-in) | None (analysis built-in) |
|
|
236
|
+
| **Execution** | Background daemon | In-session, interactive | In-session |
|
|
237
|
+
| **Input** | Requirements description | Bug report / stack trace | Module / code target |
|
|
238
|
+
| **Output** | Multiple `feat()` commits | Single `fix()` commit | Single `refactor()` commit |
|
|
239
|
+
| **Batch alternative** | (this is the batch flow) | `bug-planner` + `bugfix-pipeline-launcher` | N/A |
|
|
257
240
|
|
|
258
241
|
---
|
|
259
242
|
|
|
260
243
|
## Path References
|
|
261
244
|
|
|
262
|
-
All internal asset paths
|
|
245
|
+
All internal asset paths use `${SKILL_DIR}` placeholder for cross-IDE compatibility.
|
|
263
246
|
|
|
264
247
|
## Output
|
|
265
248
|
|
|
@@ -267,4 +250,4 @@ All internal asset paths MUST use `${SKILL_DIR}` placeholder for cross-IDE compa
|
|
|
267
250
|
- Background pipeline running (Phase 2)
|
|
268
251
|
- Progress updates (Phase 3)
|
|
269
252
|
- Multiple git commits with `feat(<scope>):` prefix
|
|
270
|
-
- Updated
|
|
253
|
+
- Updated `.prizm-docs/` (via prizmkit-retrospective per feature)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "prizm-kit"
|
|
3
|
-
description: "Full-lifecycle dev toolkit. Covers spec-driven development, Prizm context docs, code quality, debugging, deployment, and knowledge management. Use 'prizmkit
|
|
3
|
+
description: "Full-lifecycle dev toolkit. Covers spec-driven development, Prizm context docs, code quality, debugging, deployment, and knowledge management. Use this skill whenever the user asks about PrizmKit workflow, wants to know which command to use, or needs help choosing between full workflow and fast path. Trigger on: '/prizmkit', 'prizmkit help', 'which prizmkit command', 'how do I start a feature'. (project)"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PrizmKit — Full-Lifecycle Development Toolkit
|
|
@@ -25,6 +25,8 @@ PrizmKit is a comprehensive, independent AI development toolkit that covers the
|
|
|
25
25
|
- Architectural decisions
|
|
26
26
|
- Data model or API changes
|
|
27
27
|
|
|
28
|
+
The full workflow generates spec, plan, and task artifacts that create a traceable record of what was built and why — this matters for future maintainability and AI context loading.
|
|
29
|
+
|
|
28
30
|
**Use fast path (implement -> commit directly):**
|
|
29
31
|
- Bug fixes with clear root cause
|
|
30
32
|
- Single-file config or typo fixes
|
|
@@ -32,15 +34,36 @@ PrizmKit is a comprehensive, independent AI development toolkit that covers the
|
|
|
32
34
|
- Documentation-only changes
|
|
33
35
|
- Test additions for existing code
|
|
34
36
|
|
|
37
|
+
The fast path skips artifact generation because these changes don't introduce new concepts that future sessions need to understand.
|
|
38
|
+
|
|
35
39
|
For fast-path changes, you can directly use the implement command with inline task description, then the commit command.
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
|
|
41
|
+
## Workflow Example
|
|
42
|
+
|
|
43
|
+
**Full workflow** for adding a user avatar upload feature:
|
|
44
|
+
```
|
|
45
|
+
/prizmkit-specify → writes .prizmkit/specs/001-avatar-upload/spec.md
|
|
46
|
+
/prizmkit-plan → writes plan.md with tasks (architecture, data model, API, UI)
|
|
47
|
+
/prizmkit-analyze → checks spec↔plan consistency, finds gaps
|
|
48
|
+
/prizmkit-implement → executes tasks in order, marks [x] as done
|
|
49
|
+
/prizmkit-code-review → reviews against spec, outputs PASS/NEEDS FIXES
|
|
50
|
+
/prizmkit-committer → updates .prizm-docs/, commits feat(avatar): add upload
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Fast path** for fixing a null pointer bug:
|
|
54
|
+
```
|
|
55
|
+
/prizmkit-implement → "fix null check in UserService.getAvatar()"
|
|
56
|
+
/prizmkit-committer → commits fix(user): handle null avatar gracefully
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Fast Path Commands
|
|
60
|
+
`/prizmkit-implement` → `/prizmkit-committer`
|
|
38
61
|
|
|
39
62
|
### Bug Fix Documentation Policy
|
|
40
63
|
|
|
41
64
|
**Bug fixes MUST NOT create new documentation entries.** Bug fixes are refinements of incomplete existing features — they complete what was already planned, not introduce new functionality. Specifically:
|
|
42
65
|
|
|
43
|
-
-
|
|
66
|
+
- Run `/prizmkit-retrospective` with structural sync only (Job 1) for bug fix commits — skip knowledge injection unless genuinely new TRAP discovered
|
|
44
67
|
- Do NOT create new spec/plan/tasks under `.prizmkit/specs/` for bug fixes
|
|
45
68
|
- Do NOT update `.prizm-docs/` module docs for pure bug fixes (no interface/dependency change)
|
|
46
69
|
- Bug fix commits use `fix(<scope>):` prefix in Conventional Commits, not `feat:`
|
|
@@ -53,7 +76,7 @@ PrizmKit produces two complementary knowledge layers:
|
|
|
53
76
|
|
|
54
77
|
```
|
|
55
78
|
.prizm-docs/ → Project "what is" (static: structure, interfaces, rules, traps, decisions)
|
|
56
|
-
.prizmkit/specs/ → Feature "what to do" (workflow: spec → plan →
|
|
79
|
+
.prizmkit/specs/ → Feature "what to do" (workflow: spec → plan → code(implement))
|
|
57
80
|
```
|
|
58
81
|
|
|
59
82
|
## Skill Inventory
|
|
@@ -61,18 +84,17 @@ PrizmKit produces two complementary knowledge layers:
|
|
|
61
84
|
### Foundation (3)
|
|
62
85
|
- **prizm-kit** — Full-lifecycle dev toolkit entry point
|
|
63
86
|
- **prizmkit-init** — Project takeover: scan → assess → generate docs → initialize
|
|
64
|
-
- **prizmkit-prizm-docs** — Prizm documentation framework:
|
|
87
|
+
- **prizmkit-prizm-docs** — Prizm documentation framework with 6 operations: init, update, status, rebuild, validate, migrate
|
|
65
88
|
|
|
66
|
-
### Spec-Driven Workflow (
|
|
89
|
+
### Spec-Driven Workflow (8)
|
|
67
90
|
- **prizmkit-specify** — Create structured feature specifications from natural language
|
|
68
91
|
- **prizmkit-clarify** — Interactive requirement clarification
|
|
69
92
|
- **prizmkit-plan** — Generate technical plan with data model, API contracts, and executable task breakdown (all in one plan.md)
|
|
70
93
|
- **prizmkit-analyze** — Cross-document consistency analysis (spec ↔ plan ↔ tasks)
|
|
71
94
|
- **prizmkit-implement** — Execute tasks following TDD approach
|
|
72
95
|
- **prizmkit-code-review** — Review code against spec and plan
|
|
73
|
-
- **prizmkit-
|
|
74
|
-
- **prizmkit-committer** —
|
|
75
|
-
- **prizmkit-retrospective** — Post-feature learning: extract lessons → update Prizm docs
|
|
96
|
+
- **prizmkit-retrospective** — Sole .prizm-docs/ maintainer: structural sync + knowledge injection (TRAPS/RULES/DECISIONS)
|
|
97
|
+
- **prizmkit-committer** — Pure git commit: diff analysis, safety checks, Conventional Commits
|
|
76
98
|
|
|
77
99
|
### Quality Assurance (5)
|
|
78
100
|
- **prizmkit-tool-tech-debt-tracker** — [Tier 1] Technical debt identification and tracking via code pattern analysis
|
|
@@ -96,13 +118,29 @@ PrizmKit produces two complementary knowledge layers:
|
|
|
96
118
|
- **prizmkit-tool-onboarding-generator** — [Tier 2] Generate developer onboarding guides
|
|
97
119
|
- **prizmkit-tool-api-doc-generator** — [Tier 2] Extract API documentation from source code
|
|
98
120
|
|
|
99
|
-
### Pipeline & Companion (
|
|
100
|
-
- **feature-workflow** —
|
|
101
|
-
- **refactor-workflow** —
|
|
121
|
+
### Pipeline & Companion (7)
|
|
122
|
+
- **feature-workflow** — One-stop feature development: plan → launch pipeline → monitor
|
|
123
|
+
- **refactor-workflow** — End-to-end refactor: analyze → plan → implement → review → commit
|
|
102
124
|
- **app-planner** — Interactive app planning that produces feature-list.json for dev-pipeline
|
|
103
125
|
- **bug-planner** — Interactive bug planning that produces bug-fix-list.json for bugfix-pipeline
|
|
104
|
-
- **
|
|
105
|
-
- **
|
|
126
|
+
- **bug-fix-workflow** — Interactive single-bug fix in current session (triage → reproduce → fix → review → commit)
|
|
127
|
+
- **dev-pipeline-launcher** — Launch and manage the feature dev-pipeline (background daemon)
|
|
128
|
+
- **bugfix-pipeline-launcher** — Launch and manage the bugfix pipeline (background daemon)
|
|
129
|
+
|
|
130
|
+
### Scenario Decision Tree
|
|
131
|
+
|
|
132
|
+
Not sure which skill to use? Follow this:
|
|
133
|
+
|
|
134
|
+
| I want to... | Use this |
|
|
135
|
+
|---|---|
|
|
136
|
+
| Build a new app or batch of features from scratch | `feature-workflow` (one-stop) |
|
|
137
|
+
| Plan features first, then decide when to build | `app-planner` → `dev-pipeline-launcher` |
|
|
138
|
+
| Launch pipeline for an existing feature-list.json | `dev-pipeline-launcher` |
|
|
139
|
+
| Fix multiple bugs in batch | `bug-planner` → `bugfix-pipeline-launcher` |
|
|
140
|
+
| Fix one specific bug right now, interactively | `bug-fix-workflow` |
|
|
141
|
+
| Refactor/restructure code without changing behavior | `refactor-workflow` |
|
|
142
|
+
| Add a single small feature (spec → plan → implement) | `/prizmkit-specify` → `/prizmkit-plan` → `/prizmkit-implement` |
|
|
143
|
+
| Quick bug fix or config change | Fast path: `/prizmkit-implement` → `/prizmkit-committer` |
|
|
106
144
|
|
|
107
145
|
### Tier Definitions
|
|
108
146
|
|
|
@@ -128,10 +166,8 @@ python3 ${SKILL_DIR}/scripts/install-prizmkit.py --target <project-skills-dir>
|
|
|
128
166
|
|
|
129
167
|
## Hook / Rules Configuration
|
|
130
168
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
Rules are created automatically by `prizmkit-init` (or `/prizmkit-init`). See:
|
|
136
|
-
- `assets/claude-md-template.md` for the project memory template
|
|
169
|
+
Both CodeBuddy and Claude Code use unified commands for automatic doc updates and commit enforcement.
|
|
170
|
+
Hooks and rules are configured automatically by `prizmkit-init`. See:
|
|
171
|
+
- `core/templates/hooks/commit-intent.json` for the commit hook template
|
|
172
|
+
- `assets/project-memory-template.md` for the project memory template
|
|
137
173
|
- The init skill creates `prizm-documentation.md` and `prizm-commit-workflow.md` rules
|
package/bundled/skills/prizm-kit/assets/{claude-md-template.md → project-memory-template.md}
RENAMED
|
@@ -10,8 +10,8 @@ This project uses PrizmKit with the Prizm documentation system for AI-optimized
|
|
|
10
10
|
|
|
11
11
|
### Auto-Update Protocol
|
|
12
12
|
- BEFORE EVERY COMMIT: Update affected `.prizm-docs/` files
|
|
13
|
-
-
|
|
14
|
-
- Use `/prizmkit-committer`
|
|
13
|
+
- Platform hooks (rules or UserPromptSubmit) will remind you automatically
|
|
14
|
+
- Use `/prizmkit-committer` for the complete commit workflow
|
|
15
15
|
|
|
16
16
|
### Doc Format Rules
|
|
17
17
|
- All `.prizm` files use KEY: value format, not prose
|