prizmkit 1.1.80 → 1.1.82

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.
Files changed (65) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/dev-pipeline/lib/heartbeat.sh +1 -1
  3. package/bundled/dev-pipeline/run-feature.sh +3 -3
  4. package/bundled/dev-pipeline/templates/bootstrap-tier1.md +2 -5
  5. package/bundled/dev-pipeline/templates/bootstrap-tier2.md +2 -5
  6. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +2 -5
  7. package/bundled/dev-pipeline/templates/sections/failure-capture.md +0 -5
  8. package/bundled/skills/_metadata.json +1 -1
  9. package/bundled/skills/app-planner/SKILL.md +2 -9
  10. package/bundled/skills/app-planner/references/rules/backend/derivation-rules.md +10 -0
  11. package/bundled/skills/app-planner/references/rules/database/derivation-rules.md +9 -0
  12. package/bundled/skills/app-planner/references/rules/frontend/derivation-rules.md +10 -0
  13. package/bundled/skills/app-planner/references/rules/frontend/question-bank.md +17 -0
  14. package/bundled/skills/app-planner/references/rules/frontend/template.md +19 -0
  15. package/bundled/skills/app-planner/references/rules/mobile/derivation-rules.md +10 -0
  16. package/bundled/skills/bug-fix-workflow/SKILL.md +17 -24
  17. package/bundled/skills/bug-fix-workflow/references/bug-diagnosis.md +4 -29
  18. package/bundled/skills/bug-planner/SKILL.md +20 -12
  19. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +5 -67
  20. package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +50 -1
  21. package/bundled/skills/feature-pipeline-launcher/SKILL.md +16 -56
  22. package/bundled/skills/feature-pipeline-launcher/references/configuration.md +26 -0
  23. package/bundled/skills/feature-planner/SKILL.md +5 -9
  24. package/bundled/skills/feature-workflow/SKILL.md +22 -63
  25. package/bundled/skills/prizm-kit/SKILL.md +3 -2
  26. package/bundled/skills/prizmkit-code-review/SKILL.md +1 -1
  27. package/bundled/skills/prizmkit-committer/SKILL.md +3 -1
  28. package/bundled/skills/prizmkit-deploy/SKILL.md +1 -1
  29. package/bundled/skills/prizmkit-implement/SKILL.md +1 -1
  30. package/bundled/skills/prizmkit-prizm-docs/SKILL.md +1 -0
  31. package/bundled/skills/prizmkit-retrospective/SKILL.md +1 -1
  32. package/bundled/skills/recovery-workflow/SKILL.md +23 -73
  33. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +6 -51
  34. package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +34 -0
  35. package/bundled/skills/refactor-planner/SKILL.md +6 -8
  36. package/bundled/skills/refactor-workflow/SKILL.md +14 -75
  37. package/bundled/skills-windows/app-planner/SKILL.md +2 -9
  38. package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +10 -0
  39. package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +9 -0
  40. package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +10 -0
  41. package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +17 -0
  42. package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +19 -0
  43. package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +10 -0
  44. package/bundled/skills-windows/bug-fix-workflow/SKILL.md +17 -24
  45. package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +4 -29
  46. package/bundled/skills-windows/bug-planner/SKILL.md +20 -12
  47. package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +5 -63
  48. package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +46 -1
  49. package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +17 -53
  50. package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +22 -0
  51. package/bundled/skills-windows/feature-planner/SKILL.md +5 -9
  52. package/bundled/skills-windows/feature-workflow/SKILL.md +22 -63
  53. package/bundled/skills-windows/prizm-kit/SKILL.md +3 -2
  54. package/bundled/skills-windows/prizmkit-code-review/SKILL.md +1 -1
  55. package/bundled/skills-windows/prizmkit-committer/SKILL.md +3 -1
  56. package/bundled/skills-windows/prizmkit-deploy/SKILL.md +1 -1
  57. package/bundled/skills-windows/prizmkit-implement/SKILL.md +1 -1
  58. package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +1 -0
  59. package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +1 -1
  60. package/bundled/skills-windows/recovery-workflow/SKILL.md +23 -73
  61. package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +7 -46
  62. package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +28 -0
  63. package/bundled/skills-windows/refactor-planner/SKILL.md +6 -8
  64. package/bundled/skills-windows/refactor-workflow/SKILL.md +14 -75
  65. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "frameworkVersion": "1.1.80",
3
- "bundledAt": "2026-06-29T16:26:24.901Z",
4
- "bundledFrom": "9cb872e"
2
+ "frameworkVersion": "1.1.82",
3
+ "bundledAt": "2026-06-30T03:07:55.258Z",
4
+ "bundledFrom": "c12c40b"
5
5
  }
@@ -185,7 +185,7 @@ PY
185
185
  # growing with repeated failed reads or wasted calls.
186
186
  if [[ "$error_loop_detected" == "true" ]]; then
187
187
  stale_seconds=$effective_stale_kill_threshold
188
- elif [[ $growth -eq 0 && $child_growth -eq 0 ]]; then
188
+ elif [[ $growth -le 0 && $child_growth -eq 0 ]]; then
189
189
  stale_seconds=$((stale_seconds + heartbeat_interval))
190
190
  else
