prizmkit 1.0.135 → 1.0.136
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 +28 -5
- package/bundled/skills/app-planner/scripts/validate-and-generate.py +25 -0
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +26 -24
- package/bundled/skills/dev-pipeline-launcher/SKILL.md +26 -24
- package/package.json +1 -1
package/bundled/VERSION.json
CHANGED
|
@@ -153,6 +153,7 @@ Execute the selected scenario workflow in conversation mode with mandatory check
|
|
|
153
153
|
3. propose feature set with dependencies
|
|
154
154
|
4. refine descriptions and acceptance criteria
|
|
155
155
|
4.1 **per-feature clarification** — for each feature, if the description, acceptance criteria, or scope is vague or could be interpreted multiple ways, ask the user to clarify before finalizing. Continue until every feature has unambiguous, implementation-ready details.
|
|
156
|
+
4.2 **browser interaction evaluation** (mandatory for fullstack/frontend projects) — see §Browser Interaction Planning below. For each feature with UI-related acceptance criteria, you MUST ask the user whether to add `browser_interaction`. Do NOT skip or defer this step.
|
|
156
157
|
5. verify DAG/order/priorities
|
|
157
158
|
6. build or append `feature-list.json`
|
|
158
159
|
7. ask whether to enable adversarial critic review for high/critical features
|
|
@@ -169,6 +170,7 @@ Checkpoints catch cascading errors early — skipping one means the next phase b
|
|
|
169
170
|
| **CP-AP-1** | Vision Summary | Goal/users/differentiators confirmed by user | 1-2 |
|
|
170
171
|
| **CP-AP-2** | Feature Proposals | Feature set with titles+deps identified (pre-validation) | 3-5 |
|
|
171
172
|
| **CP-AP-3** | DAG Validity | No cycles, dependencies resolved (validation dry-run) | 6 |
|
|
173
|
+
| **CP-AP-3.2** | Browser Interaction Evaluated | For each feature with UI acceptance criteria: user was asked about browser verification | 4 |
|
|
172
174
|
| **CP-AP-3.5** | Critic Decision | User decided on critic review for high/critical features | 7 |
|
|
173
175
|
| **CP-AP-4** | `feature-list.json` Generated | Schema validates, all required keys present | 6-7 |
|
|
174
176
|
| **CP-AP-5** | Final Validation Pass | Python script returns `"valid": true` with zero errors | 8 |
|
|
@@ -222,13 +224,34 @@ AI: "Ready to proceed to dev-pipeline."
|
|
|
222
224
|
|
|
223
225
|
## Browser Interaction Planning
|
|
224
226
|
|
|
225
|
-
For
|
|
227
|
+
For fullstack/frontend projects, evaluate each feature for automated browser verification via `browser_interaction`. This is a **mandatory evaluation step** (Phase 4.2), not an optional suggestion.
|
|
226
228
|
|
|
227
|
-
|
|
228
|
-
**Do NOT suggest for**: backend-only, config/setup, or non-UI features.
|
|
229
|
+
### Auto-Detection Rule
|
|
229
230
|
|
|
230
|
-
|
|
231
|
-
|
|
231
|
+
A feature **qualifies** for browser interaction evaluation when ALL of these are true:
|
|
232
|
+
1. `global_context.frontend_framework` exists (project has a frontend)
|
|
233
|
+
2. The feature's `acceptance_criteria` contain UI-related keywords: click, button, modal, page, form, display, navigate, tab, input, opens, shows, renders, visible, redirect, download, upload, preview, select, toggle, dropdown, popup, toast, menu
|
|
234
|
+
|
|
235
|
+
A feature is **exempt** when ANY of these are true:
|
|
236
|
+
- It is backend-only (API endpoints, database migrations, no UI criteria)
|
|
237
|
+
- It is config/setup/infrastructure
|
|
238
|
+
- It has `status: "completed"` (already implemented)
|
|
239
|
+
|
|
240
|
+
### Mandatory Prompt (Phase 4.2)
|
|
241
|
+
|
|
242
|
+
For EACH qualifying feature, you MUST ask:
|
|
243
|
+
|
|
244
|
+
> "Feature {F-XXX} has UI behavior in its acceptance criteria. Add browser verification so the pipeline can auto-check it after implementation? (Y/n)"
|
|
245
|
+
|
|
246
|
+
- If **yes** → read `references/browser-interaction.md` for the `browser_interaction` object format and field rules. Generate the field for this feature.
|
|
247
|
+
- If **no** → record the decision and move on. No field is added.
|
|
248
|
+
- If **user says no to all** → skip remaining features (batch decline). Record that user declined browser verification globally.
|
|
249
|
+
|
|
250
|
+
**You must NOT skip this prompt for qualifying features.** The checkpoint CP-AP-3.2 verifies this step was completed.
|
|
251
|
+
|
|
252
|
+
### When NOT to evaluate
|
|
253
|
+
|
|
254
|
+
**Do NOT prompt for**: backend-only features, config/setup features, or non-UI features. These are automatically exempt — no user prompt needed.
|
|
232
255
|
|
|
233
256
|
## Output Rules
|
|
234
257
|
|
|
@@ -41,6 +41,14 @@ VALID_PLANNING_MODES = {"new", "incremental"}
|
|
|
41
41
|
FEATURE_ID_RE = re.compile(r"^F-\d{3}(-[A-Z])?$")
|
|
42
42
|
SUB_FEATURE_ID_RE = re.compile(r"^F-\d{3}-[A-Z]$")
|
|
43
43
|
|
|
44
|
+
# Keywords in acceptance criteria that indicate UI/browser interaction behavior.
|
|
45
|
+
UI_KEYWORDS_RE = re.compile(
|
|
46
|
+
r"\b(click|button|modal|page|form|display|navigate|tab|input|opens|shows|"
|
|
47
|
+
r"renders|visible|redirect|download|upload|preview|select|toggle|dropdown|"
|
|
48
|
+
r"popup|toast|menu)\b",
|
|
49
|
+
re.IGNORECASE,
|
|
50
|
+
)
|
|
51
|
+
|
|
44
52
|
# ---------------------------------------------------------------------------
|
|
45
53
|
# Helpers
|
|
46
54
|
# ---------------------------------------------------------------------------
|
|
@@ -333,6 +341,23 @@ def validate_feature_list(data, planning_mode="new"):
|
|
|
333
341
|
errors.append(
|
|
334
342
|
"{}: 'critic_count' must be 1 or 3, got {}".format(label, critic_count)
|
|
335
343
|
)
|
|
344
|
+
|
|
345
|
+
# -- Browser interaction check (warning for frontend features) --
|
|
346
|
+
has_frontend = bool(
|
|
347
|
+
data.get("global_context", {}).get("frontend_framework")
|
|
348
|
+
)
|
|
349
|
+
if has_frontend and feat.get("status") != "completed":
|
|
350
|
+
criteria = feat.get("acceptance_criteria", [])
|
|
351
|
+
criteria_text = " ".join(
|
|
352
|
+
c for c in criteria if isinstance(c, str)
|
|
353
|
+
)
|
|
354
|
+
if UI_KEYWORDS_RE.search(criteria_text):
|
|
355
|
+
if feat.get("browser_interaction") is None:
|
|
356
|
+
warnings.append(
|
|
357
|
+
"{}: has UI acceptance criteria but no browser_interaction "
|
|
358
|
+
"field. Consider adding browser verification.".format(label)
|
|
359
|
+
)
|
|
360
|
+
|
|
336
361
|
if isinstance(subs, list):
|
|
337
362
|
for sidx, sub in enumerate(subs):
|
|
338
363
|
sub_label = "{}->sub_features[{}]".format(label, sidx)
|
|
@@ -9,16 +9,11 @@ Launch the autonomous bug fix pipeline from within an AI CLI conversation. Suppo
|
|
|
9
9
|
|
|
10
10
|
### Execution Mode
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Three execution modes are available. The user chooses one before configuring other options:
|
|
13
13
|
|
|
14
|
-
Foreground `run-bugfix.sh
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
- Session summary artifacts are written reliably
|
|
18
|
-
|
|
19
|
-
Use daemon mode (`launch-bugfix-daemon.sh`) only when:
|
|
20
|
-
- User explicitly requests background/detached execution
|
|
21
|
-
- Pipeline must survive AI CLI session closure
|
|
14
|
+
1. **Foreground** (recommended) — `dev-pipeline/run-bugfix.sh run`. Visible output, direct error feedback, no orphaned processes.
|
|
15
|
+
2. **Background daemon** — `dev-pipeline/launch-bugfix-daemon.sh`. Runs fully detached, survives AI CLI session closure.
|
|
16
|
+
3. **Manual** — Display the assembled command(s) only. Do not execute anything. User runs them on their own.
|
|
22
17
|
|
|
23
18
|
**Background mode documentation**: When the user chooses background/daemon mode, record the choice and PID in `.prizmkit/bugfix-pipeline-run.log` (append-only) with timestamp, so the decision is traceable:
|
|
24
19
|
```
|
|
@@ -111,19 +106,25 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
111
106
|
--action status 2>/dev/null
|
|
112
107
|
```
|
|
113
108
|
|
|
114
|
-
4. **
|
|
109
|
+
4. **Ask execution mode** (first user decision):
|
|
110
|
+
|
|
111
|
+
Present the three modes and ask the user to choose:
|
|
112
|
+
- **(1) Foreground** (recommended) — pipeline runs in the current session via `run-bugfix.sh run`. Visible output and direct error feedback.
|
|
113
|
+
- **(2) Background daemon** — pipeline runs fully detached via `launch-bugfix-daemon.sh`. Survives AI CLI session closure.
|
|
114
|
+
- **(3) Manual** — display the final assembled commands only. Do not execute anything. User runs them on their own.
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
5. **Present configuration options**: After execution mode is chosen, show the remaining options with defaults. Ask the user to confirm or override.
|
|
117
|
+
|
|
118
|
+
**Configuration Options:**
|
|
117
119
|
|
|
118
120
|
| Option | Default | Description |
|
|
119
121
|
|--------|---------|-------------|
|
|
120
|
-
| **Execution mode** | Foreground | (1) Foreground — visible output (2) Background daemon — survives session closure (3) Manual — show commands only |
|
|
121
122
|
| **Verbose logging** | On | Detailed AI session logs including tool calls and subagent activity |
|
|
122
123
|
| **Max retries** | 3 | Max retry attempts per failed bug |
|
|
123
124
|
| **Session timeout** | None | Per-bug timeout in seconds (e.g. `3600` = 1 hour) |
|
|
124
125
|
| **Bug filter** | All | Run specific bugs: `B-001:B-005` (range), `B-001,B-003` (list), or mixed `B-001,B-005:B-010` |
|
|
125
126
|
|
|
126
|
-
Default
|
|
127
|
+
Default Verbose On.
|
|
127
128
|
|
|
128
129
|
**Environment variable mapping** (for natural language → env var translation):
|
|
129
130
|
|
|
@@ -136,19 +137,18 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
136
137
|
|
|
137
138
|
Example presentation to user:
|
|
138
139
|
```
|
|
139
|
-
Bugfix pipeline will process N bugs
|
|
140
|
-
- Execution: Foreground (recommended)
|
|
140
|
+
Bugfix pipeline will process N bugs in Foreground mode:
|
|
141
141
|
- Verbose: On (subagent detection enabled)
|
|
142
142
|
- Max retries: 3
|
|
143
143
|
- Timeout: none
|
|
144
144
|
- Bugs: all (by severity order)
|
|
145
145
|
|
|
146
|
-
Want to change any options, or
|
|
146
|
+
Want to change any options, or proceed with these defaults?
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
6. **Show final command**: Assemble the complete command from execution mode + confirmed configuration, and present it to the user.
|
|
150
150
|
|
|
151
|
-
**Foreground
|
|
151
|
+
**Foreground command:**
|
|
152
152
|
```bash
|
|
153
153
|
VERBOSE=1 dev-pipeline/run-bugfix.sh run bug-fix-list.json
|
|
154
154
|
```
|
|
@@ -158,7 +158,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
158
158
|
dev-pipeline/run-bugfix.sh run bug-fix-list.json
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
**Background daemon
|
|
161
|
+
**Background daemon command:**
|
|
162
162
|
```bash
|
|
163
163
|
dev-pipeline/launch-bugfix-daemon.sh start bug-fix-list.json --env "VERBOSE=1"
|
|
164
164
|
```
|
|
@@ -168,9 +168,9 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
168
168
|
--env "VERBOSE=1 MAX_RETRIES=5"
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
**Manual
|
|
171
|
+
**Manual mode**: Print the assembled command(s) and **stop here**. Do not execute anything. Do not proceed to step 7.
|
|
172
172
|
```
|
|
173
|
-
# To run in foreground
|
|
173
|
+
# To run in foreground:
|
|
174
174
|
VERBOSE=1 dev-pipeline/run-bugfix.sh run bug-fix-list.json
|
|
175
175
|
|
|
176
176
|
# To run in background (detached):
|
|
@@ -180,11 +180,13 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
180
180
|
dev-pipeline/run-bugfix.sh status bug-fix-list.json
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
7. **Confirm and launch** (Foreground and Background only — Manual mode ends at step 6):
|
|
184
|
+
|
|
185
|
+
Ask: "Ready to launch the bugfix pipeline with the above command?"
|
|
184
186
|
|
|
185
|
-
|
|
187
|
+
After user confirms, execute the command from step 6.
|
|
186
188
|
|
|
187
|
-
|
|
189
|
+
8. **Post-launch** (depends on execution mode):
|
|
188
190
|
|
|
189
191
|
**If foreground**: Pipeline runs to completion in the terminal. After it finishes:
|
|
190
192
|
- Summarize results: total bugs, fixed, failed, skipped
|
|
@@ -9,16 +9,11 @@ Launch the autonomous development pipeline from within an AI CLI conversation. T
|
|
|
9
9
|
|
|
10
10
|
### Execution Mode
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Three execution modes are available. The user chooses one before configuring other options:
|
|
13
13
|
|
|
14
|
-
Foreground `run.sh
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
- Session summary artifacts are written reliably
|
|
18
|
-
|
|
19
|
-
Use daemon mode (`launch-daemon.sh`) only when:
|
|
20
|
-
- User explicitly requests background/detached execution
|
|
21
|
-
- Pipeline must survive AI CLI session closure
|
|
14
|
+
1. **Foreground** (recommended) — `dev-pipeline/run.sh run`. Visible output, direct error feedback, no orphaned processes.
|
|
15
|
+
2. **Background daemon** — `dev-pipeline/launch-daemon.sh`. Runs fully detached, survives AI CLI session closure.
|
|
16
|
+
3. **Manual** — Display the assembled command(s) only. Do not execute anything. User runs them on their own.
|
|
22
17
|
|
|
23
18
|
### When to Use
|
|
24
19
|
|
|
@@ -108,13 +103,19 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
108
103
|
--action status 2>/dev/null
|
|
109
104
|
```
|
|
110
105
|
|
|
111
|
-
4. **
|
|
106
|
+
4. **Ask execution mode** (first user decision):
|
|
107
|
+
|
|
108
|
+
Present the three modes and ask the user to choose:
|
|
109
|
+
- **(1) Foreground** (recommended) — pipeline runs in the current session via `run.sh run`. Visible output and direct error feedback.
|
|
110
|
+
- **(2) Background daemon** — pipeline runs fully detached via `launch-daemon.sh`. Survives AI CLI session closure.
|
|
111
|
+
- **(3) Manual** — display the final assembled commands only. Do not execute anything. User runs them on their own.
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
5. **Present configuration options**: After execution mode is chosen, show the remaining options with defaults. Ask the user to confirm or override.
|
|
114
|
+
|
|
115
|
+
**Configuration Options:**
|
|
114
116
|
|
|
115
117
|
| Option | Default | Description |
|
|
116
118
|
|--------|---------|-------------|
|
|
117
|
-
| **Execution mode** | Foreground | (1) Foreground — visible output (2) Background daemon — survives session closure (3) Manual — show commands only |
|
|
118
119
|
| **Critic review** | Off | Adversarial review after planning & implementation. Increases time ~5-10 min/feature |
|
|
119
120
|
| **Verbose logging** | On | Detailed AI session logs including tool calls and subagent activity |
|
|
120
121
|
| **Max retries** | 3 | Max retry attempts per failed feature |
|
|
@@ -122,7 +123,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
122
123
|
| **Feature filter** | All | Run specific features: `F-001:F-005` (range), `F-001,F-003` (list), or mixed `F-001,F-005:F-010` |
|
|
123
124
|
| **Browser verify** | Auto | Run playwright-cli verification for features with `browser_interaction`. Auto = run if playwright-cli installed and features have the field |
|
|
124
125
|
|
|
125
|
-
Default
|
|
126
|
+
Default Verbose On. Default Critic to Off unless features have `estimated_complexity: "high"` or above.
|
|
126
127
|
|
|
127
128
|
**Environment variable mapping** (for natural language → env var translation):
|
|
128
129
|
|
|
@@ -138,20 +139,19 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
138
139
|
|
|
139
140
|
Example presentation to user:
|
|
140
141
|
```
|
|
141
|
-
Pipeline will process N features
|
|
142
|
-
- Execution: Foreground (recommended)
|
|
142
|
+
Pipeline will process N features in Foreground mode:
|
|
143
143
|
- Critic: Off
|
|
144
144
|
- Verbose: On (subagent detection enabled)
|
|
145
145
|
- Max retries: 3
|
|
146
146
|
- Timeout: none
|
|
147
147
|
- Features: all
|
|
148
148
|
|
|
149
|
-
Want to change any options, or
|
|
149
|
+
Want to change any options, or proceed with these defaults?
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
6. **Show final command**: Assemble the complete command from execution mode + confirmed configuration, and present it to the user.
|
|
153
153
|
|
|
154
|
-
**Foreground
|
|
154
|
+
**Foreground command:**
|
|
155
155
|
```bash
|
|
156
156
|
VERBOSE=1 dev-pipeline/run.sh run feature-list.json
|
|
157
157
|
```
|
|
@@ -161,7 +161,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
161
161
|
dev-pipeline/run.sh run feature-list.json --features F-001:F-005
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
-
**Background daemon
|
|
164
|
+
**Background daemon command:**
|
|
165
165
|
```bash
|
|
166
166
|
dev-pipeline/launch-daemon.sh start feature-list.json --env "VERBOSE=1"
|
|
167
167
|
```
|
|
@@ -171,9 +171,9 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
171
171
|
--env "VERBOSE=1 ENABLE_CRITIC=true MAX_RETRIES=5"
|
|
172
172
|
```
|
|
173
173
|
|
|
174
|
-
**Manual
|
|
174
|
+
**Manual mode**: Print the assembled command(s) and **stop here**. Do not execute anything. Do not proceed to step 7.
|
|
175
175
|
```
|
|
176
|
-
# To run in foreground
|
|
176
|
+
# To run in foreground:
|
|
177
177
|
VERBOSE=1 dev-pipeline/run.sh run feature-list.json
|
|
178
178
|
|
|
179
179
|
# To run in background (detached):
|
|
@@ -183,11 +183,13 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
183
183
|
dev-pipeline/run.sh status feature-list.json
|
|
184
184
|
```
|
|
185
185
|
|
|
186
|
-
|
|
186
|
+
7. **Confirm and launch** (Foreground and Background only — Manual mode ends at step 6):
|
|
187
|
+
|
|
188
|
+
Ask: "Ready to launch the pipeline with the above command?"
|
|
187
189
|
|
|
188
|
-
|
|
190
|
+
After user confirms, execute the command from step 6.
|
|
189
191
|
|
|
190
|
-
|
|
192
|
+
8. **Post-launch** (depends on execution mode):
|
|
191
193
|
|
|
192
194
|
**If foreground**: Pipeline runs to completion in the terminal. After it finishes:
|
|
193
195
|
- Summarize results: total features, succeeded, failed, skipped
|