prizmkit 1.1.80 → 1.1.81
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/skills/_metadata.json +1 -1
- package/bundled/skills/app-planner/SKILL.md +2 -9
- package/bundled/skills/app-planner/references/rules/backend/derivation-rules.md +10 -0
- package/bundled/skills/app-planner/references/rules/database/derivation-rules.md +9 -0
- package/bundled/skills/app-planner/references/rules/frontend/derivation-rules.md +10 -0
- package/bundled/skills/app-planner/references/rules/frontend/question-bank.md +17 -0
- package/bundled/skills/app-planner/references/rules/frontend/template.md +19 -0
- package/bundled/skills/app-planner/references/rules/mobile/derivation-rules.md +10 -0
- package/bundled/skills/bug-fix-workflow/SKILL.md +17 -24
- package/bundled/skills/bug-fix-workflow/references/bug-diagnosis.md +4 -29
- package/bundled/skills/bug-planner/SKILL.md +20 -12
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +5 -67
- package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +50 -1
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +16 -56
- package/bundled/skills/feature-pipeline-launcher/references/configuration.md +26 -0
- package/bundled/skills/feature-planner/SKILL.md +5 -9
- package/bundled/skills/feature-workflow/SKILL.md +22 -63
- package/bundled/skills/prizm-kit/SKILL.md +3 -2
- package/bundled/skills/prizmkit-code-review/SKILL.md +1 -1
- package/bundled/skills/prizmkit-committer/SKILL.md +3 -1
- package/bundled/skills/prizmkit-deploy/SKILL.md +1 -1
- package/bundled/skills/prizmkit-implement/SKILL.md +1 -1
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +1 -0
- package/bundled/skills/prizmkit-retrospective/SKILL.md +1 -1
- package/bundled/skills/recovery-workflow/SKILL.md +23 -73
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +6 -51
- package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +34 -0
- package/bundled/skills/refactor-planner/SKILL.md +6 -8
- package/bundled/skills/refactor-workflow/SKILL.md +14 -75
- package/bundled/skills-windows/app-planner/SKILL.md +2 -9
- package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +10 -0
- package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +9 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +10 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +17 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +19 -0
- package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +10 -0
- package/bundled/skills-windows/bug-fix-workflow/SKILL.md +17 -24
- package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +4 -29
- package/bundled/skills-windows/bug-planner/SKILL.md +20 -12
- package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +5 -63
- package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +46 -1
- package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +17 -53
- package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +22 -0
- package/bundled/skills-windows/feature-planner/SKILL.md +5 -9
- package/bundled/skills-windows/feature-workflow/SKILL.md +22 -63
- package/bundled/skills-windows/prizm-kit/SKILL.md +3 -2
- package/bundled/skills-windows/prizmkit-code-review/SKILL.md +1 -1
- package/bundled/skills-windows/prizmkit-committer/SKILL.md +3 -1
- package/bundled/skills-windows/prizmkit-deploy/SKILL.md +1 -1
- package/bundled/skills-windows/prizmkit-implement/SKILL.md +1 -1
- package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +1 -0
- package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +1 -1
- package/bundled/skills-windows/recovery-workflow/SKILL.md +23 -73
- package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +7 -46
- package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +28 -0
- package/bundled/skills-windows/refactor-planner/SKILL.md +6 -8
- package/bundled/skills-windows/refactor-workflow/SKILL.md +14 -75
- package/package.json +1 -1
|
@@ -26,39 +26,12 @@ User says:
|
|
|
26
26
|
|
|
27
27
|
## Overview
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
refactor-workflow <target / goals>
|
|
31
|
-
│
|
|
32
|
-
├── Phase 1: Brainstorm → clarify type → collect materials → parallel deep read → discuss plan
|
|
33
|
-
│
|
|
34
|
-
├── Phase 2: Plan → refactor-planner → .prizmkit/plans/refactor-list.json
|
|
35
|
-
│
|
|
36
|
-
├── Phase 3: Launch → refactor-pipeline-launcher → pipeline execution
|
|
37
|
-
│
|
|
38
|
-
└── Phase 4: Monitor → track progress → report results
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### What This Skill Does
|
|
42
|
-
|
|
43
|
-
| Phase | Action | Result |
|
|
44
|
-
|-------|--------|--------|
|
|
45
|
-
| 1 | **Brainstorm** — clarify type, collect reference materials, parallel deep read code & docs, discuss plan grounded in real code | Fully clarified refactoring goals |
|
|
46
|
-
| 2 | Call `refactor-planner` with clarified goals | `.prizmkit/plans/refactor-list.json` with N refactor items |
|
|
47
|
-
| 3 | Call `refactor-pipeline-launcher` | Pipeline started (execution mode chosen by user via launcher) |
|
|
48
|
-
| 4 | Monitor progress | Status updates, completion report |
|
|
49
|
-
|
|
50
|
-
### Why This Skill Exists
|
|
51
|
-
|
|
52
|
-
Without this skill, users must:
|
|
53
|
-
1. Figure out all refactoring goals and scope themselves
|
|
54
|
-
2. Invoke `refactor-planner` → wait for .prizmkit/plans/refactor-list.json
|
|
55
|
-
3. Invoke `refactor-pipeline-launcher` → wait for pipeline start
|
|
56
|
-
4. Manually check progress
|
|
29
|
+
Four phases take a rough refactoring idea to verified, behavior-preserving code so the user doesn't have to manually chain planner → launcher → monitoring:
|
|
57
30
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
31
|
+
1. **Brainstorm** — clarify type, collect reference materials, parallel deep read code & docs, discuss plan grounded in real code → fully clarified refactoring goals
|
|
32
|
+
2. **Plan** — call `refactor-planner` → `.prizmkit/plans/refactor-list.json` with N refactor items
|
|
33
|
+
3. **Launch** — call `refactor-pipeline-launcher` → pipeline started (execution mode chosen by user via launcher)
|
|
34
|
+
4. **Monitor** — track progress → status updates, completion report
|
|
62
35
|
|
|
63
36
|
### Branch Management
|
|
64
37
|
|
|
@@ -80,21 +53,9 @@ Natural language description of the refactoring goals. Can be:
|
|
|
80
53
|
|
|
81
54
|
Flow: brainstorm → refactor-planner → refactor-pipeline-launcher → monitor
|
|
82
55
|
|
|
83
|
-
**Mode B: From existing
|
|
56
|
+
**Mode B: From existing `.prizmkit/plans/refactor-list.json`** — user says "run pipeline from existing file", or the file already exists. Skip ahead per the [Resume table](#resume--interruption-recovery).
|
|
84
57
|
|
|
85
|
-
|
|
86
|
-
- Skip brainstorm and `refactor-planner` (file already exists)
|
|
87
|
-
- Invoke `refactor-pipeline-launcher` directly
|
|
88
|
-
- Monitor and report progress
|
|
89
|
-
|
|
90
|
-
**Mode C: Incremental (add to existing refactor plan)**
|
|
91
|
-
|
|
92
|
-
When user says "add more refactors" or the project already has a .prizmkit/plans/refactor-list.json:
|
|
93
|
-
- Brainstorm new refactoring goals with the user
|
|
94
|
-
- Invoke `refactor-planner` in incremental mode (reads existing .prizmkit/plans/refactor-list.json)
|
|
95
|
-
- Append new refactor items to existing list
|
|
96
|
-
- Invoke `refactor-pipeline-launcher`
|
|
97
|
-
- Monitor and report progress
|
|
58
|
+
**Mode C: Incremental (add to existing refactor plan)** — user says "add more refactors". Brainstorm new goals, then invoke `refactor-planner` in incremental mode (appends to existing list) → launch → monitor.
|
|
98
59
|
|
|
99
60
|
---
|
|
100
61
|
|
|
@@ -176,28 +137,6 @@ After confirming refactoring goals, assess whether this refactor needs the full
|
|
|
176
137
|
- Existing tests fully cover the affected code paths
|
|
177
138
|
- No risk of behavior change
|
|
178
139
|
|
|
179
|
-
**User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options:
|
|
180
|
-
|
|
181
|
-
```
|
|
182
|
-
AskUserQuestion:
|
|
183
|
-
question: "This refactoring appears straightforward. How would you like to proceed?"
|
|
184
|
-
header: "Approach"
|
|
185
|
-
options:
|
|
186
|
-
- label: "Refactor now (fast path)"
|
|
187
|
-
description: "Plan and refactor directly in this session using /prizmkit-plan + /prizmkit-implement"
|
|
188
|
-
- label: "Add to refactor list (pipeline)"
|
|
189
|
-
description: "Generate .prizmkit/plans/refactor-list.json via refactor-planner, then launch pipeline for autonomous execution"
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
- **Refactor now** → Fast Path Workflow:
|
|
193
|
-
1. Invoke `/prizmkit-plan` with the refactoring goals → generates `spec.md` + `plan.md`
|
|
194
|
-
2. Invoke `/prizmkit-implement` to execute the plan (behavior preservation verified by tests)
|
|
195
|
-
3. After implementation, run `/prizmkit-code-review` for quality check
|
|
196
|
-
4. Commit via `/prizmkit-committer` with `refactor(<scope>):` prefix
|
|
197
|
-
5. Run `/prizmkit-retrospective` to sync `.prizmkit/prizm-docs/`
|
|
198
|
-
6. **End workflow** — skip Phase 2/3/4
|
|
199
|
-
- **Add to refactor list** → Continue to Phase 2 (Plan via pipeline)
|
|
200
|
-
|
|
201
140
|
**Complex refactor → Planning Path** (ANY is true):
|
|
202
141
|
- Cross-module impact (>2 modules affected)
|
|
203
142
|
- Public API or interface changes required
|
|
@@ -206,21 +145,21 @@ AskUserQuestion:
|
|
|
206
145
|
- Insufficient test coverage in target area (risk of hidden behavior changes)
|
|
207
146
|
- Requires coordination with other ongoing work
|
|
208
147
|
|
|
209
|
-
**User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options:
|
|
148
|
+
**User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options. Tailor the question text to the assessment ("This refactoring appears straightforward…" for simple, "This refactoring is complex and will benefit from structured planning…" for complex), but the two options are always the same:
|
|
210
149
|
|
|
211
150
|
```
|
|
212
151
|
AskUserQuestion:
|
|
213
|
-
question:
|
|
152
|
+
question: <tailored to simple vs complex assessment>
|
|
214
153
|
header: "Approach"
|
|
215
154
|
options:
|
|
216
|
-
- label: "
|
|
217
|
-
description: "
|
|
155
|
+
- label: "Refactor now (fast path)"
|
|
156
|
+
description: "Plan and refactor directly in this session using /prizmkit-plan + /prizmkit-implement"
|
|
218
157
|
- label: "Add to refactor list (pipeline)"
|
|
219
158
|
description: "Generate .prizmkit/plans/refactor-list.json via refactor-planner, then launch pipeline for autonomous execution"
|
|
220
159
|
```
|
|
221
160
|
|
|
222
|
-
- **
|
|
223
|
-
- **Add to refactor list** → Continue to Phase 2 (Plan via pipeline)
|
|
161
|
+
- **Refactor now** → Fast Path: `/prizmkit-plan` (goals → `spec.md` + `plan.md`) → `/prizmkit-implement` (behavior preservation verified by tests) → `/prizmkit-code-review` → `/prizmkit-committer` (`refactor(<scope>):` prefix) → `/prizmkit-retrospective` (sync `.prizmkit/prizm-docs/`). **End workflow** — skip Phase 2/3/4.
|
|
162
|
+
- **Add to refactor list** → Continue to Phase 2 (Plan via pipeline).
|
|
224
163
|
|
|
225
164
|
**NEVER proceed without explicit user confirmation via `AskUserQuestion`. Do NOT render options as plain text — the user must be able to click/select.**
|
|
226
165
|
|
|
@@ -251,7 +190,7 @@ AskUserQuestion:
|
|
|
251
190
|
|
|
252
191
|
**CHECKPOINT CP-RW-1**: `.prizmkit/plans/refactor-list.json` generated and validated.
|
|
253
192
|
|
|
254
|
-
**If user says `--from <file>`**:
|
|
193
|
+
**If `.prizmkit/plans/refactor-list.json` already exists or user says `--from <file>`**: skip ahead per the [Resume table](#resume--interruption-recovery).
|
|
255
194
|
|
|
256
195
|
---
|
|
257
196
|
|
|
@@ -12,7 +12,7 @@ Plan an application from idea to actionable project context through interactive
|
|
|
12
12
|
- Architecture decision capture
|
|
13
13
|
- Project brief accumulation (`.prizmkit/plans/project-brief.md`)
|
|
14
14
|
|
|
15
|
-
This skill captures **project-level context only**: vision, tech stack, conventions, architecture decisions, and project brief. It does
|
|
15
|
+
This skill captures **project-level context only**: vision, tech stack, conventions, architecture decisions, and project brief. It does not do feature decomposition. (See **Scope Boundary** for the authoritative output rules.)
|
|
16
16
|
|
|
17
17
|
For adding features to an **existing** project that already has a project brief, use `feature-planner` directly.
|
|
18
18
|
|
|
@@ -56,14 +56,7 @@ If you believe the task is better suited for a different workflow, you MUST:
|
|
|
56
56
|
|
|
57
57
|
## When to Use
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
- "Plan an app", "Design a project", "Design a new application"
|
|
61
|
-
- "Start from scratch", "Build something new", "Create a new product"
|
|
62
|
-
- "Help me figure out what to build", "Brainstorm an app idea"
|
|
63
|
-
- "What tech stack should I use?", "Help me choose frameworks"
|
|
64
|
-
- "Create a project brief for my existing project"
|
|
65
|
-
- "Help me document what this project is about"
|
|
66
|
-
- "I have a codebase but no project plan yet"
|
|
59
|
+
The skill `description` lists the trigger phrases. Beyond those, use this section to disambiguate from `feature-planner` and other workflows.
|
|
67
60
|
|
|
68
61
|
Do NOT use this skill when:
|
|
69
62
|
- The user already has a project brief and wants to add features → use `feature-planner`
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)](#phase-2-answer-direct-fill-table-copy-user-answer-text-directly-into-placeholders)
|
|
10
|
+
- [Trigger Map](#trigger-map)
|
|
11
|
+
- [Rule Block Definitions](#rule-block-definitions)
|
|
12
|
+
- [Template Placeholder Coverage Self-Check](#template-placeholder-coverage-self-check)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
|
|
7
17
|
## Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)
|
|
8
18
|
|
|
9
19
|
| Template Placeholder | Source | Example Fill |
|
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [Phase 2 Answer Direct-Fill Table](#phase-2-answer-direct-fill-table)
|
|
10
|
+
- [Trigger Map](#trigger-map)
|
|
11
|
+
- [Rule Block Definitions](#rule-block-definitions)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
|
|
7
16
|
## Phase 2 Answer Direct-Fill Table
|
|
8
17
|
|
|
9
18
|
| Template Placeholder | Source | Example Fill |
|
|
@@ -6,6 +6,16 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
- [Phase 2 Answer Direct-Fill Table (no derivation needed; copy the user's answer text directly into the placeholder)](#phase-2-answer-direct-fill-table-no-derivation-needed-copy-the-users-answer-text-directly-into-the-placeholder)
|
|
12
|
+
- [Trigger Map](#trigger-map)
|
|
13
|
+
- [Rule Block Definitions](#rule-block-definitions)
|
|
14
|
+
- [Template Placeholder Coverage Self-Check Table (Mandatory Check Before Phase 4 Rendering)](#template-placeholder-coverage-self-check-table-mandatory-check-before-phase-4-rendering)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
|
|
9
19
|
## Phase 2 Answer Direct-Fill Table (no derivation needed; copy the user's answer text directly into the placeholder)
|
|
10
20
|
|
|
11
21
|
> These placeholders **don't need rule blocks**. In Phase 4, the AI directly writes the answers collected in Phase 2 into them.
|
|
@@ -6,6 +6,23 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
- [Asking Rules](#asking-rules)
|
|
12
|
+
- [Group Overview](#group-overview)
|
|
13
|
+
- [G1 — Tech Stack](#g1--tech-stack)
|
|
14
|
+
- [G2 — Styling](#g2--styling)
|
|
15
|
+
- [G3 — State & Data Fetching](#g3--state--data-fetching)
|
|
16
|
+
- [G4 — Design System](#g4--design-system)
|
|
17
|
+
- [G5 — Responsive & Adaptation](#g5--responsive--adaptation)
|
|
18
|
+
- [G6 — i18n & Accessibility](#g6--i18n--accessibility)
|
|
19
|
+
- [G7 — Testing & Quality](#g7--testing--quality)
|
|
20
|
+
- [G8 — AI Vibecoding Constraints](#g8--ai-vibecoding-constraints)
|
|
21
|
+
- [G9 — Performance Baseline](#g9--performance-baseline)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
|
|
9
26
|
## Asking Rules
|
|
10
27
|
|
|
11
28
|
1. **Group order**: G1 → G2 → G3 → G4 → G5 → G6 → G7 → G8 → G9. Do not skip.
|
|
@@ -13,6 +13,25 @@
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
+
## Table of Contents
|
|
17
|
+
|
|
18
|
+
- [0. TL;DR — Key Decisions at a Glance](#0-tldr--key-decisions-at-a-glance)
|
|
19
|
+
- [1. Design System](#1-design-system)
|
|
20
|
+
- [2. Engineering Architecture](#2-engineering-architecture)
|
|
21
|
+
- [3. Code Quality (Non-Negotiable)](#3-code-quality-non-negotiable)
|
|
22
|
+
- [4. State & Data](#4-state--data)
|
|
23
|
+
- [5. User Experience](#5-user-experience)
|
|
24
|
+
- [6. Testing & Quality Assurance](#6-testing--quality-assurance)
|
|
25
|
+
- [7. AI Vibecoding Behavior Constraints](#7-ai-vibecoding-behavior-constraints)
|
|
26
|
+
- [8. Collaboration Process](#8-collaboration-process)
|
|
27
|
+
- [9. Security Baseline](#9-security-baseline)
|
|
28
|
+
- [Appendix A: Deny List (Quick Reference)](#appendix-a-deny-list-quick-reference)
|
|
29
|
+
- [Appendix B: Recommended Libraries & Tools](#appendix-b-recommended-libraries--tools)
|
|
30
|
+
- [Appendix C: References](#appendix-c-references)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
|
|
16
35
|
## 0. TL;DR — Key Decisions at a Glance
|
|
17
36
|
|
|
18
37
|
| Dimension | Decision |
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)](#phase-2-answer-direct-fill-table-copy-user-answer-text-directly-into-placeholders)
|
|
10
|
+
- [Trigger Map](#trigger-map)
|
|
11
|
+
- [Rule Block Definitions](#rule-block-definitions)
|
|
12
|
+
- [Template Placeholder Coverage Self-Check](#template-placeholder-coverage-self-check)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
|
|
7
17
|
## Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)
|
|
8
18
|
|
|
9
19
|
| Template Placeholder | Source | Example Fill |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bug-fix-workflow"
|
|
3
|
-
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', '
|
|
3
|
+
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', 'interactive fix', 'manually fix bug'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Bug Fix Workflow
|
|
@@ -10,7 +10,6 @@ Fix a single bug interactively within the current AI CLI session. This is the in
|
|
|
10
10
|
## When to Use
|
|
11
11
|
|
|
12
12
|
- User wants to fix **one specific bug** right now, with full visibility
|
|
13
|
-
- User says "fix this bug", "debug this error", "help me fix B-001", "fix this bug"
|
|
14
13
|
- User has a stack trace or error and wants interactive debugging
|
|
15
14
|
- User prefers hands-on fixing over background pipeline
|
|
16
15
|
|
|
@@ -121,12 +120,7 @@ Ask the user: "Is this summary accurate? Any details to add?"
|
|
|
121
120
|
|
|
122
121
|
After confirming bug understanding, assess whether this bug needs structured planning:
|
|
123
122
|
|
|
124
|
-
**Simple bug → Fast Path candidate
|
|
125
|
-
- Root cause is immediately obvious (typo, missing null check, wrong variable name, off-by-one)
|
|
126
|
-
- Fix is ≤10 lines of code in a single file
|
|
127
|
-
- No cross-module impact
|
|
128
|
-
- Existing tests cover the affected path (or bug is in untested utility)
|
|
129
|
-
- No data model or API changes
|
|
123
|
+
**Simple bug → Fast Path candidate**: meets ALL of the Fast Path §Eligibility Criteria (obvious root cause, ≤10 lines, single file, no cross-module impact, no data/API changes).
|
|
130
124
|
|
|
131
125
|
**User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options:
|
|
132
126
|
|
|
@@ -320,28 +314,28 @@ If user reports the fix is NOT working:
|
|
|
320
314
|
|
|
321
315
|
The workflow supports resuming from the last completed phase by detecting existing artifacts.
|
|
322
316
|
|
|
323
|
-
**Detection logic**:
|
|
317
|
+
**Detection logic**: Resume from git branch state plus, for the complex "Plan and fix now" path, the planning docs under `.prizmkit/bugfix/<BUG_ID>/`:
|
|
324
318
|
|
|
325
|
-
|
|
|
319
|
+
| State Found | Resume From |
|
|
326
320
|
|---------------|------------|
|
|
327
|
-
|
|
|
328
|
-
| On `fix/<BUG_ID>-*` branch, no
|
|
329
|
-
| `
|
|
330
|
-
|
|
|
331
|
-
|
|
|
332
|
-
|
|
|
321
|
+
| Not on a `fix/<BUG_ID>-*` branch | Phase 0: Branch Setup |
|
|
322
|
+
| On `fix/<BUG_ID>-*` branch, no diagnosis done | Phase 1: Deep Bug Diagnosis |
|
|
323
|
+
| `spec.md` + `plan.md` exist, no code changes | Phase 4: Fix (complex path) |
|
|
324
|
+
| Reproduction test written, fix not yet green | Phase 4: Fix |
|
|
325
|
+
| Fix code + passing tests, not yet reviewed | Phase 5: Review |
|
|
326
|
+
| Review passed, not committed | Phase 6: User Verification |
|
|
327
|
+
| Committed on fix branch | Phase 7: Merge decision |
|
|
333
328
|
|
|
334
|
-
**Resume**: If
|
|
329
|
+
**Resume**: If a `fix/<BUG_ID>-*` branch already exists (and, for the complex path, a matching `.prizmkit/bugfix/<BUG_ID>/` directory), resume from the detected state instead of starting fresh.
|
|
335
330
|
|
|
336
331
|
---
|
|
337
332
|
|
|
338
333
|
## Artifacts
|
|
339
334
|
|
|
340
|
-
|
|
341
|
-
- `fix-plan.md` — Triage output (diagnosis, root cause, fix approach)
|
|
342
|
-
- `fix-report.md` — Post-fix summary (what changed, test results, TRAPS added)
|
|
335
|
+
This workflow favors code + tests over documents — a bug fix is an incomplete feature, not new architecture worth heavy documentation. What gets produced depends on the path taken:
|
|
343
336
|
|
|
344
|
-
|
|
337
|
+
- **Fast path / interactive path** (Phase 2–7): no markdown artifacts. Output is the fix code, a reproduction test, and a git commit on the fix branch. Diagnosis and triage are presented inline to the user, not written to disk.
|
|
338
|
+
- **Complex "Plan and fix now" path**: `/prizmkit-plan` writes `spec.md` (bug description + acceptance criteria) and `plan.md` (fix strategy + test specs) under `.prizmkit/bugfix/<BUG_ID>/`. These are the only persisted documents, and they double as resume anchors.
|
|
345
339
|
|
|
346
340
|
## Comparison with Pipeline Bug Fix
|
|
347
341
|
|
|
@@ -354,7 +348,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
354
348
|
| Visibility | Full user interaction at each phase | Async, check status periodically |
|
|
355
349
|
| User verification | Yes (Phase 6) | No (automated) |
|
|
356
350
|
| Best for | Complex bugs needing user input | Batch of well-defined bugs |
|
|
357
|
-
| Artifacts |
|
|
351
|
+
| Artifacts | Code + test (+ spec/plan on complex path) | Pipeline-managed |
|
|
358
352
|
| Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
|
|
359
353
|
|
|
360
354
|
## Error Handling
|
|
@@ -381,6 +375,5 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
381
375
|
## Output
|
|
382
376
|
|
|
383
377
|
- Fixed code with reproduction test
|
|
384
|
-
- `.prizmkit/bugfix/<BUG_ID>/
|
|
385
|
-
- `.prizmkit/bugfix/<BUG_ID>/fix-report.md`
|
|
378
|
+
- On the complex path only: `.prizmkit/bugfix/<BUG_ID>/spec.md` + `plan.md`
|
|
386
379
|
- Git commit with `fix(<scope>):` prefix on dedicated fix branch
|
|
@@ -35,32 +35,7 @@ Ask questions across these dimensions until every aspect is clear. **Adapt to wh
|
|
|
35
35
|
- Server-side logs?
|
|
36
36
|
- Network request/response details?
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- Fix is ≤10 lines of code in a single file
|
|
43
|
-
- No cross-module impact
|
|
44
|
-
- Existing tests cover the affected path (or bug is in untested utility)
|
|
45
|
-
- No data model or API changes
|
|
46
|
-
|
|
47
|
-
### Complex bug → Planning Path (ANY is true)
|
|
48
|
-
- Cross-module impact (>2 files affected)
|
|
49
|
-
- Data model or API changes required
|
|
50
|
-
- Root cause is uncertain or multi-layered
|
|
51
|
-
- Fix requires structural changes
|
|
52
|
-
- Multiple interrelated symptoms
|
|
53
|
-
|
|
54
|
-
## Comparison with Pipeline Bug Fix
|
|
55
|
-
|
|
56
|
-
| Dimension | bug-fix-workflow | bugfix-pipeline-launcher |
|
|
57
|
-
|-----------|-------------------|----------------------------|
|
|
58
|
-
| Scope | One bug at a time | All bugs in batch |
|
|
59
|
-
| Execution | Interactive, in-session | Foreground or background daemon |
|
|
60
|
-
| Diagnosis | Deep interactive Q&A with user | Automated from bug description |
|
|
61
|
-
| Branch | Creates `fix/<BUG_ID>-*` branch | Pipeline manages branches |
|
|
62
|
-
| Visibility | Full user interaction at each phase | Async, check status periodically |
|
|
63
|
-
| User verification | Yes (Phase 6) | No (automated) |
|
|
64
|
-
| Best for | Complex bugs needing user input | Batch of well-defined bugs |
|
|
65
|
-
| Artifacts | Same (fix-plan.md + fix-report.md) | Same |
|
|
66
|
-
| Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
|
|
38
|
+
> Complexity assessment (simple vs complex routing) and the comparison with the
|
|
39
|
+
> background pipeline live in the skill body (§Step 1.4 and §Comparison with
|
|
40
|
+
> Pipeline Bug Fix) — they are flow-control decisions, kept here only by pointer
|
|
41
|
+
> to avoid drift.
|
|
@@ -51,10 +51,8 @@ When the user provides detailed specifications, rules, or implementation require
|
|
|
51
51
|
- File references → store as path string, e.g. `src/auth/login.ts:42-78` or `src/utils/validate.ts — focus on validateEmail function`
|
|
52
52
|
|
|
53
53
|
## When to Use
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- "these tests are failing", "here's an error log", "parse these errors"
|
|
57
|
-
- After receiving bug reports, error logs, or failed test output
|
|
54
|
+
|
|
55
|
+
The `description` frontmatter declares the trigger phrases for this skill. Beyond those:
|
|
58
56
|
|
|
59
57
|
**Do NOT use when:**
|
|
60
58
|
- User wants to start fixing bugs now → use `bugfix-pipeline-launcher`
|
|
@@ -63,15 +61,15 @@ When the user provides detailed specifications, rules, or implementation require
|
|
|
63
61
|
|
|
64
62
|
## Intent Routing
|
|
65
63
|
|
|
66
|
-
This skill handles multiple operations. Determine the user's intent and
|
|
64
|
+
This skill handles multiple operations. Determine the user's intent and dispatch to the matching operation section below — each operation's authoritative trigger phrases live in its own **Operation:** section.
|
|
67
65
|
|
|
68
|
-
| User Intent | Operation
|
|
69
|
-
|
|
70
|
-
| Plan bugs interactively | **Interactive Planning** |
|
|
71
|
-
| Parse error logs into bugs | **From Log** |
|
|
72
|
-
| Parse test failures into bugs | **From Tests** |
|
|
73
|
-
| Validate existing bug list | **Validate** |
|
|
74
|
-
| Summarize bug list | **Summary** |
|
|
66
|
+
| User Intent | Operation Section |
|
|
67
|
+
|---|---|
|
|
68
|
+
| Plan bugs interactively | **Operation: Interactive Planning** |
|
|
69
|
+
| Parse error logs into bugs | **Operation: From Log** |
|
|
70
|
+
| Parse test failures into bugs | **Operation: From Tests** |
|
|
71
|
+
| Validate existing bug list | **Operation: Validate** |
|
|
72
|
+
| Summarize bug list | **Operation: Summary** |
|
|
75
73
|
|
|
76
74
|
## PowerShell Python Helper
|
|
77
75
|
|
|
@@ -126,6 +124,8 @@ Actions:
|
|
|
126
124
|
|
|
127
125
|
## Operation: Interactive Planning
|
|
128
126
|
|
|
127
|
+
Triggers: "plan bug fixes", "report bugs".
|
|
128
|
+
|
|
129
129
|
Launch the interactive bug planning process through 5 phases.
|
|
130
130
|
|
|
131
131
|
### Phase 1: Project Context
|
|
@@ -289,6 +289,8 @@ Checkpoints catch cascading errors early — skipping one means the next phase b
|
|
|
289
289
|
|
|
290
290
|
## Operation: From Log
|
|
291
291
|
|
|
292
|
+
Triggers: "parse this error log", "here's a stack trace", "parse these errors".
|
|
293
|
+
|
|
292
294
|
Batch-parse error logs to generate bug entries without interactive prompts:
|
|
293
295
|
|
|
294
296
|
1. Accept log file path or piped content
|
|
@@ -309,6 +311,8 @@ Batch-parse error logs to generate bug entries without interactive prompts:
|
|
|
309
311
|
|
|
310
312
|
## Operation: From Tests
|
|
311
313
|
|
|
314
|
+
Triggers: "these tests are failing", "parse test output".
|
|
315
|
+
|
|
312
316
|
Batch-parse failed test output:
|
|
313
317
|
|
|
314
318
|
1. Accept test runner output (Jest, pytest, Go test, etc.)
|
|
@@ -323,6 +327,8 @@ Batch-parse failed test output:
|
|
|
323
327
|
|
|
324
328
|
## Operation: Validate
|
|
325
329
|
|
|
330
|
+
Triggers: "validate bug list", "check .prizmkit/plans/bug-fix-list.json".
|
|
331
|
+
|
|
326
332
|
Validate existing `.prizmkit/plans/bug-fix-list.json`:
|
|
327
333
|
|
|
328
334
|
1. Check JSON syntax
|
|
@@ -336,6 +342,8 @@ Validate existing `.prizmkit/plans/bug-fix-list.json`:
|
|
|
336
342
|
|
|
337
343
|
## Operation: Summary
|
|
338
344
|
|
|
345
|
+
Triggers: "bug summary", "show bug list", "list bugs".
|
|
346
|
+
|
|
339
347
|
Print human-readable summary:
|
|
340
348
|
|
|
341
349
|
```
|
|
@@ -137,73 +137,15 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
137
137
|
--action status
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
-
4. **Ask execution mode** (first user decision — SEPARATE `AskUserQuestion` call):
|
|
140
|
+
4. **Ask execution mode** (first user decision — SEPARATE `AskUserQuestion` call with exactly 1 question):
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
Present the three execution modes from the **Execution Mode** section above (Foreground / Background daemon / Manual), multiSelect: false. Then STOP and wait for the user's response before continuing to step 5.
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
5. **Ask configuration options** — applies to ALL execution modes (Foreground, Background, AND Manual). This is a SEPARATE `AskUserQuestion` call from step 4.
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
- Foreground (Recommended) — pipeline runs in the current session via `run-bugfix.ps1 run`. Visible output and direct error feedback.
|
|
148
|
-
- Background daemon — pipeline runs fully detached via `launch-bugfix-daemon.ps1`. Survives AI CLI session closure.
|
|
149
|
-
- Manual — display the final assembled commands only. Do not execute anything. User runs them on their own.
|
|
146
|
+
RULE: Execution mode (step 4) and configuration (step 5) are two distinct `AskUserQuestion` calls, asked in order, each followed by waiting for the user's answer. Merging them, assuming defaults, or showing the final command before the user has answered both rounds produces a misconfigured pipeline that runs autonomously for a long time — so it MUST NOT happen. If you find yourself writing the final command before the user has answered, STOP.
|
|
150
147
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
5. **Ask configuration options** ⚠️ MANDATORY INTERACTIVE STEP — applies to ALL execution modes (Foreground, Background, AND Manual). This is a SEPARATE `AskUserQuestion` call from step 4. You MUST ask the user to configure options and WAIT for their response BEFORE proceeding to step 6.
|
|
154
|
-
|
|
155
|
-
⛔ **HARD STOP**: You MUST call `AskUserQuestion` with the 4 questions below and WAIT for the user's response. You MUST NOT:
|
|
156
|
-
- Combine step 4 and step 5 into one `AskUserQuestion` call (this is the most common violation — execution mode MUST be asked separately in step 4)
|
|
157
|
-
- Skip this step and jump to the next step
|
|
158
|
-
- Merge this step and the next step into one response
|
|
159
|
-
- Assume default values and show the command without asking
|
|
160
|
-
- Show the command as text and ask "ready?" without presenting the options
|
|
161
|
-
If you find yourself writing the final command before the user has answered these 4 questions, STOP — you are violating this rule.
|
|
162
|
-
|
|
163
|
-
Use `AskUserQuestion` to present ALL 4 configuration choices (the full 4-question budget goes to config, NOT shared with execution mode):
|
|
164
|
-
|
|
165
|
-
**Question 1 — Verbose logging** (multiSelect: false):
|
|
166
|
-
- On (default) — Detailed AI session logs including tool calls and subagent activity
|
|
167
|
-
- Off — Minimal logging
|
|
168
|
-
|
|
169
|
-
**Question 2 — Max retries** (multiSelect: false):
|
|
170
|
-
- 3 (default)
|
|
171
|
-
- 1
|
|
172
|
-
- 5
|
|
173
|
-
|
|
174
|
-
**Question 3 — Critic review** (multiSelect: false):
|
|
175
|
-
- Off (default) — Skip adversarial review
|
|
176
|
-
- On — Enable adversarial critic review: an independent AI agent reviews the diagnosis/plan for completeness and the fix for defects, edge cases, and regression risks. Adds ~5-10 min per bug.
|
|
177
|
-
|
|
178
|
-
**Question 4 — Advanced config?** (multiSelect: false):
|
|
179
|
-
- No (default) — Use defaults for session timeout and failure behavior
|
|
180
|
-
- Yes — Configure session timeout, stop-on-failure, and reasoning effort options
|
|
181
|
-
|
|
182
|
-
Note: Bug filter defaults to all bugs (by severity order). Default Critic to Off unless bugs have `severity: "critical"` or `severity: "high"` (in which case default to On). If the user selects "Other" on any option, handle their custom input.
|
|
183
|
-
|
|
184
|
-
**If user chose "Yes" to Advanced config**, ask a second round of `AskUserQuestion`:
|
|
185
|
-
|
|
186
|
-
**Question 1 — Session timeout** (multiSelect: false):
|
|
187
|
-
- None (default) — No timeout
|
|
188
|
-
- 30 min — `SESSION_TIMEOUT=1800`
|
|
189
|
-
- 1 hour — `SESSION_TIMEOUT=3600`
|
|
190
|
-
- 2 hours — `SESSION_TIMEOUT=7200`
|
|
191
|
-
|
|
192
|
-
**Question 2 — Stop on failure** (multiSelect: false):
|
|
193
|
-
- Off (default) — Pipeline continues to next task after failure
|
|
194
|
-
- On — Pipeline halts immediately when a task exhausts all retries (`STOP_ON_FAILURE=1`)
|
|
195
|
-
|
|
196
|
-
**Question 3 — Reasoning effort** (multiSelect: false):
|
|
197
|
-
- Default (none) — Use CLI default
|
|
198
|
-
- low — Minimize reasoning, fastest output (`PRIZMKIT_EFFORT=low`)
|
|
199
|
-
- medium — Moderate reasoning (`PRIZMKIT_EFFORT=medium`)
|
|
200
|
-
- high — Thorough reasoning for complex tasks (`PRIZMKIT_EFFORT=high`)
|
|
201
|
-
- xhigh — Extensive reasoning (`PRIZMKIT_EFFORT=xhigh`)
|
|
202
|
-
- max — Maximum reasoning, Claude Code only (`PRIZMKIT_EFFORT=max`)
|
|
203
|
-
|
|
204
|
-
**Environment variable mapping** and **advanced environment variables** tables — read `${SKILL_DIR}/references/configuration.md` for the full translation tables (8 config→env mappings + 8 advanced variables).
|
|
205
|
-
|
|
206
|
-
⚠️ STOP HERE and wait for user response before continuing to step 6.
|
|
148
|
+
The step-5 questions (4 round-1 questions, plus a round 2 if the user picks "Yes" to Advanced config) and their env-var mappings are enumerated in `${SKILL_DIR}/references/configuration.md` under "Interactive Configuration Options". Present round 1 as one `AskUserQuestion` call; run round 2 only if Advanced config = Yes. Then STOP and wait for the user's response before continuing to step 6.
|
|
207
149
|
|
|
208
150
|
6. **Show final command**: Assemble the complete command from execution mode + confirmed configuration, and present it to the user.
|
|
209
151
|
|
|
@@ -11,7 +11,7 @@ Translating user responses to env vars:
|
|
|
11
11
|
| Verbose: Off | `VERBOSE=0` |
|
|
12
12
|
| Verbose: On | `VERBOSE=1` |
|
|
13
13
|
| Max retries: N | `MAX_RETRIES=N` |
|
|
14
|
-
| Critic: On | `ENABLE_CRITIC=
|
|
14
|
+
| Critic: On | `ENABLE_CRITIC=1` |
|
|
15
15
|
| Timeout: value | `SESSION_TIMEOUT=<seconds>` |
|
|
16
16
|
| Stop on failure: On | `STOP_ON_FAILURE=1` |
|
|
17
17
|
| Deploy: Yes | `ENABLE_DEPLOY=1` |
|
|
@@ -32,6 +32,51 @@ Not exposed in interactive menu, pass via `--env`:
|
|
|
32
32
|
| `LOG_RETENTION_DAYS` | `14` | Delete logs older than N days |
|
|
33
33
|
| `LOG_MAX_TOTAL_MB` | `1024` | Keep total logs under N MB via oldest-first cleanup |
|
|
34
34
|
|
|
35
|
+
## Interactive Configuration Options
|
|
36
|
+
|
|
37
|
+
Present these via `AskUserQuestion` in step 5. Round 1 is one `AskUserQuestion` call with all 4 questions; round 2 only runs if the user picks "Yes" to Advanced config.
|
|
38
|
+
|
|
39
|
+
### Round 1 (always asked)
|
|
40
|
+
|
|
41
|
+
**Question 1 — Verbose logging** (multiSelect: false):
|
|
42
|
+
- On (default) — Detailed AI session logs including tool calls and subagent activity
|
|
43
|
+
- Off — Minimal logging
|
|
44
|
+
|
|
45
|
+
**Question 2 — Max retries** (multiSelect: false):
|
|
46
|
+
- 3 (default)
|
|
47
|
+
- 1
|
|
48
|
+
- 5
|
|
49
|
+
|
|
50
|
+
**Question 3 — Critic review** (multiSelect: false):
|
|
51
|
+
- Off (default) — Skip adversarial review (`ENABLE_CRITIC=0`)
|
|
52
|
+
- On — Enable adversarial critic review (`ENABLE_CRITIC=1`): an independent AI agent reviews the diagnosis/plan for completeness and the fix for defects, edge cases, and regression risks. Adds ~5-10 min per bug.
|
|
53
|
+
|
|
54
|
+
**Question 4 — Advanced config?** (multiSelect: false):
|
|
55
|
+
- No (default) — Use defaults for session timeout and failure behavior
|
|
56
|
+
- Yes — Configure session timeout, stop-on-failure, and reasoning effort options
|
|
57
|
+
|
|
58
|
+
Note: Bug filter defaults to all bugs (by severity order). Default Critic to Off unless bugs have `severity: "critical"` or `severity: "high"` (in which case default to On). If the user selects "Other" on any option, handle their custom input.
|
|
59
|
+
|
|
60
|
+
### Round 2 (only if Advanced config = Yes)
|
|
61
|
+
|
|
62
|
+
**Question 1 — Session timeout** (multiSelect: false):
|
|
63
|
+
- None (default) — No timeout
|
|
64
|
+
- 30 min — `SESSION_TIMEOUT=1800`
|
|
65
|
+
- 1 hour — `SESSION_TIMEOUT=3600`
|
|
66
|
+
- 2 hours — `SESSION_TIMEOUT=7200`
|
|
67
|
+
|
|
68
|
+
**Question 2 — Stop on failure** (multiSelect: false):
|
|
69
|
+
- Off (default) — Pipeline continues to next task after failure
|
|
70
|
+
- On — Pipeline halts immediately when a task exhausts all retries (`STOP_ON_FAILURE=1`)
|
|
71
|
+
|
|
72
|
+
**Question 3 — Reasoning effort** (multiSelect: false):
|
|
73
|
+
- Default (none) — Use CLI default
|
|
74
|
+
- low — Minimize reasoning, fastest output (`PRIZMKIT_EFFORT=low`)
|
|
75
|
+
- medium — Moderate reasoning (`PRIZMKIT_EFFORT=medium`)
|
|
76
|
+
- high — Thorough reasoning for complex tasks (`PRIZMKIT_EFFORT=high`)
|
|
77
|
+
- xhigh — Extensive reasoning (`PRIZMKIT_EFFORT=xhigh`)
|
|
78
|
+
- max — Maximum reasoning, Claude Code only (`PRIZMKIT_EFFORT=max`)
|
|
79
|
+
|
|
35
80
|
## Error Handling
|
|
36
81
|
|
|
37
82
|
| Error | Action |
|