prizmkit 1.1.106 → 1.1.108
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/bin/create-prizmkit.js +4 -0
- package/bundled/VERSION.json +3 -3
- package/bundled/dev-pipeline/prizmkit_runtime/config.py +81 -14
- package/bundled/dev-pipeline/prizmkit_runtime/heartbeat.py +19 -8
- package/bundled/dev-pipeline/prizmkit_runtime/interoperability.py +0 -1
- package/bundled/dev-pipeline/prizmkit_runtime/launch_profiles.py +18 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runner_bookkeeping.py +22 -2
- package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +56 -5
- package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +0 -8
- package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +11 -1
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +298 -63
- package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +243 -37
- package/bundled/dev-pipeline/scripts/continuation.py +0 -5
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +10 -82
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +7 -64
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +40 -63
- package/bundled/dev-pipeline/scripts/utils.py +123 -0
- package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +4 -3
- package/bundled/dev-pipeline/templates/agent-prompts/reviewer-review.md +5 -6
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +36 -35
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +53 -80
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +43 -78
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +5 -17
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +6 -18
- package/bundled/dev-pipeline/templates/sections/checkpoint-system.md +14 -48
- package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +7 -14
- package/bundled/dev-pipeline/templates/sections/feature-context.md +0 -4
- package/bundled/dev-pipeline/templates/sections/phase-browser-verification-auto.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase-browser-verification-opencli.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase-browser-verification.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +0 -14
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +0 -14
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-base.md +0 -2
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-lite-suffix.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase-critic-plan-full.md +6 -8
- package/bundled/dev-pipeline/templates/sections/phase-critic-plan.md +3 -7
- package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +4 -16
- package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +4 -17
- package/bundled/dev-pipeline/templates/sections/phase-implement-lite.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase-plan-agent.md +2 -9
- package/bundled/dev-pipeline/templates/sections/phase-plan-lite.md +1 -8
- package/bundled/dev-pipeline/templates/sections/phase-prizmkit-test.md +15 -16
- package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +3 -10
- package/bundled/dev-pipeline/templates/sections/phase-review-full.md +3 -10
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +2 -9
- package/bundled/dev-pipeline/templates/sections/phase0-init.md +0 -7
- package/bundled/dev-pipeline/templates/sections/phase0-test-baseline.md +2 -15
- package/bundled/dev-pipeline/tests/conftest.py +0 -1
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +395 -21
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +50 -14
- package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +154 -2
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +431 -3
- package/bundled/dev-pipeline/tests/test_unified_cli.py +857 -5
- package/bundled/skills/_metadata.json +4 -4
- package/bundled/skills/app-planner/SKILL.md +1 -1
- package/bundled/skills/app-planner/references/architecture-decisions.md +1 -1
- package/bundled/skills/bug-fix-workflow/SKILL.md +174 -128
- package/bundled/skills/bug-planner/SKILL.md +101 -15
- package/bundled/skills/bug-planner/references/severity-rules.md +20 -8
- package/bundled/skills/feature-planner/SKILL.md +87 -8
- package/bundled/skills/feature-planner/assets/planning-guide.md +34 -10
- package/bundled/skills/feature-workflow/SKILL.md +100 -81
- package/bundled/skills/{prizm-kit → prizmkit}/SKILL.md +1 -1
- package/bundled/skills/prizmkit-code-review/SKILL.md +12 -13
- package/bundled/skills/prizmkit-code-review/references/reviewer-agent-prompt.md +10 -10
- package/bundled/skills/refactor-planner/SKILL.md +88 -7
- package/bundled/skills/refactor-planner/references/fast-path.md +2 -1
- package/bundled/skills/refactor-planner/references/planning-phases.md +29 -11
- package/bundled/skills/refactor-workflow/SKILL.md +116 -57
- package/bundled/templates/project-memory-template.md +1 -1
- package/package.json +1 -1
- package/src/ai-cli-launch.js +194 -0
- package/src/config.js +26 -14
- package/src/index.js +11 -44
- package/src/platforms.js +10 -3
- package/src/prompts.js +60 -2
- package/src/scaffold.js +26 -14
- package/bundled/dev-pipeline/scripts/prizmkit-test-gate.py +0 -446
- package/bundled/dev-pipeline/templates/agent-prompts/dev-fix.md +0 -7
- package/bundled/dev-pipeline/templates/agent-prompts/dev-resume.md +0 -5
- package/bundled/dev-pipeline/templates/sections/log-size-awareness.md +0 -20
- package/bundled/dev-pipeline/tests/test_prizmkit_test_gate.py +0 -107
- package/bundled/skills/prizmkit-code-review/references/dev-agent-prompt.md +0 -30
|
@@ -1,75 +1,88 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "feature-workflow"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Triage-based feature workflow. Clarifies requirements, then lets the user choose Fast Path for simple current-session/current-workspace implementation or Pipeline Path for complex/batch features via feature-planner → feature-pipeline-launcher. Use when the user wants to develop features from idea to running code with the right execution path for the task difficulty. 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'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Feature Workflow
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Triage-based entry point for feature development. The workflow clarifies requirements, assesses task difficulty, asks the user to choose an approach, then follows one of two paths:
|
|
9
|
+
|
|
10
|
+
- **Fast Path** — simple feature work is implemented directly in the **current session** and **current workspace** with the normal PrizmKit lifecycle commands.
|
|
11
|
+
- **Pipeline Path** — complex or batch features are planned with `feature-planner`, launched with `feature-pipeline-launcher`, then monitored.
|
|
12
|
+
|
|
13
|
+
This skill keeps Fast Path and Pipeline Path separate. Pipeline monitoring only happens after the user selects Pipeline Path and the launcher starts execution.
|
|
9
14
|
|
|
10
15
|
## When to Use
|
|
11
16
|
|
|
12
17
|
User says:
|
|
13
18
|
- "Build a new application", "Build XXX system", "Create a project"
|
|
19
|
+
- "Implement this feature now", "Add this simple feature", "Build one small workflow"
|
|
14
20
|
- "One-click complete these features", "Batch implement these requirements"
|
|
15
|
-
- "Build a task management App from scratch"
|
|
16
21
|
- "Help me implement user login, registration, and avatar upload features"
|
|
17
|
-
- After receiving a batch of related feature requests
|
|
22
|
+
- After receiving either one scoped feature request or a batch of related feature requests
|
|
18
23
|
|
|
19
24
|
**Do NOT use this skill when:**
|
|
20
|
-
- User only wants to plan features
|
|
21
|
-
- User only wants to launch
|
|
22
|
-
- User wants to fix bugs
|
|
23
|
-
- User wants to refactor code
|
|
25
|
+
- User only wants to plan features without execution → use `feature-planner` directly
|
|
26
|
+
- User only wants to launch an existing `.prizmkit/plans/feature-list.json` → use `feature-pipeline-launcher`
|
|
27
|
+
- User wants to fix bugs → use `bug-fix-workflow` or `bug-planner` + `bugfix-pipeline-launcher`
|
|
28
|
+
- User wants to refactor code → use `refactor-workflow`
|
|
24
29
|
|
|
25
30
|
---
|
|
26
31
|
|
|
27
32
|
## Overview
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
The shared contract is:
|
|
35
|
+
|
|
36
|
+
1. **Brainstorm** — collect reference materials, deep read relevant code/docs, and clarify requirements.
|
|
37
|
+
2. **Assess difficulty** — decide whether the request is simple enough for Fast Path or should use Pipeline Path.
|
|
38
|
+
3. **AskUserQuestion approach selection** — present selectable options; never silently choose the path.
|
|
39
|
+
4. **Execute selected path**:
|
|
40
|
+
- **Fast Path**: `/prizmkit-plan` → `/prizmkit-implement` → `/prizmkit-code-review` → `/prizmkit-retrospective` → `/prizmkit-committer` in the current workspace.
|
|
41
|
+
- **Pipeline Path**: `feature-planner` → `feature-pipeline-launcher` → monitoring.
|
|
30
42
|
|
|
31
|
-
|
|
32
|
-
2. **Plan** — call `feature-planner` with clarified requirements → `.prizmkit/plans/feature-list.json` with N features
|
|
33
|
-
3. **Launch** — call `feature-pipeline-launcher` → pipeline started (execution mode chosen by user via launcher)
|
|
34
|
-
4. **Monitor** — track progress → status updates, completion report
|
|
43
|
+
### Terminology
|
|
35
44
|
|
|
36
|
-
|
|
45
|
+
| Term | Meaning |
|
|
46
|
+
|------|---------|
|
|
47
|
+
| **Fast Path** | Current-session/current-workspace feature implementation for simple, scoped work. It does not create or consume `.prizmkit/plans/feature-list.json` and does not start the dev-pipeline. |
|
|
48
|
+
| **Pipeline Path** | Complex or batch feature execution. Planner handoff goes to `feature-planner`; launcher handoff goes to `feature-pipeline-launcher`; monitoring follows only after launch. |
|
|
49
|
+
| **Current session** | The interactive AI CLI session that is already talking with the user. |
|
|
50
|
+
| **Current workspace** | The current git checkout and working tree, not a background pipeline worktree/session. |
|
|
51
|
+
| **Monitoring** | Status/log follow-up for a launched pipeline; it is not part of the Fast Path. |
|
|
37
52
|
|
|
38
|
-
### Branch
|
|
53
|
+
### Workspace and Branch Model
|
|
39
54
|
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
- Branches are created, committed, and managed by the pipeline session
|
|
43
|
-
- This workflow does NOT create a top-level branch — the pipeline manages granular per-feature branches
|
|
55
|
+
- **Fast Path**: work happens in the current workspace and current interactive session. Use the current branch unless the project policy or user explicitly asks to create a branch.
|
|
56
|
+
- **Pipeline Path**: `feature-pipeline-launcher` and the dev-pipeline manage per-feature branches/worktrees. This workflow does not create a top-level branch before handing off to the launcher.
|
|
44
57
|
|
|
45
58
|
---
|
|
46
59
|
|
|
47
60
|
## Input Modes
|
|
48
61
|
|
|
49
|
-
**Mode A:
|
|
62
|
+
**Mode A: Natural language requirements** (default)
|
|
50
63
|
|
|
51
|
-
Natural language description of the project or
|
|
64
|
+
Natural language description of the project or feature(s). Can be:
|
|
65
|
+
- A single simple feature: "Add CSV export to the reports page"
|
|
52
66
|
- A project vision: "Build a task management App with user login, task CRUD, and task categories"
|
|
53
|
-
- A batch of features: "Implement user registration, login, and password recovery
|
|
67
|
+
- A batch of features: "Implement user registration, login, and password recovery"
|
|
54
68
|
- An incremental request: "Add user avatar upload and nickname modification to the existing system"
|
|
55
69
|
|
|
56
|
-
Flow: brainstorm →
|
|
70
|
+
Flow: brainstorm → complexity assessment → AskUserQuestion → Fast Path or Pipeline Path.
|
|
57
71
|
|
|
58
|
-
**Mode B:
|
|
72
|
+
**Mode B: Existing `.prizmkit/plans/feature-list.json`**
|
|
59
73
|
|
|
60
|
-
When user says "run pipeline from existing file" or
|
|
61
|
-
- Skip brainstorm and `feature-planner`
|
|
74
|
+
When the user says "run pipeline from existing file" or `.prizmkit/plans/feature-list.json` already exists and should be executed:
|
|
75
|
+
- Skip brainstorm and `feature-planner`
|
|
62
76
|
- Invoke `feature-pipeline-launcher` directly
|
|
63
77
|
- Monitor and report progress
|
|
64
78
|
|
|
65
|
-
**Mode C: Incremental
|
|
79
|
+
**Mode C: Incremental feature request**
|
|
66
80
|
|
|
67
81
|
When user says "add features to existing project" or the project already has features:
|
|
68
|
-
- Brainstorm new feature requirements
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
- Monitor and report progress
|
|
82
|
+
- Brainstorm only the new feature requirements
|
|
83
|
+
- Assess whether the new scope is simple enough for Fast Path
|
|
84
|
+
- For simple work: use Fast Path in the current workspace
|
|
85
|
+
- For complex or batch work: invoke `feature-planner` in incremental mode, then `feature-pipeline-launcher`
|
|
73
86
|
|
|
74
87
|
---
|
|
75
88
|
|
|
@@ -77,7 +90,7 @@ When user says "add features to existing project" or the project already has fea
|
|
|
77
90
|
|
|
78
91
|
**Goal**: Through interactive Q&A and deep context reading, 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.
|
|
79
92
|
|
|
80
|
-
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
|
|
93
|
+
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 high-quality code generation, which requires strong requirement understanding.
|
|
81
94
|
|
|
82
95
|
### Step 1.1: Understand the User's Vision
|
|
83
96
|
|
|
@@ -133,66 +146,69 @@ Once brainstorming is complete, produce a structured requirements summary. Read
|
|
|
133
146
|
|
|
134
147
|
### Step 1.7: Complexity Assessment & Approach Selection
|
|
135
148
|
|
|
136
|
-
After confirming requirements, assess whether this feature needs the
|
|
149
|
+
After confirming requirements, assess whether this feature needs the Pipeline Path or can be done directly in the current session/current workspace.
|
|
137
150
|
|
|
138
|
-
**Simple feature
|
|
151
|
+
**Simple feature work → Fast Path candidate** (ALL must be true):
|
|
139
152
|
- Single module, no cross-module architectural impact
|
|
140
153
|
- ≤2 new files to create
|
|
141
154
|
- No new external dependencies or infrastructure changes
|
|
142
|
-
- Straightforward implementation (CRUD, utility, simple UI component)
|
|
155
|
+
- Straightforward implementation (CRUD endpoint, utility, simple UI component, small workflow)
|
|
143
156
|
- Clear acceptance criteria with existing patterns to follow
|
|
144
157
|
- No dependency on other unbuilt features
|
|
145
158
|
|
|
146
|
-
**Complex
|
|
159
|
+
**Complex or batch features → Pipeline Path candidate** (ANY is true):
|
|
160
|
+
- Multiple features or batch implementation request
|
|
147
161
|
- Cross-module impact (>2 modules affected)
|
|
148
162
|
- New infrastructure, dependencies, or architectural patterns required
|
|
149
163
|
- Multiple interrelated features with dependency ordering
|
|
150
164
|
- Data model or API design decisions needed
|
|
151
165
|
- Requires integration with external services
|
|
152
166
|
|
|
153
|
-
User choice
|
|
167
|
+
**User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options. Adjust the question framing to the assessment: for a simple feature, "This feature appears straightforward and can use the current-session Fast Path." For a complex or batch request, "This feature set is complex or batch-oriented and should use the Pipeline Path."
|
|
154
168
|
|
|
155
169
|
```
|
|
156
170
|
AskUserQuestion:
|
|
157
|
-
question: "How would you like to proceed?"
|
|
171
|
+
question: "How would you like to proceed?"
|
|
158
172
|
header: "Approach"
|
|
159
173
|
options:
|
|
160
|
-
- label: "Implement now (
|
|
161
|
-
description: "
|
|
162
|
-
- label: "
|
|
163
|
-
description: "Generate .prizmkit/plans/feature-list.json
|
|
174
|
+
- label: "Implement now (Fast Path — current session/current workspace)"
|
|
175
|
+
description: "Run /prizmkit-plan → /prizmkit-implement → /prizmkit-code-review → /prizmkit-retrospective → /prizmkit-committer directly in this workspace"
|
|
176
|
+
- label: "Use Pipeline Path (feature-planner → feature-pipeline-launcher)"
|
|
177
|
+
description: "Generate .prizmkit/plans/feature-list.json with feature-planner, then launch autonomous execution with feature-pipeline-launcher"
|
|
164
178
|
```
|
|
165
179
|
|
|
166
|
-
- **Implement now
|
|
180
|
+
- **Implement now (Fast Path)**:
|
|
167
181
|
1. Invoke `/prizmkit-plan` with the requirements summary → generates `spec.md` + `plan.md`
|
|
168
|
-
2. Invoke `/prizmkit-implement` to execute the plan
|
|
169
|
-
3.
|
|
170
|
-
4.
|
|
171
|
-
5.
|
|
172
|
-
6. End workflow —
|
|
173
|
-
- **
|
|
182
|
+
2. Invoke `/prizmkit-implement` to execute the plan in the current workspace
|
|
183
|
+
3. Run `/prizmkit-code-review` for quality check
|
|
184
|
+
4. Run `/prizmkit-retrospective` to sync `.prizmkit/prizm-docs/`
|
|
185
|
+
5. Commit via `/prizmkit-committer` with `feat(<scope>):` prefix
|
|
186
|
+
6. End workflow — do not call `feature-planner`, do not call `feature-pipeline-launcher`, and do not enter monitoring
|
|
187
|
+
- **Use Pipeline Path** → Continue to Phase 2 (Planner handoff)
|
|
174
188
|
|
|
175
189
|
Never proceed without explicit user confirmation via `AskUserQuestion`. Do NOT render options as plain text — the user must be able to click/select.
|
|
176
190
|
|
|
177
|
-
**CHECKPOINT CP-FW-0.5**: Approach selected by user (
|
|
191
|
+
**CHECKPOINT CP-FW-0.5**: Approach selected by user (Fast Path or Pipeline Path).
|
|
178
192
|
|
|
179
193
|
---
|
|
180
194
|
|
|
181
|
-
## Phase 2: Plan
|
|
195
|
+
## Phase 2: Plan — Pipeline Path Only
|
|
196
|
+
|
|
197
|
+
**Goal**: Generate structured `.prizmkit/plans/feature-list.json` from the clarified requirements.
|
|
182
198
|
|
|
183
|
-
|
|
199
|
+
Run this phase only when the user selected Pipeline Path or provided a batch/complex request that they chose to send through the pipeline.
|
|
184
200
|
|
|
185
201
|
**STEPS**:
|
|
186
202
|
|
|
187
|
-
1. **
|
|
203
|
+
1. **Planner handoff — invoke `feature-planner`** with the full requirements summary from Phase 1:
|
|
188
204
|
- Pass the structured requirements summary as input — NOT the raw user conversation
|
|
189
205
|
- For new projects: standard planning mode
|
|
190
206
|
- For existing projects with `--incremental`: incremental planning mode
|
|
191
207
|
- **Input**: Markdown requirements summary (feature descriptions, goals, constraints)
|
|
192
208
|
- **Output**: `.prizmkit/plans/feature-list.json` (schema: `dev-pipeline-feature-list-v1`) containing `project_name`, `features[]` with id (F-NNN), title, description, priority, dependencies, acceptance_criteria, status
|
|
193
209
|
|
|
194
|
-
2. **Interactive planning** (if feature-planner requires clarification):
|
|
195
|
-
- Because Phase 1 was thorough, feature-planner should need minimal clarification
|
|
210
|
+
2. **Interactive planning** (if `feature-planner` requires clarification):
|
|
211
|
+
- Because Phase 1 was thorough, `feature-planner` should need minimal clarification
|
|
196
212
|
- If questions arise, answer from the Phase 1 context or pass through to user
|
|
197
213
|
|
|
198
214
|
3. **Validate output**:
|
|
@@ -201,19 +217,19 @@ Never proceed without explicit user confirmation via `AskUserQuestion`. Do NOT r
|
|
|
201
217
|
|
|
202
218
|
**CHECKPOINT CP-FW-1**: `.prizmkit/plans/feature-list.json` generated and validated.
|
|
203
219
|
|
|
204
|
-
**If user says `--from <file>`**: Skip Phase 1 and Phase 2 entirely.
|
|
220
|
+
**If user says `--from <file>`**: Skip Phase 1 and Phase 2 entirely and go to Phase 3.
|
|
205
221
|
|
|
206
222
|
---
|
|
207
223
|
|
|
208
|
-
## Phase 3: Launch
|
|
224
|
+
## Phase 3: Launch — Pipeline Path Only
|
|
209
225
|
|
|
210
|
-
**Goal**: Start the development pipeline.
|
|
226
|
+
**Goal**: Start the development pipeline after planner handoff has produced a validated feature list.
|
|
211
227
|
|
|
212
228
|
**STEPS**:
|
|
213
229
|
|
|
214
230
|
1. **Show feature summary** before launching:
|
|
215
231
|
```
|
|
216
|
-
Ready to launch
|
|
232
|
+
Ready to launch Pipeline Path with N features:
|
|
217
233
|
F-001: User authentication (high complexity)
|
|
218
234
|
F-002: Task CRUD (medium complexity)
|
|
219
235
|
F-003: Task categories (low complexity)
|
|
@@ -221,9 +237,9 @@ Never proceed without explicit user confirmation via `AskUserQuestion`. Do NOT r
|
|
|
221
237
|
Proceed? (Y/n)
|
|
222
238
|
```
|
|
223
239
|
|
|
224
|
-
2. **
|
|
240
|
+
2. **Launcher handoff — invoke `feature-pipeline-launcher`**:
|
|
225
241
|
- **Input**: Path to validated `.prizmkit/plans/feature-list.json`
|
|
226
|
-
- The launcher handles all
|
|
242
|
+
- The launcher handles all prerequisite checks
|
|
227
243
|
- The launcher presents execution mode choices to the user (foreground/background/manual)
|
|
228
244
|
- The launcher asks whether to enable Critic Agent (adversarial review) — passes `--critic` flag if chosen
|
|
229
245
|
- Do NOT duplicate execution mode or critic selection here — let the launcher handle it
|
|
@@ -237,9 +253,9 @@ Never proceed without explicit user confirmation via `AskUserQuestion`. Do NOT r
|
|
|
237
253
|
|
|
238
254
|
---
|
|
239
255
|
|
|
240
|
-
## Phase 4: Monitor
|
|
256
|
+
## Phase 4: Monitor — Pipeline Path Only
|
|
241
257
|
|
|
242
|
-
**Goal**: Track pipeline progress and report to user.
|
|
258
|
+
**Goal**: Track pipeline progress and report to user. Monitoring applies only after `feature-pipeline-launcher` has started a pipeline.
|
|
243
259
|
|
|
244
260
|
**STEPS**:
|
|
245
261
|
|
|
@@ -282,13 +298,14 @@ Never proceed without explicit user confirmation via `AskUserQuestion`. Do NOT r
|
|
|
282
298
|
The workflow supports resuming by detecting existing state:
|
|
283
299
|
|
|
284
300
|
| State Found | Resume From |
|
|
285
|
-
|
|
286
|
-
|
|
|
301
|
+
|-------------|-------------|
|
|
302
|
+
| Fast Path `spec.md` + `plan.md` exist, code not committed | Resume `/prizmkit-implement` / review / retrospective / commit based on current state |
|
|
303
|
+
| No `.prizmkit/plans/feature-list.json` and no Fast Path artifacts | Phase 1: Brainstorm |
|
|
287
304
|
| `.prizmkit/plans/feature-list.json` exists, no pipeline state | Phase 3: Launch |
|
|
288
305
|
| `.prizmkit/plans/feature-list.json` + pipeline state exists | Phase 4: Monitor (check status) |
|
|
289
306
|
| All features completed | Report completion, suggest next steps |
|
|
290
307
|
|
|
291
|
-
**Resume**: If `.prizmkit/plans/feature-list.json` exists, ask user: "Existing feature plan found with N features. Resume
|
|
308
|
+
**Resume**: If `.prizmkit/plans/feature-list.json` exists, ask user: "Existing feature plan found with N features. Resume Pipeline Path or re-plan?" If Fast Path artifacts exist, ask whether to continue the current-workspace implementation or discard/re-plan.
|
|
292
309
|
|
|
293
310
|
---
|
|
294
311
|
|
|
@@ -311,6 +328,7 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
311
328
|
|-------|--------|
|
|
312
329
|
| User's idea is too vague to brainstorm | Ask for more context: "Can you describe the main problem this solves?" |
|
|
313
330
|
| Brainstorming stalls | Offer concrete options: "Would you prefer A or B?" |
|
|
331
|
+
| Fast Path starts looking complex | Pause and ask whether to switch to Pipeline Path (`feature-planner` → `feature-pipeline-launcher`) |
|
|
314
332
|
| `feature-planner` cannot parse requirements | Refine the requirements summary and retry |
|
|
315
333
|
| `.prizmkit/plans/feature-list.json` generation failed | Show error, retry with refined input |
|
|
316
334
|
| Pipeline launch failed | Show daemon log, suggest manual start with `python3 ./.prizmkit/dev-pipeline/cli.py feature run .prizmkit/plans/feature-list.json` or `python3 ./.prizmkit/dev-pipeline/cli.py daemon feature start .prizmkit/plans/feature-list.json` |
|
|
@@ -319,15 +337,18 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
319
337
|
|
|
320
338
|
---
|
|
321
339
|
|
|
322
|
-
##
|
|
340
|
+
## HANDOFF
|
|
323
341
|
|
|
324
|
-
|
|
|
325
|
-
|
|
326
|
-
|
|
|
327
|
-
|
|
|
328
|
-
|
|
|
329
|
-
|
|
|
330
|
-
|
|
|
342
|
+
| From | To | Condition |
|
|
343
|
+
|------|----|-----------|
|
|
344
|
+
| **this skill** | `/prizmkit-plan` | User selects Fast Path for simple feature work in the current workspace |
|
|
345
|
+
| **this skill** | `/prizmkit-implement` | Fast Path plan is ready for current-session implementation |
|
|
346
|
+
| **this skill** | `/prizmkit-code-review` | Fast Path implementation is complete and needs quality review |
|
|
347
|
+
| **this skill** | `/prizmkit-retrospective` | Fast Path feature changes need `.prizmkit/prizm-docs/` sync before commit |
|
|
348
|
+
| **this skill** | `/prizmkit-committer` | Fast Path feature changes are reviewed and docs are synced |
|
|
349
|
+
| **this skill** | `feature-planner` | User selects Pipeline Path for complex or batch features |
|
|
350
|
+
| `feature-planner` | `feature-pipeline-launcher` | Planner handoff produced validated `.prizmkit/plans/feature-list.json` |
|
|
351
|
+
| `feature-pipeline-launcher` | **this skill** | Launcher handoff completed and monitoring/status follow-up is needed |
|
|
331
352
|
|
|
332
353
|
---
|
|
333
354
|
|
|
@@ -343,9 +364,7 @@ All internal asset paths use `${SKILL_DIR}` placeholder for cross-IDE compatibil
|
|
|
343
364
|
|
|
344
365
|
## Output
|
|
345
366
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
- Multiple git commits with `feat(<scope>):` prefix
|
|
351
|
-
- Updated `.prizmkit/prizm-docs/` (via prizmkit-retrospective per feature)
|
|
367
|
+
Output depends on the selected path:
|
|
368
|
+
|
|
369
|
+
- **Fast Path**: `spec.md` + `plan.md`, current-workspace code changes, `/prizmkit-code-review` result, updated `.prizmkit/prizm-docs/`, and one `feat(<scope>):` commit from `/prizmkit-committer`.
|
|
370
|
+
- **Pipeline Path**: structured requirements summary, `.prizmkit/plans/feature-list.json`, pipeline execution via `feature-pipeline-launcher`, monitoring updates, and per-feature commits managed by the dev-pipeline.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "
|
|
2
|
+
name: "prizmkit"
|
|
3
3
|
description: "Full-lifecycle dev toolkit index. Routes to the right PrizmKit skill for spec-driven development, Prizm docs, code quality, deployment, and knowledge management. Use when the user asks 'which command?', 'help', 'how do I start a feature', 'get started', 'what tools', 'dev workflow', 'lifecycle', or '/prizmkit'. Use this as the entry point for the full PrizmKit development lifecycle. (project)"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "prizmkit-code-review"
|
|
3
|
-
description: "Iterative review-fix loop against spec and plan. Spawns
|
|
3
|
+
description: "Iterative review-fix loop against spec and plan. Spawns the dedicated prizm-dev-team-reviewer agent, filters findings, then the main orchestrator applies accepted fixes directly. Loops until PASS (max 3 rounds). Use after /prizmkit-implement as quality gate. Trigger on: 'review', 'check code', 'code review', 'is it ready to commit'. (project)"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PrizmKit Code Review
|
|
7
7
|
|
|
8
|
-
An iterative review-fix loop that reviews code changes against the spec and plan, then automatically fixes issues. Uses
|
|
8
|
+
An iterative review-fix loop that reviews code changes against the spec and plan, then automatically fixes accepted issues. Uses two separated roles:
|
|
9
9
|
|
|
10
|
-
- **Reviewer Agent** (read-only): analyzes
|
|
11
|
-
- **Main Agent** (orchestrator): filters Reviewer findings for reasonableness, coordinates the loop
|
|
12
|
-
- **Dev Agent** (read-write): applies fixes for accepted findings
|
|
10
|
+
- **Reviewer Agent** (`prizm-dev-team-reviewer`, read-only): analyzes orchestrator-provided workspace context against spec goals and plan decisions, then produces structured findings
|
|
11
|
+
- **Main Agent** (orchestrator): filters Reviewer findings for reasonableness, applies accepted fixes directly in the active checkout, and coordinates the loop
|
|
13
12
|
|
|
14
13
|
The loop repeats until the Reviewer finds no issues or the max round limit is reached.
|
|
15
14
|
|
|
@@ -36,7 +35,7 @@ The loop repeats until the Reviewer finds no issues or the max round limit is re
|
|
|
36
35
|
- If `{artifact_dir}/test-report-path.txt` exists, read the path, then read that `/prizmkit-test` report.
|
|
37
36
|
- Extract `Scope`, `Generated / Updated Tests`, `In-Scope Failures`, `Baseline Failures`, `Out of Scope Gaps`, `Boundary Matrix` / `Boundary Completion Gate` when present, and `Verdict`.
|
|
38
37
|
- If `context-snapshot.md` contains `## PrizmKit Test Gate`, read that summary too.
|
|
39
|
-
- If this is a feature artifact under `.prizmkit/specs/` and no test report pointer or summary exists, pass `No scoped /prizmkit-test report found` into the Reviewer context
|
|
38
|
+
- If this is a feature artifact under `.prizmkit/specs/` and no test report pointer or summary exists, pass `No scoped /prizmkit-test report found (expected for pre-test review)` into the Reviewer context as informational scope context only. Do not ask the Reviewer to report it as a missing gate unless the calling workflow explicitly requires a prior test report.
|
|
40
39
|
4. **Read dev rules** (if configured): If `.prizmkit/prizm-docs/root.prizm` exists, read it and check for a `RULES:` line. If present, read all referenced `.prizmkit/rules/<layer>-rules.md` files. If `root.prizm` or a referenced rules file does not exist, continue with "No custom dev rules configured — use general best practices."
|
|
41
40
|
5. **Capture workspace diff**: run `git diff` (unstaged) + `git diff --cached` (staged) + `git status` to understand the full scope of changes. For new files in git status, note their paths for the Reviewer to read.
|
|
42
41
|
- If no changes are detected, skip Phase 1 and proceed to Phase 2 with verdict PASS, rounds 0, and an empty findings list. Always write `review-report.md`; downstream pipeline steps use it as the review gate.
|
|
@@ -64,12 +63,12 @@ The script is stateless — no `--reset` or runtime files. Initialize these valu
|
|
|
64
63
|
### Loop Flow
|
|
65
64
|
|
|
66
65
|
```
|
|
67
|
-
1. Spawn Reviewer Agent (
|
|
66
|
+
1. Spawn Reviewer Agent (`subagent_type: prizm-dev-team-reviewer`) → findings or PASS
|
|
68
67
|
2. Parse result:
|
|
69
68
|
- PASS → Call Loop Exit Gate → Phase 2
|
|
70
69
|
- NEEDS_FIXES → count findings → Step 3 (do not call gate yet)
|
|
71
70
|
3. Main Agent filters findings → Call Loop Exit Gate → if endLoop: Phase 2
|
|
72
|
-
4.
|
|
71
|
+
4. Main Agent applies accepted fixes directly in the active checkout
|
|
73
72
|
5. Increment round and return to Step 1
|
|
74
73
|
```
|
|
75
74
|
|
|
@@ -116,7 +115,7 @@ When Python is unavailable, apply these rules exactly — they match the script'
|
|
|
116
115
|
|
|
117
116
|
### Step 1: Spawn Reviewer Agent
|
|
118
117
|
|
|
119
|
-
Include the dev rules read in Phase 0 step
|
|
118
|
+
Include the dev rules read in Phase 0 step 4 and the workspace diff/status captured in Phase 0 step 5 in the Reviewer prompt. In Claude Code, spawn the dedicated PrizmKit Reviewer with `subagent_type: prizm-dev-team-reviewer`, `run_in_background=false`, and default/no worktree isolation. Do not request worktree isolation; this prevents AI tool-created `.claude/worktrees/...` subagent worktrees. PrizmKit pipeline-managed linked git worktrees under `.prizmkit/state/worktrees/...` are separate and controlled by `USE_WORKTREE`. Do not route the PrizmKit reviewer flow through `Explore` or a generic code-explorer agent. If the current platform has no dedicated Reviewer agent, perform the review pass in the Main Agent without editing files during that pass. Read `${SKILL_DIR}/references/reviewer-agent-prompt.md` for the full prompt template — fill `{goals}`, `{plan decisions}`, `{scoped test report}`, `{workspace context}`, `{dev rules}`, `{round N}`, and `{round_context}` before spawning.
|
|
120
119
|
|
|
121
120
|
Round context varies by round:
|
|
122
121
|
- Round 1: "This is the first review. Examine all changes comprehensively."
|
|
@@ -138,16 +137,16 @@ Review each finding and decide whether it's reasonable. This prevents unnecessar
|
|
|
138
137
|
- Would fixing this improve the code without introducing risk? (Reject fixes that require large refactors outside scope.)
|
|
139
138
|
|
|
140
139
|
**Output per finding:**
|
|
141
|
-
- **Accepted**: The finding is reasonable —
|
|
140
|
+
- **Accepted**: The finding is reasonable — queue it for direct Main Agent fix work.
|
|
142
141
|
- **Rejected** (with reason): Brief explanation (e.g., "Out of scope", "Style preference, not a defect").
|
|
143
142
|
|
|
144
143
|
After filtering: call the **Loop Exit Gate** with `{"reviewer_result": "NEEDS_FIXES", "accepted_count": <N>, "findings_count": <total findings this round>, "round": <current_round>, "findings_history": <current_history>, "max_rounds": 3, "filtering_done": true}`. If `endLoop=true`, proceed to Phase 2.
|
|
145
144
|
|
|
146
|
-
### Step 4:
|
|
145
|
+
### Step 4: Main Agent Applies Accepted Fixes
|
|
147
146
|
|
|
148
|
-
|
|
147
|
+
Do not spawn a Dev Agent or any review-fix developer subagent. The Main Agent applies accepted findings directly in the active checkout, using the spec context and filtered findings as the fix list. If an accepted finding cannot be safely fixed within scope, record the reason and carry it into `review-report.md` as unresolved.
|
|
149
148
|
|
|
150
|
-
After
|
|
149
|
+
After direct fixes are complete, record results and return to Step 1 for the next round.
|
|
151
150
|
|
|
152
151
|
## Phase 2: Output
|
|
153
152
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Reviewer Agent Prompt Template
|
|
2
2
|
|
|
3
|
-
Used in Phase 1 Step 1 of `/prizmkit-code-review`. The orchestrator fills `{goals}`, `{plan decisions}`, `{dev rules}`, `{round N}`, and `{round_context}` before spawning the
|
|
3
|
+
Used in Phase 1 Step 1 of `/prizmkit-code-review`. The orchestrator fills `{goals}`, `{plan decisions}`, `{scoped test report}`, `{workspace context}`, `{dev rules}`, `{round N}`, and `{round_context}` before spawning the dedicated `prizm-dev-team-reviewer` agent.
|
|
4
4
|
|
|
5
5
|
```
|
|
6
|
-
You are
|
|
6
|
+
You are the dedicated PrizmKit Reviewer agent (`prizm-dev-team-reviewer`). Review workspace changes against the spec goals, plan decisions, scoped test evidence, and per-layer dev rules. Do not modify files and do not apply fixes; the Main Agent will filter findings and apply accepted fixes directly.
|
|
7
7
|
|
|
8
8
|
## Spec Goals
|
|
9
9
|
{goals and acceptance criteria from spec.md}
|
|
@@ -12,7 +12,10 @@ You are a code reviewer. Review workspace changes against the spec goals, plan d
|
|
|
12
12
|
{architecture decisions and task list from plan.md}
|
|
13
13
|
|
|
14
14
|
## Scoped Test Report
|
|
15
|
-
{summary from artifact_dir/test-report-path.txt and test-report.md, including Scope, Generated / Updated Tests, In-Scope Failures, Baseline Failures, Out of Scope Gaps, Boundary Matrix / Boundary Completion Gate if present, and Verdict. If no scoped report exists for a feature artifact, write "No scoped /prizmkit-test report found."}
|
|
15
|
+
{summary from artifact_dir/test-report-path.txt and test-report.md, including Scope, Generated / Updated Tests, In-Scope Failures, Baseline Failures, Out of Scope Gaps, Boundary Matrix / Boundary Completion Gate if present, and Verdict. If no scoped report exists for a feature artifact, write "No scoped /prizmkit-test report found (expected for pre-test review)." Treat that absence as informational unless the calling workflow explicitly requires a prior test report.}
|
|
16
|
+
|
|
17
|
+
## Workspace Context
|
|
18
|
+
{git status, unstaged diff summary, staged diff summary, and new-file paths captured by the Main Agent in Phase 0. Use this context as the review scope; request targeted file context only when needed instead of re-running broad discovery.}
|
|
16
19
|
|
|
17
20
|
## Dev Rules (per-layer conventions)
|
|
18
21
|
{rules from .prizmkit/rules/<layer>-rules.md, or "No custom dev rules configured — use general best practices."}
|
|
@@ -21,13 +24,10 @@ You are a code reviewer. Review workspace changes against the spec goals, plan d
|
|
|
21
24
|
Round {N}. {round_context}
|
|
22
25
|
|
|
23
26
|
## What to Review
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
For new files shown in git status, read their full content.
|
|
30
|
-
For modified files, read enough surrounding context to understand the change.
|
|
27
|
+
Use the orchestrator-provided workspace context as the source of truth for changed files:
|
|
28
|
+
- For new files listed in workspace status, read their full content.
|
|
29
|
+
- For modified files, read enough surrounding context to understand the change.
|
|
30
|
+
- Do not edit files, stage changes, run test suites, or spawn other agents.
|
|
31
31
|
|
|
32
32
|
## Review Dimensions
|
|
33
33
|
Evaluate the changes across these dimensions (focus on what's relevant):
|