191
191
  stale_seconds=0
@@ -990,7 +990,7 @@ else:
990
990
 
991
991
  # Commit feature status update on the original branch (after guaranteed return)
992
992
  if ! git -C "$_proj_root" diff --quiet "$feature_list" 2>/dev/null; then
993
- git -C "$_proj_root" add "$feature_list"
993
+ git -C "$_proj_root" add "$feature_list" 2>/dev/null || true
994
994
  git -C "$_proj_root" commit --no-verify -m "chore($feature_id): update feature status" 2>/dev/null || true
995
995
  fi
996
996
 
@@ -1424,7 +1424,7 @@ DEPLOY_PROMPT_EOF
1424
1424
 
1425
1425
  # Commit feature status update on the original branch (after guaranteed return)
1426
1426
  if ! git -C "$_proj_root" diff --quiet "$feature_list" 2>/dev/null; then
1427
- git -C "$_proj_root" add "$feature_list"
1427
+ git -C "$_proj_root" add "$feature_list" 2>/dev/null || true
1428
1428
  git -C "$_proj_root" commit --no-verify -m "chore($feature_id): update feature status" 2>/dev/null || true
1429
1429
  fi
1430
1430
 
@@ -1636,7 +1636,7 @@ case "${1:-run}" in
1636
1636
 
1637
1637
  # Commit the status change
1638
1638
  if ! git diff --quiet "$_unskip_feature_list" 2>/dev/null; then
1639
- git add "$_unskip_feature_list"
1639
+ git add "$_unskip_feature_list" 2>/dev/null || true
1640
1640
  git commit -m "chore: unskip auto-skipped features" 2>/dev/null || true
1641
1641
  fi
1642
1642
  ;;
@@ -418,11 +418,6 @@ If you encounter an unrecoverable error, context overflow, or are about to exit
418
418
 
419
419
  2. This file is intentionally lightweight — write it BEFORE context runs out.
420
420
 
421
- **Lifecycle**: failure-log.md is a temporary cross-session artifact. Do NOT commit it to git. After a successful session (all phases complete + commit done), delete it:
422
- ```bash
423
- rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
424
- ```
425
-
426
421
  ## Reminders
427
422
 
428
423
  - Tier 1: you handle everything directly — no subagents needed
@@ -432,3 +427,5 @@ rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
432
427
  - Do NOT run `git add`/`git commit` during Phase 1-3 — all changes are committed once in Phase 4
433
428
  - If any files remain after the commit, amend the existing commit — do NOT create a follow-up commit
434
429
  - When staging files, always use explicit file names — NEVER use `git add -A` or `git add .`
430
+ - **NEVER delete, modify, or touch any file under `.prizmkit/state/`** — those are pipeline runtime files managed by the runner
431
+ - NEVER run `rm -rf`, `git clean`, or any destructive filesystem operations
@@ -534,11 +534,6 @@ If you encounter an unrecoverable error, context overflow, or are about to exit
534
534
 
535
535
  2. This file is intentionally lightweight — write it BEFORE context runs out.
536
536
 
537
- **Lifecycle**: failure-log.md is a temporary cross-session artifact. Do NOT commit it to git. After a successful session (all phases complete + commit done), delete it:
538
- ```bash
539
- rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
540
- ```
541
-
542
537
  ## Reminders
543
538
 
544
539
  - Tier 2: orchestrator builds context+plan, Analyzer checks consistency, Dev implements, Reviewer reviews+tests — use direct Agent spawn for agents
@@ -546,6 +541,8 @@ rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
546
541
  - context-snapshot.md is append-only: orchestrator writes Sections 1-4, Dev appends Implementation Log, Reviewer appends Review Notes
547
542
  - Gate checks enforce Implementation Log and Review Notes are written before proceeding
548
543
  - Do NOT use `run_in_background=true` when spawning subagents
544
+ - **NEVER delete, modify, or touch any file under `.prizmkit/state/`** — those are pipeline runtime files managed by the runner
545
+ - NEVER run `rm -rf`, `git clean`, or any destructive filesystem operations
549
546
  - `/prizmkit-committer` is mandatory, and must not be replaced with manual git commit commands
550
547
  - Do NOT run `git add`/`git commit` during Phase 1-5 — all changes are committed once in Phase 6
551
548
  - If any files remain after the commit, amend the existing commit — do NOT create a follow-up commit
@@ -612,11 +612,6 @@ If you encounter an unrecoverable error, context overflow, or are about to exit
612
612
 
613
613
  2. This file is intentionally lightweight — write it BEFORE context runs out.
614
614
 
615
- **Lifecycle**: failure-log.md is a temporary cross-session artifact. Do NOT commit it to git. After a successful session (all phases complete + commit done), delete it:
616
- ```bash
617
- rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
618
- ```
619
-
620
615
  ## Reminders
621
616
 
622
617
  - Tier 3: full team — Dev (implementation) → Reviewer (review + test) — spawn agents directly via Agent tool
@@ -624,6 +619,8 @@ rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
624
619
  - Gate checks enforce Implementation Log and Review Notes are written before proceeding
625
620
  - Do NOT use `run_in_background=true` when spawning agents
626
621
  - Commit phase must use `/prizmkit-committer`; do NOT replace with manual git commit commands
