prizmkit 1.1.41 → 1.1.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/VERSION.json +3 -3
- package/bundled/adapters/claude/settings-adapter.js +4 -4
- package/bundled/adapters/codebuddy/settings-adapter.js +1 -1
- package/bundled/agents/prizm-dev-team-critic.md +9 -9
- package/bundled/agents/prizm-dev-team-dev.md +13 -13
- package/bundled/agents/prizm-dev-team-reviewer.md +2 -2
- package/bundled/dev-pipeline/.env.example +6 -6
- package/bundled/dev-pipeline/README.md +32 -32
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +5 -2
- package/bundled/dev-pipeline/launch-feature-daemon.sh +5 -2
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +5 -2
- package/bundled/dev-pipeline/lib/common.sh +34 -5
- package/bundled/dev-pipeline/reset-bug.sh +7 -5
- package/bundled/dev-pipeline/reset-feature.sh +7 -5
- package/bundled/dev-pipeline/reset-refactor.sh +7 -5
- package/bundled/dev-pipeline/run-bugfix.sh +14 -11
- package/bundled/dev-pipeline/run-feature.sh +15 -12
- package/bundled/dev-pipeline/run-recovery.sh +6 -3
- package/bundled/dev-pipeline/run-refactor.sh +15 -12
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +15 -15
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +10 -5
- package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +19 -13
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +10 -5
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -1
- package/bundled/dev-pipeline/scripts/update-bug-status.py +9 -1
- package/bundled/dev-pipeline/scripts/update-feature-status.py +13 -1
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +9 -1
- package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +3 -3
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +8 -8
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +11 -11
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +9 -9
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +7 -7
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +4 -4
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +5 -5
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +6 -6
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-base.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase0-init.md +1 -1
- package/bundled/dev-pipeline/tests/test-path-resolution.sh +100 -0
- package/bundled/rules/USAGE.md +2 -2
- package/bundled/rules/_rules-metadata.json +1 -1
- package/bundled/rules/prizm/prizm-commit-workflow.md +1 -1
- package/bundled/rules/prizm/prizm-documentation.md +4 -4
- package/bundled/rules/prizm/prizm-progressive-loading.md +3 -3
- package/bundled/skills/_metadata.json +4 -4
- package/bundled/skills/app-planner/SKILL.md +35 -7
- package/bundled/skills/bug-fix-workflow/SKILL.md +6 -6
- package/bundled/skills/bug-planner/SKILL.md +5 -5
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +28 -21
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +28 -21
- package/bundled/skills/feature-planner/SKILL.md +5 -5
- package/bundled/skills/feature-workflow/SKILL.md +8 -8
- package/bundled/skills/prizm-kit/SKILL.md +10 -10
- package/bundled/skills/prizmkit-committer/SKILL.md +4 -2
- package/bundled/skills/prizmkit-implement/SKILL.md +2 -2
- package/bundled/skills/prizmkit-init/SKILL.md +17 -17
- package/bundled/skills/prizmkit-plan/SKILL.md +3 -3
- package/bundled/skills/prizmkit-plan/references/verification-checklist.md +2 -2
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +17 -17
- package/bundled/skills/prizmkit-prizm-docs/assets/prizm-docs-format.md +45 -45
- package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +9 -9
- package/bundled/skills/prizmkit-prizm-docs/references/op-rebuild.md +1 -1
- package/bundled/skills/prizmkit-prizm-docs/references/op-status.md +2 -2
- package/bundled/skills/prizmkit-prizm-docs/references/op-update.md +3 -3
- package/bundled/skills/prizmkit-prizm-docs/references/op-validate.md +1 -1
- package/bundled/skills/prizmkit-retrospective/SKILL.md +10 -10
- package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +3 -3
- package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +1 -1
- package/bundled/skills/recovery-workflow/SKILL.md +15 -15
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +0 -1
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +28 -21
- package/bundled/skills/refactor-planner/SKILL.md +6 -6
- package/bundled/skills/refactor-workflow/SKILL.md +9 -9
- package/bundled/team/prizm-dev-team.json +1 -1
- package/bundled/templates/hooks/commit-intent.json +2 -2
- package/bundled/templates/hooks/diff-prizm-docs.sh +8 -8
- package/bundled/templates/hooks/prizm-pre-commit.sh +4 -4
- package/bundled/templates/hooks/validate-prizm-docs.sh +4 -4
- package/bundled/templates/project-memory-template.md +4 -4
- package/package.json +1 -1
- package/src/clean.js +1 -3
- package/src/config.js +1 -1
- package/src/gitignore-template.js +4 -24
- package/src/scaffold.js +12 -11
- package/src/upgrade.js +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.1.
|
|
2
|
+
"version": "1.1.46",
|
|
3
3
|
"skills": {
|
|
4
4
|
"prizm-kit": {
|
|
5
5
|
"description": "Full-lifecycle dev toolkit. Covers spec-driven development, Prizm context docs, code quality, debugging, deployment, and knowledge management.",
|
|
@@ -37,14 +37,14 @@
|
|
|
37
37
|
"hasScripts": false
|
|
38
38
|
},
|
|
39
39
|
"prizmkit-committer": {
|
|
40
|
-
"description": "Pure git commit workflow with safety checks. Does NOT modify .prizm-docs/.",
|
|
40
|
+
"description": "Pure git commit workflow with safety checks. Does NOT modify .prizmkit/prizm-docs/.",
|
|
41
41
|
"tier": "1",
|
|
42
42
|
"category": "prizmkit-skill",
|
|
43
43
|
"hasAssets": false,
|
|
44
44
|
"hasScripts": false
|
|
45
45
|
},
|
|
46
46
|
"prizmkit-retrospective": {
|
|
47
|
-
"description": "Sole .prizm-docs/ maintainer. Structural sync + TRAPS/RULES/DECISIONS injection to architecture index. Run after code review passes, before committing.",
|
|
47
|
+
"description": "Sole .prizmkit/prizm-docs/ maintainer. Structural sync + TRAPS/RULES/DECISIONS injection to architecture index. Run after code review passes, before committing.",
|
|
48
48
|
"tier": "1",
|
|
49
49
|
"category": "prizmkit-skill",
|
|
50
50
|
"hasAssets": true,
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
]
|
|
181
181
|
},
|
|
182
182
|
"minimal": {
|
|
183
|
-
"description": "Minimal closed-loop workflow: full spec-driven cycle with .prizm-docs/ architecture sync and code review",
|
|
183
|
+
"description": "Minimal closed-loop workflow: full spec-driven cycle with .prizmkit/prizm-docs/ architecture sync and code review",
|
|
184
184
|
"skills": [
|
|
185
185
|
"prizm-kit",
|
|
186
186
|
"prizmkit-init",
|
|
@@ -36,7 +36,7 @@ If you believe the task is better suited for a different workflow, you MUST:
|
|
|
36
36
|
**Your ONLY writable outputs are:**
|
|
37
37
|
1. `.prizmkit/plans/project-brief.md` (`.prizmkit/plans/` — accumulated project context brief)
|
|
38
38
|
2. Project conventions and architecture decisions appended to `CLAUDE.md` / `CODEBUDDY.md` (with user consent)
|
|
39
|
-
3. Infrastructure configuration (database conventions
|
|
39
|
+
3. Infrastructure configuration (database conventions, deployment config, **cloud services**) appended to `CLAUDE.md` / `CODEBUDDY.md` `### Infrastructure` section
|
|
40
40
|
|
|
41
41
|
**After planning is complete**, you MUST:
|
|
42
42
|
1. Present the summary of captured project-level context (vision, conventions, architecture decisions, project brief)
|
|
@@ -171,6 +171,27 @@ Do NOT use this skill when:
|
|
|
171
171
|
|
|
172
172
|
Use `AskUserQuestion` for each batch. Each question MUST include a "Skip — decide later" option.
|
|
173
173
|
|
|
174
|
+
**Cloud Services Deep Inquiry** (Two-round AskUserQuestion):
|
|
175
|
+
|
|
176
|
+
Many projects depend on third-party cloud services (object storage, CDN, managed DB, auth, domain, email, SMS, payment, AI APIs). Capture them now so feature-planner and prizmkit-deploy can reference them later.
|
|
177
|
+
|
|
178
|
+
*Round 1 — Cloud Vendors* (multi-select via `AskUserQuestion`):
|
|
179
|
+
- "Which cloud vendors will this project integrate with?"
|
|
180
|
+
- Options: `AWS`, `Aliyun`, `Tencent Cloud`, `Cloudflare`, `Vercel`, `Other` (free text), `None — skip`
|
|
181
|
+
- If `None — skip`, write `<!-- cloud-services: none -->` to the `#### Cloud Services` subsection and exit this inquiry.
|
|
182
|
+
|
|
183
|
+
*Round 2 — Service Types* (multi-select, only if Round 1 returned any vendor):
|
|
184
|
+
- "Which types of cloud services will you use?"
|
|
185
|
+
- Options: `Object Storage (COS/S3/OSS)`, `CDN`, `Managed Database`, `Functions/Serverless`, `Auth (OAuth/JWT/IDaaS)`, `Domain & DNS`, `Email`, `SMS`, `Payment`, `AI API (OpenAI/Anthropic/...)`, `Other`
|
|
186
|
+
- The list is multi-select. Skip the question entirely if user picks "None" in Round 1.
|
|
187
|
+
|
|
188
|
+
*After both rounds, write to `#### Cloud Services`*:
|
|
189
|
+
- For each chosen (vendor × service) pair, append a row to the subsection (see template below)
|
|
190
|
+
- **Do NOT** prompt for env var names, credentials, region, or SDK details — those belong to `prizmkit-deploy`'s scope, not planning
|
|
191
|
+
- If the user is unsure of the mapping, store the vendors and service types separately; deploy skill can refine later
|
|
192
|
+
|
|
193
|
+
Use `AskUserQuestion` for both rounds. Each question MUST include a "Skip — decide later" option.
|
|
194
|
+
|
|
174
195
|
**After infrastructure inquiry**:
|
|
175
196
|
- Update `CLAUDE.md` / `CODEBUDDY.md` `### Infrastructure` section with all collected information. Replace `<!-- deferred -->` markers with real values. Preserve any existing values that were confirmed unchanged. Full format:
|
|
176
197
|
```markdown
|
|
@@ -197,6 +218,13 @@ Do NOT use this skill when:
|
|
|
197
218
|
|
|
198
219
|
#### Deployment Credentials Reference
|
|
199
220
|
- [platform]: [token/auth method description]
|
|
221
|
+
|
|
222
|
+
#### Cloud Services
|
|
223
|
+
- **Vendors**: [comma-separated list, e.g., "AWS, Cloudflare" or "none"]
|
|
224
|
+
- **Services**:
|
|
225
|
+
- [vendor]: [service type] — [optional one-line note, e.g., "user-upload images"]
|
|
226
|
+
- [vendor]: [service type]
|
|
227
|
+
<!-- If user picked "None" in Round 1, replace this block with: cloud-services: none -->
|
|
200
228
|
```
|
|
201
229
|
- Items still marked "Skip — decide later" remain as `<!-- [topic]: deferred -->` in CLAUDE.md for `prizmkit-deploy` to pick up later.
|
|
202
230
|
|
|
@@ -207,7 +235,7 @@ Do NOT use this skill when:
|
|
|
207
235
|
## Prerequisites
|
|
208
236
|
|
|
209
237
|
Before questions, check optional context files (never block if absent):
|
|
210
|
-
- `.prizm-docs/root.prizm` (architecture/project context)
|
|
238
|
+
- `.prizmkit/prizm-docs/root.prizm` (architecture/project context)
|
|
211
239
|
- `.prizmkit/config.json` (existing stack preferences and detected tech stack)
|
|
212
240
|
- `CLAUDE.md` / `CODEBUDDY.md` `### Project Conventions` section (previously answered project conventions)
|
|
213
241
|
- `CLAUDE.md` / `CODEBUDDY.md` `### Infrastructure` section (database and deployment config from prizmkit-init or previous app-planner run)
|
|
@@ -221,7 +249,7 @@ Before questions, check optional context files (never block if absent):
|
|
|
221
249
|
Note:
|
|
222
250
|
- This skill **reads** `.prizmkit/config.json` if present.
|
|
223
251
|
- This skill does **not** create `.prizmkit/config.json` directly.
|
|
224
|
-
- Creation/update is handled by bootstrap/init flows (e.g., `prizmkit-init`,
|
|
252
|
+
- Creation/update is handled by bootstrap/init flows (e.g., `prizmkit-init`, `.prizmkit/dev-pipeline/scripts/init-dev-team.py`).
|
|
225
253
|
|
|
226
254
|
## Interaction Style (Hard Rule)
|
|
227
255
|
|
|
@@ -306,7 +334,7 @@ Before ANY planning work, check if AI-essential project context files exist:
|
|
|
306
334
|
|
|
307
335
|
| File | Purpose | Status |
|
|
308
336
|
|------|---------|--------|
|
|
309
|
-
| `.prizm-docs/root.prizm` | Project architecture context for AI | exists / missing |
|
|
337
|
+
| `.prizmkit/prizm-docs/root.prizm` | Project architecture context for AI | exists / missing |
|
|
310
338
|
| `.prizmkit/config.json` | Tech stack + runtime config | exists / missing |
|
|
311
339
|
| `.prizmkit/plans/project-brief.md` | Product vision checklist | exists / missing |
|
|
312
340
|
|
|
@@ -336,7 +364,7 @@ Do NOT ask the user to describe their project — read it yourself first:
|
|
|
336
364
|
- `go.mod` → Go module info
|
|
337
365
|
- `README.md` → project description and goals
|
|
338
366
|
- `.prizmkit/config.json` → previously detected tech stack
|
|
339
|
-
- `.prizm-docs/root.prizm` → existing architecture context
|
|
367
|
+
- `.prizmkit/prizm-docs/root.prizm` → existing architecture context
|
|
340
368
|
|
|
341
369
|
3. **Read key source files** (entry points, main routes, core models) to understand what the project actually does — don't rely solely on metadata.
|
|
342
370
|
|
|
@@ -392,7 +420,7 @@ Checkpoints catch cascading errors early — skipping one means the next phase b
|
|
|
392
420
|
|-----------|----------------|----------|-------|
|
|
393
421
|
| **CP-AP-0** | Intent Confirmed | User confirmed session goal (produce / explore) | 1 |
|
|
394
422
|
| **CP-AP-1** | Conventions Checked | Project conventions loaded or asked; `### Project Conventions` section in `CLAUDE.md` / `CODEBUDDY.md` up to date | 1 |
|
|
395
|
-
| **CP-AP-1.5** | Infrastructure Checked | Infrastructure config loaded or asked; `### Infrastructure` section in `CLAUDE.md` / `CODEBUDDY.md` addressed — configured or explicitly deferred | 1-2 |
|
|
423
|
+
| **CP-AP-1.5** | Infrastructure Checked | Infrastructure config loaded or asked; `### Infrastructure` section in `CLAUDE.md` / `CODEBUDDY.md` addressed — database, deployment **and cloud services** each configured or explicitly deferred | 1-2 |
|
|
396
424
|
| **CP-AP-2** | Vision Summary | Goal/users/differentiators confirmed by user. For brownfield: existing purpose confirmed or refined. | 1-2 |
|
|
397
425
|
| **CP-AP-3** | Frontend Design Evaluated | For frontend projects: checked for existing UI/UX design system; user was asked if missing. **Auto-pass** for backend-only or non-UI projects. | 2 |
|
|
398
426
|
| **CP-AP-4** | Project Brief Accumulated | `.prizmkit/plans/project-brief.md` exists at `.prizmkit/plans/` with at least 3 ideas listed. For brownfield: already-implemented items marked `[x]` count toward this total. | 3 |
|
|
@@ -405,7 +433,7 @@ After Phase 2, if framework-shaping architecture decisions emerged during planni
|
|
|
405
433
|
**How it works**:
|
|
406
434
|
1. If decisions are captured → append to `CLAUDE.md` / `CODEBUDDY.md` under `### Architecture Decisions` section
|
|
407
435
|
2. Downstream skills (feature-planner, prizmkit-plan, etc.) read `CLAUDE.md` / `CODEBUDDY.md` as standard context, so they automatically receive these decisions
|
|
408
|
-
3. Do NOT write directly to `.prizm-docs/root.prizm` — that file is maintained by `prizmkit-prizm-docs` and `prizmkit-retrospective`. If the project needs `.prizm-docs/`, recommend the user run `prizmkit-prizm-docs` init after planning.
|
|
436
|
+
3. Do NOT write directly to `.prizmkit/prizm-docs/root.prizm` — that file is maintained by `prizmkit-prizm-docs` and `prizmkit-retrospective`. If the project needs `.prizmkit/prizm-docs/`, recommend the user run `prizmkit-prizm-docs` init after planning.
|
|
409
437
|
|
|
410
438
|
## Project Brief Accumulation
|
|
411
439
|
|
|
@@ -212,11 +212,11 @@ AskUserQuestion:
|
|
|
212
212
|
|
|
213
213
|
**Goal**: Locate affected code, identify root cause, classify severity.
|
|
214
214
|
|
|
215
|
-
> **Triage**: Classify error into: Runtime / Network / Auth / Data / Resource / Logic / Config / External. Check `.prizm-docs/` TRAPS for known patterns first. If a TRAPS match is found, use documented solution and reference the specific `.prizm-docs/` entry. If no match, trace the call chain from the stack frame to identify root cause from first principles.
|
|
215
|
+
> **Triage**: Classify error into: Runtime / Network / Auth / Data / Resource / Logic / Config / External. Check `.prizmkit/prizm-docs/` TRAPS for known patterns first. If a TRAPS match is found, use documented solution and reference the specific `.prizmkit/prizm-docs/` entry. If no match, trace the call chain from the stack frame to identify root cause from first principles.
|
|
216
216
|
|
|
217
|
-
1. **Read project context**: `.prizm-docs/root.prizm` → relevant L1/L2 docs for affected modules
|
|
217
|
+
1. **Read project context**: `.prizmkit/prizm-docs/root.prizm` → relevant L1/L2 docs for affected modules
|
|
218
218
|
2. **Locate affected code**: read the files mentioned in the error/stack trace or identified during diagnosis
|
|
219
|
-
3. **Check known issues**: search `.prizm-docs/` TRAPS sections for matching patterns
|
|
219
|
+
3. **Check known issues**: search `.prizmkit/prizm-docs/` TRAPS sections for matching patterns
|
|
220
220
|
4. **If database-related**: read existing schema/model files to understand the data layer
|
|
221
221
|
```bash
|
|
222
222
|
find . -maxdepth 4 -type f \( -name "*.prisma" -o -name "*.sql" -o -path "*/migrations/*" -o -path "*/models/*" -o -name "schema.*" -o -name "*.entity.*" \) -not -path '*/node_modules/*' -not -path '*/.git/*' | head -20
|
|
@@ -259,7 +259,7 @@ If the bug is hard to reproduce automatically (e.g. environment-specific):
|
|
|
259
259
|
1. **Implement the fix**:
|
|
260
260
|
- Change the minimum amount of code to fix the root cause
|
|
261
261
|
- Do NOT refactor or add unrelated improvements — fix the bug only
|
|
262
|
-
- Follow existing code conventions (read from `.prizm-docs/` RULES/PATTERNS)
|
|
262
|
+
- Follow existing code conventions (read from `.prizmkit/prizm-docs/` RULES/PATTERNS)
|
|
263
263
|
- If the fix involves database changes: read existing schema first, follow existing naming/constraint conventions
|
|
264
264
|
2. **Run the reproduction test** → must **pass** (green)
|
|
265
265
|
3. **Run the full module test suite** → must pass (no regressions)
|
|
@@ -316,7 +316,7 @@ If user reports the fix is NOT working:
|
|
|
316
316
|
- Commit message: `fix(<scope>): <description>`
|
|
317
317
|
- Include both fix code and reproduction test
|
|
318
318
|
- Do NOT push (user decides when to push)
|
|
319
|
-
- `/prizmkit-committer` is a pure commit tool — it does NOT modify `.prizm-docs/` or any project files
|
|
319
|
+
- `/prizmkit-committer` is a pure commit tool — it does NOT modify `.prizmkit/prizm-docs/` or any project files
|
|
320
320
|
- No `/prizmkit-retrospective` — bug fixes are incomplete features, not new architecture worth documenting
|
|
321
321
|
2. **Ask merge preference**:
|
|
322
322
|
```
|
|
@@ -392,7 +392,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
|
|
|
392
392
|
| Cannot reproduce the bug | Ask for more context, try alternative reproduction |
|
|
393
393
|
| Fix causes regressions | Revert, analyze, retry (max 3 rounds) |
|
|
394
394
|
| Root cause unclear after investigation | Present findings, ask user for guidance |
|
|
395
|
-
| Affected files are in unfamiliar module | Read `.prizm-docs/` L1/L2 for that module first |
|
|
395
|
+
| Affected files are in unfamiliar module | Read `.prizmkit/prizm-docs/` L1/L2 for that module first |
|
|
396
396
|
| Branch conflict during merge | Show conflict, ask user to resolve or keep branch |
|
|
397
397
|
|
|
398
398
|
## HANDOFF
|
|
@@ -107,13 +107,13 @@ Gather project metadata from the project's own configuration and documentation
|
|
|
107
107
|
|
|
108
108
|
1. **Identify project**: Read project name and description from these sources (first match wins):
|
|
109
109
|
- `.prizmkit/config.json` (`project_name`, `description` fields)
|
|
110
|
-
- `.prizm-docs/root.prizm` (project overview section)
|
|
110
|
+
- `.prizmkit/prizm-docs/root.prizm` (project overview section)
|
|
111
111
|
- `CLAUDE.md` or `CODEBUDDY.md` (project instructions)
|
|
112
112
|
- `package.json` / `pyproject.toml` / `Cargo.toml` (name + description fields)
|
|
113
113
|
- If none found, ask the user
|
|
114
114
|
2. **Identify tech stack**: Read from these sources (first match wins):
|
|
115
115
|
- `.prizmkit/config.json` `tech_stack` (preferred — contains language, frameworks, DB, etc.)
|
|
116
|
-
- `.prizm-docs/root.prizm` (architecture section)
|
|
116
|
+
- `.prizmkit/prizm-docs/root.prizm` (architecture section)
|
|
117
117
|
- Auto-detect from project files (`package.json`, `requirements.txt`, `go.mod`, etc.)
|
|
118
118
|
- If none found, ask the user
|
|
119
119
|
3. **Identify testing framework**: Read from `.prizmkit/config.json` `tech_stack.testing`, or auto-detect from package.json/requirements.txt/etc., or ask user
|
|
@@ -223,7 +223,7 @@ Only proceed to Phase 5 after user confirms.
|
|
|
223
223
|
|
|
224
224
|
### Phase 5: Generate & Validate
|
|
225
225
|
|
|
226
|
-
1. **Generate `.prizmkit/plans/bug-fix-list.json`**: Conform to
|
|
226
|
+
1. **Generate `.prizmkit/plans/bug-fix-list.json`**: Conform to `.prizmkit/dev-pipeline/templates/bug-fix-list-schema.json`
|
|
227
227
|
2. **Validate against schema**: Run `python3 ${SKILL_DIR}/scripts/validate-bug-list.py .prizmkit/plans/bug-fix-list.json --feature-list .prizmkit/plans/feature-list.json`. If the script is unavailable, use the checklist in `${SKILL_DIR}/references/schema-validation.md`.
|
|
228
228
|
3. **Write file** to `.prizmkit/plans/` (or user-specified path)
|
|
229
229
|
4. **Output**: File path, summary, and next steps
|
|
@@ -287,7 +287,7 @@ Batch-parse failed test output:
|
|
|
287
287
|
Validate existing `.prizmkit/plans/bug-fix-list.json`:
|
|
288
288
|
|
|
289
289
|
1. Check JSON syntax
|
|
290
|
-
2. Validate against
|
|
290
|
+
2. Validate against `.prizmkit/dev-pipeline/templates/bug-fix-list-schema.json`
|
|
291
291
|
3. Check for:
|
|
292
292
|
- Duplicate IDs
|
|
293
293
|
- Missing required fields
|
|
@@ -351,6 +351,6 @@ Common errors handled inline:
|
|
|
351
351
|
|
|
352
352
|
## Output
|
|
353
353
|
|
|
354
|
-
- `.prizmkit/plans/bug-fix-list.json` conforming to
|
|
354
|
+
- `.prizmkit/plans/bug-fix-list.json` conforming to `.prizmkit/dev-pipeline/templates/bug-fix-list-schema.json`
|
|
355
355
|
- Validation report (if validation run)
|
|
356
356
|
- Summary report (if summary run)
|
|
@@ -11,8 +11,8 @@ Launch the autonomous bug fix pipeline from within an AI CLI conversation. Suppo
|
|
|
11
11
|
|
|
12
12
|
Three execution modes are available. The user chooses one before configuring other options:
|
|
13
13
|
|
|
14
|
-
1. **Foreground** (recommended) —
|
|
15
|
-
2. **Background daemon** —
|
|
14
|
+
1. **Foreground** (recommended) — `.prizmkit/dev-pipeline/run-bugfix.sh run`. Visible output, direct error feedback, no orphaned processes.
|
|
15
|
+
2. **Background daemon** — `.prizmkit/dev-pipeline/launch-bugfix-daemon.sh`. Runs fully detached, survives AI CLI session closure.
|
|
16
16
|
3. **Manual** — Display the assembled command(s) only. Do not execute anything. User runs them on their own.
|
|
17
17
|
|
|
18
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:
|
|
@@ -47,7 +47,7 @@ Three execution modes are available. The user chooses one before configuring oth
|
|
|
47
47
|
|
|
48
48
|
Before any action, validate:
|
|
49
49
|
|
|
50
|
-
1. **bugfix pipeline exists**: Confirm
|
|
50
|
+
1. **bugfix pipeline exists**: Confirm `.prizmkit/dev-pipeline/launch-bugfix-daemon.sh` and `.prizmkit/dev-pipeline/run-bugfix.sh` are present and executable
|
|
51
51
|
2. **For start**: `.prizmkit/plans/bug-fix-list.json` must exist in `.prizmkit/plans/` (or user-specified path)
|
|
52
52
|
3. **Dependencies**: `jq`, `python3`, AI CLI (`cbc` or `claude`) must be in PATH
|
|
53
53
|
4. **Browser tools** (optional): If any bug has `browser_interaction` field, check the corresponding tool is available. Bugs may specify `tool: "playwright-cli"`, `tool: "opencli"`, or `tool: "auto"` (AI chooses at runtime).
|
|
@@ -80,7 +80,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
80
80
|
|
|
81
81
|
2. **Check not already running**:
|
|
82
82
|
```bash
|
|
83
|
-
dev-pipeline/launch-bugfix-daemon.sh status 2>/dev/null
|
|
83
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh status 2>/dev/null
|
|
84
84
|
```
|
|
85
85
|
If running, inform user and ask: "Bugfix pipeline is already running. Want to restart it, check status, or view logs?"
|
|
86
86
|
|
|
@@ -106,7 +106,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
106
106
|
```
|
|
107
107
|
If pipeline state already exists, use the status command instead:
|
|
108
108
|
```bash
|
|
109
|
-
python3 dev-pipeline/scripts/update-bug-status.py \
|
|
109
|
+
python3 .prizmkit/dev-pipeline/scripts/update-bug-status.py \
|
|
110
110
|
--bug-list .prizmkit/plans/bug-fix-list.json \
|
|
111
111
|
--state-dir .prizmkit/state/bugfix \
|
|
112
112
|
--action status 2>/dev/null
|
|
@@ -121,6 +121,13 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
121
121
|
|
|
122
122
|
5. **Ask configuration options** ⚠️ MANDATORY INTERACTIVE STEP — applies to ALL execution modes (Foreground, Background, AND Manual). You MUST ask the user to configure options and WAIT for their response BEFORE proceeding to step 6. Do NOT skip this step or merge it with step 6.
|
|
123
123
|
|
|
124
|
+
⛔ **HARD STOP**: You MUST call `AskUserQuestion` with the questions below and WAIT for the user's response. You MUST NOT:
|
|
125
|
+
- Skip this step and jump to the next step
|
|
126
|
+
- Merge this step and the next step into one response
|
|
127
|
+
- Assume default values and show the command without asking
|
|
128
|
+
- Show the command as text and ask "ready?" without presenting the options
|
|
129
|
+
If you find yourself writing the final command before the user has answered these questions, STOP — you are violating this rule.
|
|
130
|
+
|
|
124
131
|
Use `AskUserQuestion` to present the following configuration choices. Each question is a separate selectable option:
|
|
125
132
|
|
|
126
133
|
**Question 1 — Verbose logging** (multiSelect: false):
|
|
@@ -189,34 +196,34 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
189
196
|
|
|
190
197
|
**Foreground command:**
|
|
191
198
|
```bash
|
|
192
|
-
VERBOSE=1 dev-pipeline/run-bugfix.sh run .prizmkit/plans/bug-fix-list.json
|
|
199
|
+
VERBOSE=1 .prizmkit/dev-pipeline/run-bugfix.sh run .prizmkit/plans/bug-fix-list.json
|
|
193
200
|
```
|
|
194
201
|
With all options:
|
|
195
202
|
```bash
|
|
196
203
|
VERBOSE=1 MAX_RETRIES=5 SESSION_TIMEOUT=3600 ENABLE_DEPLOY=1 \
|
|
197
|
-
dev-pipeline/run-bugfix.sh run .prizmkit/plans/bug-fix-list.json
|
|
204
|
+
.prizmkit/dev-pipeline/run-bugfix.sh run .prizmkit/plans/bug-fix-list.json
|
|
198
205
|
```
|
|
199
206
|
|
|
200
207
|
**Background daemon command:**
|
|
201
208
|
```bash
|
|
202
|
-
dev-pipeline/launch-bugfix-daemon.sh start .prizmkit/plans/bug-fix-list.json --env "VERBOSE=1"
|
|
209
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh start .prizmkit/plans/bug-fix-list.json --env "VERBOSE=1"
|
|
203
210
|
```
|
|
204
211
|
With all options:
|
|
205
212
|
```bash
|
|
206
|
-
dev-pipeline/launch-bugfix-daemon.sh start .prizmkit/plans/bug-fix-list.json \
|
|
213
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh start .prizmkit/plans/bug-fix-list.json \
|
|
207
214
|
--env "VERBOSE=1 MAX_RETRIES=5 ENABLE_DEPLOY=1"
|
|
208
215
|
```
|
|
209
216
|
|
|
210
217
|
**Manual mode**: Print the assembled command(s) and **stop here**. Do not execute anything. Do not proceed to step 7.
|
|
211
218
|
```
|
|
212
219
|
# To run in foreground:
|
|
213
|
-
VERBOSE=1 dev-pipeline/run-bugfix.sh run .prizmkit/plans/bug-fix-list.json
|
|
220
|
+
VERBOSE=1 .prizmkit/dev-pipeline/run-bugfix.sh run .prizmkit/plans/bug-fix-list.json
|
|
214
221
|
|
|
215
222
|
# To run in background (detached):
|
|
216
|
-
dev-pipeline/launch-bugfix-daemon.sh start .prizmkit/plans/bug-fix-list.json --env "VERBOSE=1"
|
|
223
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh start .prizmkit/plans/bug-fix-list.json --env "VERBOSE=1"
|
|
217
224
|
|
|
218
225
|
# To check status:
|
|
219
|
-
dev-pipeline/run-bugfix.sh status .prizmkit/plans/bug-fix-list.json
|
|
226
|
+
.prizmkit/dev-pipeline/run-bugfix.sh status .prizmkit/plans/bug-fix-list.json
|
|
220
227
|
```
|
|
221
228
|
|
|
222
229
|
7. **Confirm and launch** (Foreground and Background only — Manual mode ends at step 6):
|
|
@@ -230,12 +237,12 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
230
237
|
**If foreground**: Pipeline runs to completion in the terminal. After it finishes:
|
|
231
238
|
- Summarize results: total bugs, fixed, failed, skipped
|
|
232
239
|
- If all fixed: each bug session has already run `prizmkit-retrospective` internally (structural sync by default; full retrospective when the fix changed interfaces, dependencies, or observable behavior). Ask user what's next.
|
|
233
|
-
- If some failed: show failed bug IDs and suggest
|
|
240
|
+
- If some failed: show failed bug IDs and suggest `.prizmkit/dev-pipeline/reset-bug.sh <B-XXX> --clean --run` for a fresh retry
|
|
234
241
|
|
|
235
242
|
**If background daemon**:
|
|
236
243
|
1. Verify launch:
|
|
237
244
|
```bash
|
|
238
|
-
dev-pipeline/launch-bugfix-daemon.sh status
|
|
245
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh status
|
|
239
246
|
```
|
|
240
247
|
2. Start log monitoring — Use the Bash tool with `run_in_background: true`:
|
|
241
248
|
```bash
|
|
@@ -253,12 +260,12 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
253
260
|
|
|
254
261
|
1. **Check daemon status**:
|
|
255
262
|
```bash
|
|
256
|
-
dev-pipeline/launch-bugfix-daemon.sh status
|
|
263
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh status
|
|
257
264
|
```
|
|
258
265
|
|
|
259
266
|
2. **Show bug-level progress**:
|
|
260
267
|
```bash
|
|
261
|
-
python3 dev-pipeline/scripts/update-bug-status.py \
|
|
268
|
+
python3 .prizmkit/dev-pipeline/scripts/update-bug-status.py \
|
|
262
269
|
--bug-list .prizmkit/plans/bug-fix-list.json \
|
|
263
270
|
--state-dir .prizmkit/state/bugfix \
|
|
264
271
|
--action status
|
|
@@ -277,12 +284,12 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
277
284
|
|
|
278
285
|
1. **Stop the daemon**:
|
|
279
286
|
```bash
|
|
280
|
-
dev-pipeline/launch-bugfix-daemon.sh stop
|
|
287
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh stop
|
|
281
288
|
```
|
|
282
289
|
|
|
283
290
|
2. **Verify stopped**:
|
|
284
291
|
```bash
|
|
285
|
-
dev-pipeline/launch-bugfix-daemon.sh status 2>/dev/null || true
|
|
292
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh status 2>/dev/null || true
|
|
286
293
|
```
|
|
287
294
|
|
|
288
295
|
3. **Inform user**: "Bugfix pipeline stopped. State is preserved -- you can resume later with 'start bug fix' and it will pick up where it left off."
|
|
@@ -293,7 +300,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
293
300
|
|
|
294
301
|
1. **Check if running**:
|
|
295
302
|
```bash
|
|
296
|
-
dev-pipeline/launch-bugfix-daemon.sh status 2>/dev/null
|
|
303
|
+
.prizmkit/dev-pipeline/launch-bugfix-daemon.sh status 2>/dev/null
|
|
297
304
|
```
|
|
298
305
|
|
|
299
306
|
2. **If running** -- Start live tail with Bash tool `run_in_background: true`:
|
|
@@ -321,7 +328,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
321
328
|
When user says "retry B-001":
|
|
322
329
|
|
|
323
330
|
```bash
|
|
324
|
-
dev-pipeline/reset-bug.sh B-001 --clean --run .prizmkit/plans/bug-fix-list.json
|
|
331
|
+
.prizmkit/dev-pipeline/reset-bug.sh B-001 --clean --run .prizmkit/plans/bug-fix-list.json
|
|
325
332
|
```
|
|
326
333
|
|
|
327
334
|
**Note:** `reset-bug.sh --clean --run` performs a full clean (deletes session history and artifacts) before retrying — this gives a fresh start.
|
|
@@ -340,7 +347,7 @@ dev-pipeline/reset-bug.sh B-001 --clean --run .prizmkit/plans/bug-fix-list.json
|
|
|
340
347
|
| `playwright-cli` not installed | Browser verification skipped for playwright bugs (non-blocking). Suggest: `npm install -g @playwright/cli@latest && playwright-cli install --skills` |
|
|
341
348
|
| `opencli` not installed | Browser verification skipped for opencli bugs (non-blocking). Install opencli for Chrome session-based browser verification |
|
|
342
349
|
| Deploy session failed | Pipeline completed but deploy session exited non-zero. Check `.prizmkit/state/bugfix/deploy/<session_id>/logs/session.log`. Retry manually: `/prizmkit-deploy`. |
|
|
343
|
-
| Permission denied on script | Run `chmod +x dev-pipeline/launch-bugfix-daemon.sh dev-pipeline/run-bugfix.sh` |
|
|
350
|
+
| Permission denied on script | Run `chmod +x .prizmkit/dev-pipeline/launch-bugfix-daemon.sh .prizmkit/dev-pipeline/run-bugfix.sh` |
|
|
344
351
|
|
|
345
352
|
### Integration Notes
|
|
346
353
|
|
|
@@ -11,8 +11,8 @@ Launch the autonomous development pipeline from within an AI CLI conversation. T
|
|
|
11
11
|
|
|
12
12
|
Three execution modes are available. The user chooses one before configuring other options:
|
|
13
13
|
|
|
14
|
-
1. **Foreground** (recommended) —
|
|
15
|
-
2. **Background daemon** —
|
|
14
|
+
1. **Foreground** (recommended) — `.prizmkit/dev-pipeline/run-feature.sh run`. Visible output, direct error feedback, no orphaned processes.
|
|
15
|
+
2. **Background daemon** — `.prizmkit/dev-pipeline/launch-feature-daemon.sh`. Runs fully detached, survives AI CLI session closure.
|
|
16
16
|
3. **Manual** — Display the assembled command(s) only. Do not execute anything. User runs them on their own.
|
|
17
17
|
|
|
18
18
|
### When to Use
|
|
@@ -48,7 +48,7 @@ Three execution modes are available. The user chooses one before configuring oth
|
|
|
48
48
|
|
|
49
49
|
Before any action, validate:
|
|
50
50
|
|
|
51
|
-
1. **dev-pipeline exists**: Confirm
|
|
51
|
+
1. **dev-pipeline exists**: Confirm `.prizmkit/dev-pipeline/launch-feature-daemon.sh` is present and executable
|
|
52
52
|
2. **For start**: `.prizmkit/plans/feature-list.json` must exist in `.prizmkit/plans/` (or user-specified path)
|
|
53
53
|
3. **Dependencies**: `jq`, `python3`, AI CLI (`cbc` or `claude`) must be in PATH
|
|
54
54
|
4. **Python version**: Requires Python 3.8+ for dev-pipeline scripts
|
|
@@ -82,7 +82,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
82
82
|
|
|
83
83
|
2. **Check not already running**:
|
|
84
84
|
```bash
|
|
85
|
-
dev-pipeline/launch-feature-daemon.sh status 2>/dev/null
|
|
85
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh status 2>/dev/null
|
|
86
86
|
```
|
|
87
87
|
If running, inform user and ask: "Pipeline is already running. Want to restart it, check status, or view logs?"
|
|
88
88
|
|
|
@@ -100,7 +100,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
100
100
|
```
|
|
101
101
|
If pipeline state already exists, use the status command instead:
|
|
102
102
|
```bash
|
|
103
|
-
python3 dev-pipeline/scripts/update-feature-status.py \
|
|
103
|
+
python3 .prizmkit/dev-pipeline/scripts/update-feature-status.py \
|
|
104
104
|
--feature-list .prizmkit/plans/feature-list.json \
|
|
105
105
|
--state-dir .prizmkit/state/features \
|
|
106
106
|
--action status 2>/dev/null
|
|
@@ -138,6 +138,13 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
138
138
|
|
|
139
139
|
6. **Ask configuration options** ⚠️ MANDATORY INTERACTIVE STEP — applies to ALL execution modes (Foreground, Background, AND Manual). You MUST ask the user to configure options and WAIT for their response BEFORE proceeding to step 7. Do NOT skip this step or merge it with step 7.
|
|
140
140
|
|
|
141
|
+
⛔ **HARD STOP**: You MUST call `AskUserQuestion` with the 4 questions below and WAIT for the user's response. You MUST NOT:
|
|
142
|
+
- Skip this step and jump to step 7
|
|
143
|
+
- Merge step 6 and step 7 into one response
|
|
144
|
+
- Assume default values and show the command without asking
|
|
145
|
+
- Show the command as text and ask "ready?" without presenting the options
|
|
146
|
+
If you find yourself writing the final command before the user has answered these questions, STOP — you are violating this rule.
|
|
147
|
+
|
|
141
148
|
Use `AskUserQuestion` to present the following configuration choices. Each question is a separate selectable option:
|
|
142
149
|
|
|
143
150
|
**Question 1 — Critic review** (multiSelect: false):
|
|
@@ -209,34 +216,34 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
209
216
|
|
|
210
217
|
**Foreground command:**
|
|
211
218
|
```bash
|
|
212
|
-
VERBOSE=1 dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json
|
|
219
|
+
VERBOSE=1 .prizmkit/dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json
|
|
213
220
|
```
|
|
214
221
|
With all options:
|
|
215
222
|
```bash
|
|
216
223
|
VERBOSE=1 ENABLE_CRITIC=true MAX_RETRIES=5 SESSION_TIMEOUT=3600 ENABLE_DEPLOY=1 \
|
|
217
|
-
dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json --features F-001:F-005
|
|
224
|
+
.prizmkit/dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json --features F-001:F-005
|
|
218
225
|
```
|
|
219
226
|
|
|
220
227
|
**Background daemon command:**
|
|
221
228
|
```bash
|
|
222
|
-
dev-pipeline/launch-feature-daemon.sh start .prizmkit/plans/feature-list.json --env "VERBOSE=1"
|
|
229
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh start .prizmkit/plans/feature-list.json --env "VERBOSE=1"
|
|
223
230
|
```
|
|
224
231
|
With all options:
|
|
225
232
|
```bash
|
|
226
|
-
dev-pipeline/launch-feature-daemon.sh start .prizmkit/plans/feature-list.json --features F-001:F-005 \
|
|
233
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh start .prizmkit/plans/feature-list.json --features F-001:F-005 \
|
|
227
234
|
--env "VERBOSE=1 ENABLE_CRITIC=true MAX_RETRIES=5 ENABLE_DEPLOY=1"
|
|
228
235
|
```
|
|
229
236
|
|
|
230
237
|
**Manual mode**: Print the assembled command(s) and **stop here**. Do not execute anything. Do not proceed to step 8.
|
|
231
238
|
```
|
|
232
239
|
# To run in foreground:
|
|
233
|
-
VERBOSE=1 dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json
|
|
240
|
+
VERBOSE=1 .prizmkit/dev-pipeline/run-feature.sh run .prizmkit/plans/feature-list.json
|
|
234
241
|
|
|
235
242
|
# To run in background (detached):
|
|
236
|
-
dev-pipeline/launch-feature-daemon.sh start .prizmkit/plans/feature-list.json --env "VERBOSE=1"
|
|
243
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh start .prizmkit/plans/feature-list.json --env "VERBOSE=1"
|
|
237
244
|
|
|
238
245
|
# To check status:
|
|
239
|
-
dev-pipeline/run-feature.sh status .prizmkit/plans/feature-list.json
|
|
246
|
+
.prizmkit/dev-pipeline/run-feature.sh status .prizmkit/plans/feature-list.json
|
|
240
247
|
```
|
|
241
248
|
|
|
242
249
|
8. **Confirm and launch** (Foreground and Background only — Manual mode ends at step 7):
|
|
@@ -256,7 +263,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
256
263
|
**If background daemon**:
|
|
257
264
|
1. Verify launch:
|
|
258
265
|
```bash
|
|
259
|
-
dev-pipeline/launch-feature-daemon.sh status
|
|
266
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh status
|
|
260
267
|
```
|
|
261
268
|
2. Start log monitoring — Use the Bash tool with `run_in_background: true`:
|
|
262
269
|
```bash
|
|
@@ -274,12 +281,12 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
274
281
|
|
|
275
282
|
1. **Check daemon status**:
|
|
276
283
|
```bash
|
|
277
|
-
dev-pipeline/launch-feature-daemon.sh status
|
|
284
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh status
|
|
278
285
|
```
|
|
279
286
|
|
|
280
287
|
2. **Show feature-level progress**:
|
|
281
288
|
```bash
|
|
282
|
-
python3 dev-pipeline/scripts/update-feature-status.py \
|
|
289
|
+
python3 .prizmkit/dev-pipeline/scripts/update-feature-status.py \
|
|
283
290
|
--feature-list .prizmkit/plans/feature-list.json \
|
|
284
291
|
--state-dir .prizmkit/state/features \
|
|
285
292
|
--action status
|
|
@@ -298,12 +305,12 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
298
305
|
|
|
299
306
|
1. **Stop the daemon**:
|
|
300
307
|
```bash
|
|
301
|
-
dev-pipeline/launch-feature-daemon.sh stop
|
|
308
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh stop
|
|
302
309
|
```
|
|
303
310
|
|
|
304
311
|
2. **Verify stopped**:
|
|
305
312
|
```bash
|
|
306
|
-
dev-pipeline/launch-feature-daemon.sh status 2>/dev/null || true
|
|
313
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh status 2>/dev/null || true
|
|
307
314
|
```
|
|
308
315
|
|
|
309
316
|
3. **Inform user**: "Pipeline stopped. State is preserved -- you can resume later with 'start pipeline' and it will pick up where it left off."
|
|
@@ -314,7 +321,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
314
321
|
|
|
315
322
|
1. **Check if running**:
|
|
316
323
|
```bash
|
|
317
|
-
dev-pipeline/launch-feature-daemon.sh status 2>/dev/null
|
|
324
|
+
.prizmkit/dev-pipeline/launch-feature-daemon.sh status 2>/dev/null
|
|
318
325
|
```
|
|
319
326
|
|
|
320
327
|
2. **If running** -- Start live tail with Bash tool `run_in_background: true`:
|
|
@@ -342,7 +349,7 @@ Detect user intent from their message, then follow the corresponding workflow:
|
|
|
342
349
|
When user says "retry F-003" or "clean retry F-003":
|
|
343
350
|
|
|
344
351
|
```bash
|
|
345
|
-
dev-pipeline/reset-feature.sh F-003 --clean --run .prizmkit/plans/feature-list.json
|
|
352
|
+
.prizmkit/dev-pipeline/reset-feature.sh F-003 --clean --run .prizmkit/plans/feature-list.json
|
|
346
353
|
```
|
|
347
354
|
|
|
348
355
|
Notes:
|
|
@@ -399,10 +406,10 @@ After pipeline completion, if features have `browser_interaction` fields and the
|
|
|
399
406
|
| PID file stale (process dead) | `launch-feature-daemon.sh` auto-cleans, retry start |
|
|
400
407
|
| Launch failed (process died immediately) | Show last 20 lines of log: `tail -20 .prizmkit/state/features/pipeline-daemon.log` |
|
|
401
408
|
| Feature stuck/blocked | Use `reset-feature.sh <F-XXX> --clean --run` for a fresh retry |
|
|
402
|
-
| All features blocked/failed | Show status, suggest daemon-safe recovery:
|
|
409
|
+
| All features blocked/failed | Show status, suggest daemon-safe recovery: `.prizmkit/dev-pipeline/reset-feature.sh <F-XXX> --clean --run .prizmkit/plans/feature-list.json` |
|
|
403
410
|
| `playwright-cli` not installed | Browser verification skipped for playwright features (non-blocking). Suggest: `npm install -g @playwright/cli@latest && playwright-cli install --skills` |
|
|
404
411
|
| `opencli` not installed | Browser verification skipped for opencli features (non-blocking). Install opencli for Chrome session-based browser verification |
|
|
405
|
-
| Permission denied on script | Run `chmod +x dev-pipeline/launch-feature-daemon.sh dev-pipeline/run-feature.sh` |
|
|
412
|
+
| Permission denied on script | Run `chmod +x .prizmkit/dev-pipeline/launch-feature-daemon.sh .prizmkit/dev-pipeline/run-feature.sh` |
|
|
406
413
|
| Pipeline stop failed (process won't die) | Process may be stuck in I/O wait. Try `kill -9 <PID>` manually. Check for orphaned child processes with `ps aux \| grep claude` |
|
|
407
414
|
| Deploy session failed | Pipeline completed but deploy session exited non-zero. Check `.prizmkit/state/features/deploy/<session_id>/logs/session.log`. Retry manually: `/prizmkit-deploy`. |
|
|
408
415
|
| `.env.local` missing or incomplete | Warn: database connection variables not found. Suggest creating env file with required connection variables for the project's database |
|
|
@@ -107,12 +107,12 @@ Do NOT use this skill when:
|
|
|
107
107
|
## Prerequisites
|
|
108
108
|
|
|
109
109
|
Before questions, check optional context files (never block if absent):
|
|
110
|
-
- `.prizm-docs/root.prizm` (architecture/project context — typically created by app-planner with captured decisions)
|
|
110
|
+
- `.prizmkit/prizm-docs/root.prizm` (architecture/project context — typically created by app-planner with captured decisions)
|
|
111
111
|
- `.prizmkit/config.json` (existing stack preferences and detected tech stack)
|
|
112
112
|
- `.prizmkit/plans/project-brief.md` (project context from app-planner, if available)
|
|
113
113
|
- existing `.prizmkit/plans/feature-list.json` (required for incremental mode)
|
|
114
114
|
- `CLAUDE.md` / `CODEBUDDY.md`
|
|
115
|
-
- If `.prizm-docs/root.prizm` is absent and the project has existing source code, scan the directory structure to understand the codebase layout:
|
|
115
|
+
- If `.prizmkit/prizm-docs/root.prizm` is absent and the project has existing source code, scan the directory structure to understand the codebase layout:
|
|
116
116
|
```bash
|
|
117
117
|
find . -maxdepth 2 -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/build/*' -not -path '*/__pycache__/*' -not -path '*/vendor/*' | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
|
|
118
118
|
```
|
|
@@ -144,7 +144,7 @@ The `global_context` object in `.prizmkit/plans/feature-list.json` provides tech
|
|
|
144
144
|
- `language`, `frontend_framework`, `backend_framework`, `database`, `testing_strategy` (all recommended)
|
|
145
145
|
- Additional: `frontend_styling`, `orm`, `bundler`, `runtime`
|
|
146
146
|
|
|
147
|
-
All `global_context` fields are optional — including recommended fields improves downstream code generation quality. See
|
|
147
|
+
All `global_context` fields are optional — including recommended fields improves downstream code generation quality. See `.prizmkit/dev-pipeline/templates/feature-list-schema.json` for the full schema definition.
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
---
|
|
@@ -183,7 +183,7 @@ Execute the planning workflow in conversation mode with mandatory checkpoints:
|
|
|
183
183
|
> "Do you have any reference materials I should review before planning? This can include:
|
|
184
184
|
> - **Code paths** — files or directories I should read to understand existing implementation
|
|
185
185
|
> - **Documents** — design docs, PRDs, API specs, architecture proposals, or internal wiki pages
|
|
186
|
-
> - **Knowledge docs** — `.prizm-docs/` files, README files, or project-specific documentation
|
|
186
|
+
> - **Knowledge docs** — `.prizmkit/prizm-docs/` files, README files, or project-specific documentation
|
|
187
187
|
> - **Images** — wireframes, mockups, architecture diagrams, or screenshots
|
|
188
188
|
> - **Web links** — reference implementations, API documentation pages, or relevant articles
|
|
189
189
|
>
|
|
@@ -291,7 +291,7 @@ A feature is **exempt** when ANY true:
|
|
|
291
291
|
|
|
292
292
|
## Output Rules
|
|
293
293
|
|
|
294
|
-
`.prizmkit/plans/feature-list.json` must conform to
|
|
294
|
+
`.prizmkit/plans/feature-list.json` must conform to `.prizmkit/dev-pipeline/templates/feature-list-schema.json` (`$schema` = `dev-pipeline-feature-list-v1`).
|
|
295
295
|
|
|
296
296
|
Key requirements:
|
|
297
297
|
- non-empty `features` array
|