622
+ - **NEVER delete, modify, or touch any file under `.prizmkit/state/`** — those are pipeline runtime files managed by the runner
623
+ - NEVER run `rm -rf`, `git clean`, or any destructive filesystem operations
627
624
  - Do NOT run `git add`/`git commit` during Phase 1-5 — all changes are committed once in Phase 6
628
625
  - If any files remain after the commit, amend the existing commit — do NOT create a follow-up commit
629
626
  - When staging files, always use explicit file names — NEVER use `git add -A` or `git add .`
@@ -14,8 +14,3 @@ If you encounter an unrecoverable error, context overflow, or are about to exit
14
14
  ```
15
15
 
16
16
  2. This file is intentionally lightweight — write it BEFORE context runs out.
17
-
18
- **Lifecycle**: failure-log.md is a temporary cross-session artifact. Do NOT commit it to git. After a successful session (all phases complete + commit done), delete it:
19
- ```bash
20
- rm -f .prizmkit/specs/{{FEATURE_SLUG}}/failure-log.md
21
- ```
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.80",
2
+ "version": "1.1.82",
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.",
@@ -12,7 +12,7 @@ Plan an application from idea to actionable project context through interactive
12
12
  - Architecture decision capture
13
13
  - Project brief accumulation (`.prizmkit/plans/project-brief.md`)
14
14
 
15
- This skill captures **project-level context only**: vision, tech stack, conventions, architecture decisions, and project brief. It does NOT do feature decomposition or generate `feature-list.json` that is `feature-planner`'s job.
15
+ This skill captures **project-level context only**: vision, tech stack, conventions, architecture decisions, and project brief. It does not do feature decomposition. (See **Scope Boundary** for the authoritative output rules.)
16
16
 
17
17
  For adding features to an **existing** project that already has a project brief, use `feature-planner` directly.
18
18
 
@@ -56,14 +56,7 @@ If you believe the task is better suited for a different workflow, you MUST:
56
56
 
57
57
  ## When to Use
58
58
 
59
- Trigger this skill for requests like:
60
- - "Plan an app", "Design a project", "Design a new application"
61
- - "Start from scratch", "Build something new", "Create a new product"
62
- - "Help me figure out what to build", "Brainstorm an app idea"
63
- - "What tech stack should I use?", "Help me choose frameworks"
64
- - "Create a project brief for my existing project"
65
- - "Help me document what this project is about"
66
- - "I have a codebase but no project plan yet"
59
+ The skill `description` lists the trigger phrases. Beyond those, use this section to disambiguate from `feature-planner` and other workflows.
67
60
 
68
61
  Do NOT use this skill when:
69
62
  - The user already has a project brief and wants to add features → use `feature-planner`
@@ -4,6 +4,16 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## Table of Contents
8
+
9
+ - [Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)](#phase-2-answer-direct-fill-table-copy-user-answer-text-directly-into-placeholders)
10
+ - [Trigger Map](#trigger-map)
11
+ - [Rule Block Definitions](#rule-block-definitions)
12
+ - [Template Placeholder Coverage Self-Check](#template-placeholder-coverage-self-check)
13
+
14
+ ---
15
+
16
+
7
17
  ## Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)
8
18
 
9
19
  | Template Placeholder | Source | Example Fill |
@@ -4,6 +4,15 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## Table of Contents
8
+
9
+ - [Phase 2 Answer Direct-Fill Table](#phase-2-answer-direct-fill-table)
10
+ - [Trigger Map](#trigger-map)
11
+ - [Rule Block Definitions](#rule-block-definitions)
12
+
13
+ ---
14
+
15
+
7
16
  ## Phase 2 Answer Direct-Fill Table
8
17
 
9
18
  | Template Placeholder | Source | Example Fill |
@@ -6,6 +6,16 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## Table of Contents
10
+
11
+ - [Phase 2 Answer Direct-Fill Table (no derivation needed; copy the user's answer text directly into the placeholder)](#phase-2-answer-direct-fill-table-no-derivation-needed-copy-the-users-answer-text-directly-into-the-placeholder)
12
+ - [Trigger Map](#trigger-map)
13
+ - [Rule Block Definitions](#rule-block-definitions)
14
+ - [Template Placeholder Coverage Self-Check Table (Mandatory Check Before Phase 4 Rendering)](#template-placeholder-coverage-self-check-table-mandatory-check-before-phase-4-rendering)
15
+
16
+ ---
17
+
18
+
9
19
  ## Phase 2 Answer Direct-Fill Table (no derivation needed; copy the user's answer text directly into the placeholder)
10
20
 
11
21
  > These placeholders **don't need rule blocks**. In Phase 4, the AI directly writes the answers collected in Phase 2 into them.
@@ -6,6 +6,23 @@
6
6
 
7
7
  ---
8
8
 
9
+ ## Table of Contents
10
+
11
+ - [Asking Rules](#asking-rules)
12
+ - [Group Overview](#group-overview)
13
+ - [G1 — Tech Stack](#g1--tech-stack)
14
+ - [G2 — Styling](#g2--styling)
15
+ - [G3 — State & Data Fetching](#g3--state--data-fetching)
16
+ - [G4 — Design System](#g4--design-system)
17
+ - [G5 — Responsive & Adaptation](#g5--responsive--adaptation)
18
+ - [G6 — i18n & Accessibility](#g6--i18n--accessibility)
19
+ - [G7 — Testing & Quality](#g7--testing--quality)
20
+ - [G8 — AI Vibecoding Constraints](#g8--ai-vibecoding-constraints)
21
+ - [G9 — Performance Baseline](#g9--performance-baseline)
22
+
23
+ ---
24
+
25
+
9
26
  ## Asking Rules
10
27
 
11
28
  1. **Group order**: G1 → G2 → G3 → G4 → G5 → G6 → G7 → G8 → G9. Do not skip.
@@ -13,6 +13,25 @@
13
13
 
14
14
  ---
15
15
 
16
+ ## Table of Contents
17
+
18
+ - [0. TL;DR — Key Decisions at a Glance](#0-tldr--key-decisions-at-a-glance)
19
+ - [1. Design System](#1-design-system)
20
+ - [2. Engineering Architecture](#2-engineering-architecture)
21
+ - [3. Code Quality (Non-Negotiable)](#3-code-quality-non-negotiable)
22
+ - [4. State & Data](#4-state--data)
23
+ - [5. User Experience](#5-user-experience)
24
+ - [6. Testing & Quality Assurance](#6-testing--quality-assurance)
25
+ - [7. AI Vibecoding Behavior Constraints](#7-ai-vibecoding-behavior-constraints)
26
+ - [8. Collaboration Process](#8-collaboration-process)
27
+ - [9. Security Baseline](#9-security-baseline)
28
+ - [Appendix A: Deny List (Quick Reference)](#appendix-a-deny-list-quick-reference)
29
+ - [Appendix B: Recommended Libraries & Tools](#appendix-b-recommended-libraries--tools)
30
+ - [Appendix C: References](#appendix-c-references)
31
+
32
+ ---
33
+
34
+
16
35
  ## 0. TL;DR — Key Decisions at a Glance
17
36
 
18
37
  | Dimension | Decision |
@@ -4,6 +4,16 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## Table of Contents
8
+
9
+ - [Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)](#phase-2-answer-direct-fill-table-copy-user-answer-text-directly-into-placeholders)
10
+ - [Trigger Map](#trigger-map)
11
+ - [Rule Block Definitions](#rule-block-definitions)
12
+ - [Template Placeholder Coverage Self-Check](#template-placeholder-coverage-self-check)
13
+
14
+ ---
15
+
16
+
7
17
  ## Phase 2 Answer Direct-Fill Table (copy user answer text directly into placeholders)
8
18
 
9
19
  | Template Placeholder | Source | Example Fill |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: "bug-fix-workflow"
3
- description: "Interactive single-bug fix in current session. Guides through deep diagnosis Q&A → triage → reproduce → fix → review → commit without the background pipeline. Use this skill when the user wants to fix one specific bug right now, interactively. Trigger on: 'fix this bug', 'debug this', 'fix B-001', 'help me fix', 'let me fix this bug myself', 'fix this bug', 'interactive fix', 'manually fix bug'."
3
+ description: "Interactive single-bug fix in current session. Guides through deep diagnosis Q&A → triage → reproduce → fix → review → commit without the background pipeline. Use this skill when the user wants to fix one specific bug right now, interactively. Trigger on: 'fix this bug', 'debug this', 'fix B-001', 'help me fix', 'let me fix this bug myself', 'interactive fix', 'manually fix bug'."
4
4
  ---
5
5
 
6
6
  # Bug Fix Workflow
@@ -10,7 +10,6 @@ Fix a single bug interactively within the current AI CLI session. This is the in
10
10
  ## When to Use
11
11
 
12
12
  - User wants to fix **one specific bug** right now, with full visibility
13
- - User says "fix this bug", "debug this error", "help me fix B-001", "fix this bug"
14
13
  - User has a stack trace or error and wants interactive debugging
15
14
  - User prefers hands-on fixing over background pipeline
16
15
 
@@ -121,12 +120,7 @@ Ask the user: "Is this summary accurate? Any details to add?"
121
120
 
122
121
  After confirming bug understanding, assess whether this bug needs structured planning:
123
122
 
124
- **Simple bug → Fast Path candidate** (ALL must be true):
125
- - Root cause is immediately obvious (typo, missing null check, wrong variable name, off-by-one)
126
- - Fix is ≤10 lines of code in a single file
127
- - No cross-module impact
128
- - Existing tests cover the affected path (or bug is in untested utility)
129
- - No data model or API changes
123
+ **Simple bug → Fast Path candidate**: meets ALL of the Fast Path §Eligibility Criteria (obvious root cause, ≤10 lines, single file, no cross-module impact, no data/API changes).
130
124
 
131
125
  **User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options:
132
126
 
@@ -317,28 +311,28 @@ If user reports the fix is NOT working:
317
311
 
318
312
  The workflow supports resuming from the last completed phase by detecting existing artifacts.
319
313
 
320
- **Detection logic**: Check `.prizmkit/bugfix/<BUG_ID>/` and git branch state:
314
+ **Detection logic**: Resume from git branch state plus, for the complex "Plan and fix now" path, the planning docs under `.prizmkit/bugfix/<BUG_ID>/`:
321
315
 
322
- | Artifact Found | Resume From |
316
+ | State Found | Resume From |
323
317
  |---------------|------------|
324
- | (nothing) | Phase 0: Branch Setup |
325
- | On `fix/<BUG_ID>-*` branch, no artifacts | Phase 1: Deep Bug Diagnosis |
326
- | `fix-plan.md` only | Phase 4: Fix |
327
- | `fix-plan.md` + code changes exist | Phase 5: Review |
328
- | All docs + review passed | Phase 6: User Verification |
329
- | All docs + committed | Phase 7: Merge decision |
318
+ | Not on a `fix/<BUG_ID>-*` branch | Phase 0: Branch Setup |
319
+ | On `fix/<BUG_ID>-*` branch, no diagnosis done | Phase 1: Deep Bug Diagnosis |
320
+ | `spec.md` + `plan.md` exist, no code changes | Phase 4: Fix (complex path) |
321
+ | Reproduction test written, fix not yet green | Phase 4: Fix |
322
+ | Fix code + passing tests, not yet reviewed | Phase 5: Review |
323
+ | Review passed, not committed | Phase 6: User Verification |
324
+ | Committed on fix branch | Phase 7: Merge decision |
330
325
 
331
- **Resume**: If `<BUG_ID>` matches an existing `.prizmkit/bugfix/<BUG_ID>/` directory, resume instead of starting fresh.
326
+ **Resume**: If a `fix/<BUG_ID>-*` branch already exists (and, for the complex path, a matching `.prizmkit/bugfix/<BUG_ID>/` directory), resume from the detected state instead of starting fresh.
332
327
 
333
328
  ---
334
329
 
335
330
  ## Artifacts
336
331
 
337
- Bug fix artifacts are stored at `.prizmkit/bugfix/<BUG_ID>/`:
338
- - `fix-plan.md` — Triage output (diagnosis, root cause, fix approach)
339
- - `fix-report.md` — Post-fix summary (what changed, test results, TRAPS added)
332
+ This workflow favors code + tests over documents — a bug fix is an incomplete feature, not new architecture worth heavy documentation. What gets produced depends on the path taken:
340
333
 
341
- Only 2 artifact files per bug, consistent with the pipeline convention.
334
+ - **Fast path / interactive path** (Phase 2–7): no markdown artifacts. Output is the fix code, a reproduction test, and a git commit on the fix branch. Diagnosis and triage are presented inline to the user, not written to disk.
335
+ - **Complex "Plan and fix now" path**: `/prizmkit-plan` writes `spec.md` (bug description + acceptance criteria) and `plan.md` (fix strategy + test specs) under `.prizmkit/bugfix/<BUG_ID>/`. These are the only persisted documents, and they double as resume anchors.
342
336
 
343
337
  ## Comparison with Pipeline Bug Fix
344
338
 
@@ -351,7 +345,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
351
345
  | Visibility | Full user interaction at each phase | Async, check status periodically |
352
346
  | User verification | Yes (Phase 6) | No (automated) |
353
347
  | Best for | Complex bugs needing user input | Batch of well-defined bugs |
354
- | Artifacts | Same (fix-plan.md + fix-report.md) | Same |
348
+ | Artifacts | Code + test (+ spec/plan on complex path) | Pipeline-managed |
355
349
  | Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
356
350
 
357
351
  ## Error Handling
@@ -378,6 +372,5 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
378
372
  ## Output
379
373
 
380
374
  - Fixed code with reproduction test
381
- - `.prizmkit/bugfix/<BUG_ID>/fix-plan.md`
382
- - `.prizmkit/bugfix/<BUG_ID>/fix-report.md`
375
+ - On the complex path only: `.prizmkit/bugfix/<BUG_ID>/spec.md` + `plan.md`
383
376
  - Git commit with `fix(<scope>):` prefix on dedicated fix branch
@@ -35,32 +35,7 @@ Ask questions across these dimensions until every aspect is clear. **Adapt to wh
35
35
  - Server-side logs?
36
36
  - Network request/response details?
37
37
 
38
- ## Complexity Assessment
39
-
40
- ### Simple bug Fast Path candidate (ALL must be true)
41
- - Root cause is immediately obvious (typo, missing null check, wrong variable name, off-by-one)
42
- - Fix is ≤10 lines of code in a single file
43
- - No cross-module impact
44
- - Existing tests cover the affected path (or bug is in untested utility)
45
- - No data model or API changes
46
-
47
- ### Complex bug → Planning Path (ANY is true)
48
- - Cross-module impact (>2 files affected)
49
- - Data model or API changes required
50
- - Root cause is uncertain or multi-layered
51
- - Fix requires structural changes
52
- - Multiple interrelated symptoms
53
-
54
- ## Comparison with Pipeline Bug Fix
55
-
56
- | Dimension | bug-fix-workflow | bugfix-pipeline-launcher |
57
- |-----------|-------------------|----------------------------|
58
- | Scope | One bug at a time | All bugs in batch |
59
- | Execution | Interactive, in-session | Foreground or background daemon |
60
- | Diagnosis | Deep interactive Q&A with user | Automated from bug description |
61
- | Branch | Creates `fix/<BUG_ID>-*` branch | Pipeline manages branches |
62
- | Visibility | Full user interaction at each phase | Async, check status periodically |
63
- | User verification | Yes (Phase 6) | No (automated) |
64
- | Best for | Complex bugs needing user input | Batch of well-defined bugs |
65
- | Artifacts | Same (fix-plan.md + fix-report.md) | Same |
66
- | Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
38
+ > Complexity assessment (simple vs complex routing) and the comparison with the
39
+ > background pipeline live in the skill body (§Step 1.4 and §Comparison with
40
+ > Pipeline Bug Fix) they are flow-control decisions, kept here only by pointer
41
+ > to avoid drift.
@@ -51,10 +51,8 @@ When the user provides detailed specifications, rules, or implementation require
51
51
  - File references → store as path string, e.g. `src/auth/login.ts:42-78` or `src/utils/validate.ts — focus on validateEmail function`
52
52
 
53
53
  ## When to Use
54
- - "plan bug fixes", "report bugs", "create bug list"
55
- - "generate bug list", "I have some bugs to fix"
56
- - "these tests are failing", "here's an error log", "parse these errors"
57
- - After receiving bug reports, error logs, or failed test output
54
+
55
+ The `description` frontmatter declares the trigger phrases for this skill. Beyond those:
58
56
 
59
57
  **Do NOT use when:**
60
58
  - User wants to start fixing bugs now → use `bugfix-pipeline-launcher`
@@ -63,15 +61,15 @@ When the user provides detailed specifications, rules, or implementation require
63
61
 
64
62
  ## Intent Routing
65
63
 
66
- This skill handles multiple operations. Determine the user's intent and execute the matching operation:
64
+ This skill handles multiple operations. Determine the user's intent and dispatch to the matching operation section below — each operation's authoritative trigger phrases live in its own **Operation:** section.
67
65
 
68
- | User Intent | Operation | Trigger Phrases |
69
- |---|---|---|
70
- | Plan bugs interactively | **Interactive Planning** | "plan bug fixes", "report bugs" |
71
- | Parse error logs into bugs | **From Log** | "parse this error log", "here's a stack trace", "parse these errors" |
72
- | Parse test failures into bugs | **From Tests** | "these tests are failing", "parse test output" |
73
- | Validate existing bug list | **Validate** | "validate bug list", "check .prizmkit/plans/bug-fix-list.json" |
74
- | Summarize bug list | **Summary** | "bug summary", "show bug list", "list bugs" |
66
+ | User Intent | Operation Section |
67
+ |---|---|
68
+ | Plan bugs interactively | **Operation: Interactive Planning** |
69
+ | Parse error logs into bugs | **Operation: From Log** |
70
+ | Parse test failures into bugs | **Operation: From Tests** |
71
+ | Validate existing bug list | **Operation: Validate** |
72
+ | Summarize bug list | **Operation: Summary** |
75
73
 
76
74
  ## Scenario Routing
77
75
 
@@ -99,6 +97,8 @@ Actions:
99
97
 
100
98
  ## Operation: Interactive Planning
101
99
 
100
+ Triggers: "plan bug fixes", "report bugs".
101
+
102
102
  Launch the interactive bug planning process through 5 phases.
103
103
 
104
104
  ### Phase 1: Project Context
@@ -262,6 +262,8 @@ Checkpoints catch cascading errors early — skipping one means the next phase b
262
262
 
263
263
  ## Operation: From Log
264
264
 
265
+ Triggers: "parse this error log", "here's a stack trace", "parse these errors".
266
+
265
267
  Batch-parse error logs to generate bug entries without interactive prompts:
266
268
 
267
269
  1. Accept log file path or piped content
@@ -282,6 +284,8 @@ Batch-parse error logs to generate bug entries without interactive prompts:
282
284
 
283
285
  ## Operation: From Tests
284
286
 
287
+ Triggers: "these tests are failing", "parse test output".
288
+
285
289
  Batch-parse failed test output:
286
290
 
287
291
  1. Accept test runner output (Jest, pytest, Go test, etc.)
@@ -296,6 +300,8 @@ Batch-parse failed test output:
296
300
 
297
301
  ## Operation: Validate
298
302
 
303
+ Triggers: "validate bug list", "check .prizmkit/plans/bug-fix-list.json".
304
+
299
305
  Validate existing `.prizmkit/plans/bug-fix-list.json`:
300
306
 
301
307
  1. Check JSON syntax
@@ -309,6 +315,8 @@ Validate existing `.prizmkit/plans/bug-fix-list.json`:
309
315
 
310
316
  ## Operation: Summary
311
317
 
318
+ Triggers: "bug summary", "show bug list", "list bugs".
319
+
312
320
  Print human-readable summary:
313
321
 
314
322
  ```
@@ -112,77 +112,15 @@ Detect user intent from their message, then follow the corresponding workflow:
112
112
  --action status 2>/dev/null
113
113
  ```
114
114
 
115
- 4. **Ask execution mode** (first user decision — SEPARATE `AskUserQuestion` call):
115
+ 4. **Ask execution mode** (first user decision — SEPARATE `AskUserQuestion` call with exactly 1 question):
116
116
 
117
- **This MUST be its own standalone `AskUserQuestion` call.** Do NOT combine execution mode with step 5 config questions. The execution mode question is asked ALONE, user responds, THEN you proceed to step 5.
117
+ Present the three execution modes from the **Execution Mode** section above (Foreground / Background daemon / Manual), multiSelect: false. Then STOP and wait for the user's response before continuing to step 5.
118
118
 
119
- Use `AskUserQuestion` with exactly 1 question:
120
-
121
- **Question 1 — Execution mode** (multiSelect: false):
122
- - Foreground (Recommended) — pipeline runs in the current session via `run-bugfix.sh run`. Visible output and direct error feedback.
123
- - Background daemon — pipeline runs fully detached via `launch-bugfix-daemon.sh`. Survives AI CLI session closure.
124
- - Manual — display the final assembled commands only. Do not execute anything. User runs them on their own.
125
-
126
- ⚠️ STOP HERE and wait for user response before continuing to step 5.
127
-
128
- 5. **Ask configuration options** ⚠️ MANDATORY INTERACTIVE STEP — applies to ALL execution modes (Foreground, Background, AND Manual). This is a SEPARATE `AskUserQuestion` call from step 4. You MUST ask the user to configure options and WAIT for their response BEFORE proceeding to step 6.
129
-
130
- ⛔ **HARD STOP**: You MUST call `AskUserQuestion` with the 4 questions below and WAIT for the user's response. You MUST NOT:
131
- - Combine step 4 and step 5 into one `AskUserQuestion` call (this is the most common violation — execution mode MUST be asked separately in step 4)
132
- - Skip this step and jump to the next step
133
- - Merge this step and the next step into one response
134
- - Assume default values and show the command without asking
135
- - Show the command as text and ask "ready?" without presenting the options
136
- If you find yourself writing the final command before the user has answered these 4 questions, STOP — you are violating this rule.
137
-
138
- Use `AskUserQuestion` to present ALL 4 configuration choices (the full 4-question budget goes to config, NOT shared with execution mode):
139
-
140
- **Question 1 — Verbose logging** (multiSelect: false):
141
- - On (default) — Detailed AI session logs including tool calls and subagent activity
142
- - Off — Minimal logging
143
-
144
- **Question 2 — Max retries** (multiSelect: false):
145
- - 3 (default)
146
- - 1
147
- - 5
148
-
149
- **Question 3 — Critic review** (multiSelect: false):
150
- - Off (default) — Skip adversarial review
151
- - On — Enable adversarial critic review: an independent AI agent reviews the diagnosis/plan for completeness and the fix for defects, edge cases, and regression risks. Adds ~5-10 min per bug.
152
-
153
- **Question 4 — Advanced config?** (multiSelect: false):
154
- - No (default) — Use defaults for session timeout and failure behavior
155
- - Yes — Configure session timeout, stop-on-failure, and reasoning effort options
156
-
157
- Note: Bug filter defaults to all bugs (by severity order). Default Critic to Off unless bugs have `severity: "critical"` or `severity: "high"` (in which case default to On). If the user selects "Other" on any option, handle their custom input.
158
-
159
- **If user chose "Yes" to Advanced config**, ask a second round of `AskUserQuestion`:
160
-
161
- **Question 1 — Session timeout** (multiSelect: false):
162
- - None (default) — No timeout
163
- - 30 min — `SESSION_TIMEOUT=1800`
164
- - 1 hour — `SESSION_TIMEOUT=3600`
165
- - 2 hours — `SESSION_TIMEOUT=7200`
166
-
167
- **Question 2 — Stop on failure** (multiSelect: false):
168
- - Off (default) — Pipeline continues to next task after failure
169
- - On — Pipeline halts immediately when a task exhausts all retries (`STOP_ON_FAILURE=1`)
170
-
171
- **Question 3 — Deploy after completion?** (multiSelect: false):
172
- - No (default) — Skip deployment after pipeline completes
173
- - Yes — Run /prizmkit-deploy automatically after all bugs fixed successfully (`ENABLE_DEPLOY=1`). Deployment is blocked if any bug was not fixed (status not 'completed', 'skipped', or 'needs_info').
174
-
175
- **Question 4 — Reasoning effort** (multiSelect: false):
176
- - Default (none) — Use CLI default
177
- - low — Minimize reasoning, fastest output (`PRIZMKIT_EFFORT=low`)
178
- - medium — Moderate reasoning (`PRIZMKIT_EFFORT=medium`)
179
- - high — Thorough reasoning for complex tasks (`PRIZMKIT_EFFORT=high`)
180
- - xhigh — Extensive reasoning (`PRIZMKIT_EFFORT=xhigh`)
181
- - max — Maximum reasoning, Claude Code only (`PRIZMKIT_EFFORT=max`)
182
-
183
- **Environment variable mapping** and **advanced environment variables** tables — read `${SKILL_DIR}/references/configuration.md` for the full translation tables (8 config→env mappings + 8 advanced variables).
119
+ 5. **Ask configuration options** — applies to ALL execution modes (Foreground, Background, AND Manual). This is a SEPARATE `AskUserQuestion` call from step 4.
184
120
 
121
+ RULE: Execution mode (step 4) and configuration (step 5) are two distinct `AskUserQuestion` calls, asked in order, each followed by waiting for the user's answer. Merging them, assuming defaults, or showing the final command before the user has answered both rounds produces a misconfigured pipeline that runs autonomously for a long time — so it MUST NOT happen. If you find yourself writing the final command before the user has answered, STOP.
185
122
 
123
+ The step-5 questions (4 round-1 questions, plus a round 2 if the user picks "Yes" to Advanced config) and their env-var mappings are enumerated in `${SKILL_DIR}/references/configuration.md` under "Interactive Configuration Options". Present round 1 as one `AskUserQuestion` call; run round 2 only if Advanced config = Yes. Then STOP and wait for the user's response before continuing to step 6.
186
124
  6. **Show final command**: Assemble the complete command from execution mode + confirmed configuration, and present it to the user.
187
125
 
188
126
  **Foreground command:**
@@ -11,7 +11,7 @@ Translating user responses to env vars:
11
11
  | Verbose: Off | `VERBOSE=0` |
12
12
  | Verbose: On | `VERBOSE=1` |
13
13
  | Max retries: N | `MAX_RETRIES=N` |
14
- | Critic: On | `ENABLE_CRITIC=true` |
14
+ | Critic: On | `ENABLE_CRITIC=1` |
15
15
  | Timeout: value | `SESSION_TIMEOUT=<seconds>` |
16
16
  | Stop on failure: On | `STOP_ON_FAILURE=1` |
17
17
  | Deploy: Yes | `ENABLE_DEPLOY=1` |
@@ -32,6 +32,55 @@ Not exposed in interactive menu, pass via `--env`:
32
32
  | `LOG_RETENTION_DAYS` | `14` | Delete logs older than N days |
33
33
  | `LOG_MAX_TOTAL_MB` | `1024` | Keep total logs under N MB via oldest-first cleanup |
34
34
 
35
+ ## Interactive Configuration Options
36
+
37
+ Present these via `AskUserQuestion` in step 5. Round 1 is one `AskUserQuestion` call with all 4 questions; round 2 only runs if the user picks "Yes" to Advanced config.
38
+
39
+ ### Round 1 (always asked)
40
+
41
+ **Question 1 — Verbose logging** (multiSelect: false):
42
+ - On (default) — Detailed AI session logs including tool calls and subagent activity
43
+ - Off — Minimal logging
44
+
45
+ **Question 2 — Max retries** (multiSelect: false):
46
+ - 3 (default)
47
+ - 1
48
+ - 5
49
+
50
+ **Question 3 — Critic review** (multiSelect: false):
51
+ - Off (default) — Skip adversarial review (`ENABLE_CRITIC=0`)
52
+ - On — Enable adversarial critic review (`ENABLE_CRITIC=1`): an independent AI agent reviews the diagnosis/plan for completeness and the fix for defects, edge cases, and regression risks. Adds ~5-10 min per bug.
53
+
54
+ **Question 4 — Advanced config?** (multiSelect: false):
55
+ - No (default) — Use defaults for session timeout and failure behavior
56
+ - Yes — Configure session timeout, stop-on-failure, deploy, and reasoning effort options
57
+
58
+ Note: Bug filter defaults to all bugs (by severity order). Default Critic to Off unless bugs have `severity: "critical"` or `severity: "high"` (in which case default to On). If the user selects "Other" on any option, handle their custom input.
59
+
60
+ ### Round 2 (only if Advanced config = Yes)
61
+
62
+ **Question 1 — Session timeout** (multiSelect: false):
63
+ - None (default) — No timeout
64
+ - 30 min — `SESSION_TIMEOUT=1800`
65
+ - 1 hour — `SESSION_TIMEOUT=3600`
66
+ - 2 hours — `SESSION_TIMEOUT=7200`
67
+
68
+ **Question 2 — Stop on failure** (multiSelect: false):
69
+ - Off (default) — Pipeline continues to next task after failure
70
+ - On — Pipeline halts immediately when a task exhausts all retries (`STOP_ON_FAILURE=1`)
71
+
72
+ **Question 3 — Deploy after completion?** (multiSelect: false):
73
+ - No (default) — Skip deployment after pipeline completes
74
+ - Yes — Run /prizmkit-deploy automatically after all bugs fixed successfully (`ENABLE_DEPLOY=1`). Deployment is blocked if any bug was not fixed (status not 'completed', 'skipped', or 'needs_info').
75
+
76
+ **Question 4 — Reasoning effort** (multiSelect: false):
77
+ - Default (none) — Use CLI default
78
+ - low — Minimize reasoning, fastest output (`PRIZMKIT_EFFORT=low`)
79
+ - medium — Moderate reasoning (`PRIZMKIT_EFFORT=medium`)
80
+ - high — Thorough reasoning for complex tasks (`PRIZMKIT_EFFORT=high`)
81
+ - xhigh — Extensive reasoning (`PRIZMKIT_EFFORT=xhigh`)
82
+ - max — Maximum reasoning, Claude Code only (`PRIZMKIT_EFFORT=max`)
83
+
35
84
  ## Error Handling
36
85
 
37
86
  | Error | Action |