prizmkit 1.1.79 → 1.1.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/dev-pipeline/scripts/init-pipeline.py +2 -0
  3. package/bundled/dev-pipeline-windows/scripts/init-pipeline.py +2 -0
  4. package/bundled/skills/_metadata.json +1 -1
  5. package/bundled/skills/app-planner/SKILL.md +12 -356
  6. package/bundled/skills/app-planner/references/infrastructure-convention-discovery.md +108 -0
  7. package/bundled/skills/app-planner/references/project-conventions-discovery.md +59 -0
  8. package/bundled/skills/app-planner/references/project-state-detection.md +88 -0
  9. package/bundled/skills/app-planner/references/rules/backend/derivation-rules.md +10 -0
  10. package/bundled/skills/app-planner/references/rules/database/derivation-rules.md +9 -0
  11. package/bundled/skills/app-planner/references/rules/frontend/derivation-rules.md +10 -0
  12. package/bundled/skills/app-planner/references/rules/frontend/question-bank.md +17 -0
  13. package/bundled/skills/app-planner/references/rules/frontend/template.md +19 -0
  14. package/bundled/skills/app-planner/references/rules/mobile/derivation-rules.md +10 -0
  15. package/bundled/skills/app-planner/references/rules-configuration.md +46 -0
  16. package/bundled/skills/bug-fix-workflow/SKILL.md +18 -54
  17. package/bundled/skills/bug-fix-workflow/references/bug-diagnosis.md +41 -0
  18. package/bundled/skills/bug-planner/SKILL.md +20 -12
  19. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +9 -108
  20. package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +98 -0
  21. package/bundled/skills/feature-pipeline-launcher/SKILL.md +20 -103
  22. package/bundled/skills/feature-pipeline-launcher/references/configuration.md +81 -0
  23. package/bundled/skills/feature-planner/SKILL.md +5 -9
  24. package/bundled/skills/feature-workflow/SKILL.md +27 -184
  25. package/bundled/skills/feature-workflow/references/brainstorm-guide.md +137 -0
  26. package/bundled/skills/prizm-kit/SKILL.md +14 -2
  27. package/bundled/skills/prizmkit-code-review/SKILL.md +67 -136
  28. package/bundled/skills/prizmkit-code-review/references/dev-agent-prompt.md +30 -0
  29. package/bundled/skills/prizmkit-code-review/references/review-report-template.md +31 -0
  30. package/bundled/skills/prizmkit-code-review/references/reviewer-agent-prompt.md +62 -0
  31. package/bundled/skills/prizmkit-code-review/scripts/check_loop.py +186 -0
  32. package/bundled/skills/prizmkit-committer/SKILL.md +8 -0
  33. package/bundled/skills/prizmkit-deploy/SKILL.md +49 -73
  34. package/bundled/skills/prizmkit-deploy/references/data-safety-examples.md +120 -0
  35. package/bundled/skills/prizmkit-deploy/references/ssh-bootstrap-flow.md +49 -0
  36. package/bundled/skills/prizmkit-deploy/references/ssh-execution-flow.md +41 -0
  37. package/bundled/skills/prizmkit-deploy/references/ssh-takeover.md +20 -0
  38. package/bundled/skills/prizmkit-implement/SKILL.md +7 -1
  39. package/bundled/skills/prizmkit-plan/SKILL.md +1 -83
  40. package/bundled/skills/prizmkit-plan/references/examples.md +85 -0
  41. package/bundled/skills/prizmkit-prizm-docs/SKILL.md +14 -0
  42. package/bundled/skills/prizmkit-retrospective/SKILL.md +1 -1
  43. package/bundled/skills/prizmkit-test/SKILL.md +3 -151
  44. package/bundled/skills/prizmkit-test/references/examples.md +70 -0
  45. package/bundled/skills/prizmkit-test/references/test-generation-steps.md +49 -0
  46. package/bundled/skills/prizmkit-test/references/test-report-template.md +42 -0
  47. package/bundled/skills/recovery-workflow/SKILL.md +24 -103
  48. package/bundled/skills/recovery-workflow/references/detection.md +58 -0
  49. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +9 -96
  50. package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +88 -0
  51. package/bundled/skills/refactor-planner/SKILL.md +15 -157
  52. package/bundled/skills/refactor-planner/references/fast-path.md +59 -0
  53. package/bundled/skills/refactor-planner/references/planning-phases.md +135 -0
  54. package/bundled/skills/refactor-workflow/SKILL.md +18 -178
  55. package/bundled/skills/refactor-workflow/references/brainstorm-guide.md +116 -0
  56. package/bundled/skills-windows/app-planner/SKILL.md +12 -358
  57. package/bundled/skills-windows/app-planner/references/infrastructure-convention-discovery.md +108 -0
  58. package/bundled/skills-windows/app-planner/references/project-conventions-discovery.md +59 -0
  59. package/bundled/skills-windows/app-planner/references/project-state-detection.md +90 -0
  60. package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +10 -0
  61. package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +9 -0
  62. package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +10 -0
  63. package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +17 -0
  64. package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +19 -0
  65. package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +10 -0
  66. package/bundled/skills-windows/app-planner/references/rules-configuration.md +46 -0
  67. package/bundled/skills-windows/bug-fix-workflow/SKILL.md +18 -54
  68. package/bundled/skills-windows/bug-fix-workflow/references/bug-diagnosis.md +41 -0
  69. package/bundled/skills-windows/bug-planner/SKILL.md +20 -12
  70. package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +6 -91
  71. package/bundled/skills-windows/bugfix-pipeline-launcher/references/configuration.md +94 -0
  72. package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +19 -88
  73. package/bundled/skills-windows/feature-pipeline-launcher/references/configuration.md +77 -0
  74. package/bundled/skills-windows/feature-planner/SKILL.md +5 -9
  75. package/bundled/skills-windows/feature-workflow/SKILL.md +27 -184
  76. package/bundled/skills-windows/feature-workflow/references/brainstorm-guide.md +137 -0
  77. package/bundled/skills-windows/prizm-kit/SKILL.md +14 -2
  78. package/bundled/skills-windows/prizmkit-code-review/SKILL.md +67 -136
  79. package/bundled/skills-windows/prizmkit-code-review/references/dev-agent-prompt.md +30 -0
  80. package/bundled/skills-windows/prizmkit-code-review/references/review-report-template.md +31 -0
  81. package/bundled/skills-windows/prizmkit-code-review/references/reviewer-agent-prompt.md +62 -0
  82. package/bundled/skills-windows/prizmkit-code-review/scripts/check_loop.py +186 -0
  83. package/bundled/skills-windows/prizmkit-committer/SKILL.md +8 -0
  84. package/bundled/skills-windows/prizmkit-deploy/SKILL.md +50 -74
  85. package/bundled/skills-windows/prizmkit-deploy/references/data-safety-examples.md +120 -0
  86. package/bundled/skills-windows/prizmkit-deploy/references/direct-upload.md +3 -3
  87. package/bundled/skills-windows/prizmkit-deploy/references/ssh-bootstrap-flow.md +49 -0
  88. package/bundled/skills-windows/prizmkit-deploy/references/ssh-execution-flow.md +41 -0
  89. package/bundled/skills-windows/prizmkit-deploy/references/ssh-takeover.md +20 -0
  90. package/bundled/skills-windows/prizmkit-deploy/references/ssl-setup.md +2 -2
  91. package/bundled/skills-windows/prizmkit-implement/SKILL.md +7 -1
  92. package/bundled/skills-windows/prizmkit-plan/SKILL.md +1 -83
  93. package/bundled/skills-windows/prizmkit-plan/references/examples.md +85 -0
  94. package/bundled/skills-windows/prizmkit-prizm-docs/SKILL.md +14 -0
  95. package/bundled/skills-windows/prizmkit-retrospective/SKILL.md +1 -1
  96. package/bundled/skills-windows/prizmkit-retrospective/references/structural-sync-steps.md +1 -1
  97. package/bundled/skills-windows/prizmkit-test/SKILL.md +3 -151
  98. package/bundled/skills-windows/prizmkit-test/references/examples.md +70 -0
  99. package/bundled/skills-windows/prizmkit-test/references/test-generation-steps.md +49 -0
  100. package/bundled/skills-windows/prizmkit-test/references/test-report-template.md +42 -0
  101. package/bundled/skills-windows/recovery-workflow/SKILL.md +24 -125
  102. package/bundled/skills-windows/recovery-workflow/references/detection.md +58 -0
  103. package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +8 -77
  104. package/bundled/skills-windows/refactor-pipeline-launcher/references/configuration.md +82 -0
  105. package/bundled/skills-windows/refactor-planner/SKILL.md +15 -157
  106. package/bundled/skills-windows/refactor-planner/references/fast-path.md +59 -0
  107. package/bundled/skills-windows/refactor-planner/references/planning-phases.md +135 -0
  108. package/bundled/skills-windows/refactor-workflow/SKILL.md +18 -178
  109. package/bundled/skills-windows/refactor-workflow/references/brainstorm-guide.md +116 -0
  110. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ # Project State Detection — Brownfield Behavior
2
+
3
+ Detailed procedures for detecting and handling existing (brownfield) projects during app planning.
4
+
5
+ ## Detection Signals
6
+
7
+ | Signal | Greenfield | Brownfield |
8
+ |--------|-----------|------------|
9
+ | `package.json` / `pyproject.toml` / `go.mod` / `Cargo.toml` / `pom.xml` | absent | present |
10
+ | `src/` or `app/` directory with source files | absent | present |
11
+ | `.git` with commit history | absent or initial commit only | present with history |
12
+ | Empty or near-empty directory | yes | no |
13
+
14
+ ## Greenfield Behavior (default)
15
+
16
+ Proceed with the standard Core Workflow — ask all questions from scratch.
17
+
18
+ ## Brownfield Behavior
19
+
20
+ When an existing project is detected:
21
+
22
+ ### Step 1: Prerequisite Check (Mandatory)
23
+
24
+ Before ANY planning work, check if AI-essential project context files exist:
25
+
26
+ | File | Purpose | Status |
27
+ |------|---------|--------|
28
+ | `.prizmkit/prizm-docs/root.prizm` | Project architecture context for AI | exists / missing |
29
+ | `.prizmkit/config.json` | Tech stack + runtime config | exists / missing |
30
+ | `.prizmkit/plans/project-brief.md` | Product vision checklist | exists / missing |
31
+
32
+ **If ANY are missing**, show the status table, then use `AskUserQuestion`:
33
+
34
+ **Question**: "Some AI context files are missing. These help AI understand your project — making planning much more effective. How would you like to proceed?"
35
+ - **Run project init first (Recommended)** — invoke `prizmkit-init` to scan your codebase and generate these files, then return to planning
36
+ - **Continue without init** — I'll scan the project manually during this session (less thorough)
37
+ - **Skip, I'll set these up later** — proceed with planning using only what's available
38
+
39
+ - **Run project init first** -> Invoke `prizmkit-init`, then resume app-planner from where it left off
40
+ - **Continue without init** -> Continue with Step 2 below (manual scan)
41
+ - **Skip** -> Continue with Step 3, skip scanning
42
+
43
+ ### Step 2: Proactive Project Scanning
44
+
45
+ Do NOT ask the user to describe their project — read it yourself first:
46
+
47
+ 1. **Scan project structure** to understand the codebase layout:
48
+ ```powershell
49
+ Get-ChildItem -Path . -Directory -Recurse -Depth 2 |
50
+ Where-Object { $_.FullName -notmatch '\\(node_modules|\.git|dist|build|__pycache__|vendor)(\\|$)' } |
51
+ ForEach-Object { $_.FullName -replace '[^\\]*\\', '|____' -replace '____\|', ' |' }
52
+ ```
53
+
54
+ 2. **Read existing project metadata** to infer tech stack and purpose:
55
+ - `package.json` -> name, description, dependencies, scripts
56
+ - `pyproject.toml` / `requirements.txt` -> Python dependencies
57
+ - `go.mod` -> Go module info
58
+ - `README.md` -> project description and goals
59
+ - `.prizmkit/config.json` -> previously detected tech stack
60
+ - `.prizmkit/prizm-docs/root.prizm` -> existing architecture context
61
+
62
+ 3. **Read key source files** (entry points, main routes, core models) to understand what the project actually does — don't rely solely on metadata.
63
+
64
+ ### Step 3: Present Inferred Summary with Confirmation
65
+
66
+ Show the summary as text, then use `AskUserQuestion`:
67
+
68
+ > Based on my analysis of your codebase:
69
+ >
70
+ > **Project**: [name] — [inferred description]
71
+ > **Tech Stack**: [framework] + [language] + [key dependencies]
72
+ > **Key Features Found**: [list 3-5 detected capabilities]
73
+ > **Architecture**: [e.g., monolithic, microservices, serverless]
74
+
75
+ **Question**: "Does this look correct?"
76
+ - **Yes, looks correct (Recommended)** — proceed with planning
77
+ - **Mostly correct, with changes** — I'll note corrections
78
+ - **This is off** — let me describe the project
79
+
80
+ ### Step 4: Pre-fill and Focus
81
+
82
+ - Phase 2 tech stack selection -> largely pre-filled from dependencies
83
+ - Vision/problem statement -> inferred from README or package description (user confirms)
84
+ - Existing features -> note them as `[x]` items in project brief
85
+
86
+ **Focus remaining questions** (as options where possible) on what CANNOT be inferred:
87
+ - Target users and core value proposition
88
+ - Future direction and planned capabilities
89
+ - Non-functional requirements (performance, scale, security)
90
+ - Design direction (for frontend projects)
@@ -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 |
@@ -0,0 +1,46 @@
1
+ # Rules Configuration — Detailed Q&A Procedures
2
+
3
+ Procedural details for configuring per-layer development rules during app planning. SKILL.md retains Steps 1-3 and 5 (flow control); this file contains Step 4's full Q&A workflow.
4
+
5
+ ## Step 4: Configure Each Selected Layer — Full Q&A Workflow
6
+
7
+ For each selected layer, run the 4-phase rule generation pattern:
8
+
9
+ ### Phase A — Load Layer Resources
10
+
11
+ - Read `${SKILL_DIR}/references/rules/<layer>/fixed-rules.md` — industry-consensus rules injected without asking
12
+ - Read `${SKILL_DIR}/references/rules/<layer>/question-bank.md` — interactive questions organized in groups (G1->G10): authoritative source for question text, options, "Recommended" markers, and Notes
13
+ - Read `${SKILL_DIR}/references/rules/<layer>/question-manifest.json` — machine-readable structure for this layer. **This is your asking checklist.** It lists, per question: `group`, `required`, `maps_to` (which template placeholders the answer fills), and conditional fields (`required_if`, `auto_derived_when`, `options_vary_by`). Its `groups[]` carries each group's `quick_mode` flag, and `template_placeholders` is the expected-set for the Phase D self-check. Use the manifest to track coverage; use question-bank.md for the actual wording you present to the user. If a question id in one file is absent from the other, trust question-bank.md for content and note the drift.
14
+
15
+ ### Phase B — Interactive Q&A
16
+
17
+ - Ask questions one group at a time (max 3 questions per message), as defined in question-bank.md
18
+ - Each question shows a "Recommended" option to reduce decision cost
19
+ - **Quick mode**: ask only the groups whose `quick_mode` is `true` in `question-manifest.json`. All other groups adopt recommended defaults silently. (The manifest is the single source of truth for quick-mode membership — do not hardcode group lists here.)
20
+ - **Full mode**: ask all groups in manifest order (`groups[]`).
21
+ - **Conditional questions** (driven by the manifest's per-question fields):
22
+ - `required_if: "<expr>"` — ask this question only when the expression over prior answers holds (e.g. Q14 `required_if: Q13 != D`). If the condition is false, the question is legitimately skipped — not a coverage gap.
23
+ - `auto_derived_when: "<expr>"` — when this holds, fill the mapped placeholder(s) from the prior answer without asking (e.g. backend Q6 `auto_derived_when: Q5 in [GraphQL, gRPC]`). Count as satisfied, not skipped.
24
+ - `options_vary_by: "<Qid>"` — the question is still asked; only its option list depends on that prior answer (e.g. framework/ORM options vary by language). Never affects whether the question is required.
25
+ - Shortcut commands work at any point:
26
+ - `recommended` / `default` -> adopt all recommended for current group
27
+ - `all recommended` -> adopt all recommended for all remaining groups
28
+ - `skip` -> mark current group as "Not required at this stage"
29
+ - Record answers in memory after each group. Track which manifest questions are answered, auto-derived, or conditionally skipped so Phase D can verify coverage.
30
+
31
+ ### Phase C — Auto-derivation
32
+
33
+ - Read `${SKILL_DIR}/references/rules/<layer>/derivation-rules.md`
34
+ - Match user answers against the trigger map using keyword matching
35
+ - Derive platform-specific rules without asking the user (e.g., choosing Flutter -> auto-inject Flutter widget/persistence/navigation rules)
36
+
37
+ ### Phase D — Render and Write
38
+
39
+ - Read `${SKILL_DIR}/references/rules/<layer>/template.md`
40
+ - Fill all template placeholders with accumulated content from Phases A+B+C
41
+ - **Post-render self-check** (driven by `question-manifest.json` -> `template_placeholders`):
42
+ 1. **Coverage pass** — for every placeholder in `from_questions`, confirm it traces to an answered question OR an `auto_derived_when` path OR a conditionally-skipped question (`required_if` false). If a `from_questions` placeholder has no source, you skipped a required question — go back and ask it before writing.
43
+ 2. **Residual pass** — scan the rendered document for any residual `{{ ` or ` }}`; count must be 0. Placeholders in `from_fixed_rules` / `auto_generated` / `metadata` are filled from fixed-rules.md, Phase D generation, and project metadata respectively — they are NOT expected to come from Q&A, but they MUST still be rendered (no residual braces).
44
+ - Generate Appendix A (Deny List) and Appendix B (Recommended Tools) per template instructions — these fill the `auto_generated` placeholders
45
+ - Create `.prizmkit/rules/` directory if it doesn't exist
46
+ - Write `.prizmkit/rules/<layer>-rules.md`
@@ -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
 
@@ -95,36 +94,7 @@ For trivial bugs with clear root cause and minimal scope:
95
94
 
96
95
  #### Step 1.2: Systematic Bug Clarification
97
96
 
98
- Ask questions across these dimensions until every aspect is clear. **Adapt to what the user has already provided** skip questions that are already answered.
99
-
100
- **Reproduction Conditions:**
101
- - What exact steps trigger the bug? (step-by-step)
102
- - Which environment/browser/OS/version?
103
- - Is it reproducible every time, or intermittent?
104
- - When did it first appear? (after a specific change/deploy?)
105
- - Does it happen for all users or only specific accounts/roles/data?
106
-
107
- **Expected vs Actual Behavior:**
108
- - What should happen? (the correct behavior)
109
- - What actually happens? (the buggy behavior)
110
- - Is there partial functionality (e.g., works for some inputs but not others)?
111
-
112
- **Scope and Impact:**
113
- - Which features/pages/modules are affected?
114
- - Are there workarounds users are currently using?
115
- - Is this blocking other work?
116
- - Are there related symptoms elsewhere?
117
-
118
- **Data and State:**
119
- - What data/state triggers the issue? (specific input values, DB state, user session state)
120
- - Does the bug involve data corruption or just incorrect display/behavior?
121
- - If database-related: which tables/records are affected?
122
-
123
- **Error Details** (if not already provided):
124
- - Full error message and stack trace?
125
- - Browser console errors?
126
- - Server-side logs?
127
- - Network request/response details?
97
+ Read `${SKILL_DIR}/references/bug-diagnosis.md` for the full question framework reproduction conditions, expected vs actual behavior, scope/impact, data/state, and error details. Adapt to what the user has already provided; skip answered questions.
128
98
 
129
99
  #### Step 1.3: Confirmation Before Triage
130
100
 
@@ -150,12 +120,7 @@ Ask the user: "Is this summary accurate? Any details to add?"
150
120
 
151
121
  After confirming bug understanding, assess whether this bug needs structured planning:
152
122
 
153
- **Simple bug → Fast Path candidate** (ALL must be true):
154
- - Root cause is immediately obvious (typo, missing null check, wrong variable name, off-by-one)
155
- - Fix is ≤10 lines of code in a single file
156
- - No cross-module impact
157
- - Existing tests cover the affected path (or bug is in untested utility)
158
- - 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).
159
124
 
160
125
  **User choice required (mandatory)** — Use `AskUserQuestion` to present interactive selectable options:
161
126
 
@@ -349,28 +314,28 @@ If user reports the fix is NOT working:
349
314
 
350
315
  The workflow supports resuming from the last completed phase by detecting existing artifacts.
351
316
 
352
- **Detection logic**: Check `.prizmkit/bugfix/<BUG_ID>/` and git branch state:
317
+ **Detection logic**: Resume from git branch state plus, for the complex "Plan and fix now" path, the planning docs under `.prizmkit/bugfix/<BUG_ID>/`:
353
318
 
354
- | Artifact Found | Resume From |
319
+ | State Found | Resume From |
355
320
  |---------------|------------|
356
- | (nothing) | Phase 0: Branch Setup |
357
- | On `fix/<BUG_ID>-*` branch, no artifacts | Phase 1: Deep Bug Diagnosis |
358
- | `fix-plan.md` only | Phase 4: Fix |
359
- | `fix-plan.md` + code changes exist | Phase 5: Review |
360
- | All docs + review passed | Phase 6: User Verification |
361
- | All docs + committed | Phase 7: Merge decision |
321
+ | Not on a `fix/<BUG_ID>-*` branch | Phase 0: Branch Setup |
322
+ | On `fix/<BUG_ID>-*` branch, no diagnosis done | Phase 1: Deep Bug Diagnosis |
323
+ | `spec.md` + `plan.md` exist, no code changes | Phase 4: Fix (complex path) |
324
+ | Reproduction test written, fix not yet green | Phase 4: Fix |
325
+ | Fix code + passing tests, not yet reviewed | Phase 5: Review |
326
+ | Review passed, not committed | Phase 6: User Verification |
327
+ | Committed on fix branch | Phase 7: Merge decision |
362
328
 
363
- **Resume**: If `<BUG_ID>` matches an existing `.prizmkit/bugfix/<BUG_ID>/` directory, resume instead of starting fresh.
329
+ **Resume**: If a `fix/<BUG_ID>-*` branch already exists (and, for the complex path, a matching `.prizmkit/bugfix/<BUG_ID>/` directory), resume from the detected state instead of starting fresh.
364
330
 
365
331
  ---
366
332
 
367
333
  ## Artifacts
368
334
 
369
- Bug fix artifacts are stored at `.prizmkit/bugfix/<BUG_ID>/`:
370
- - `fix-plan.md` — Triage output (diagnosis, root cause, fix approach)
371
- - `fix-report.md` — Post-fix summary (what changed, test results, TRAPS added)
335
+ This workflow favors code + tests over documents — a bug fix is an incomplete feature, not new architecture worth heavy documentation. What gets produced depends on the path taken:
372
336
 
373
- Only 2 artifact files per bug, consistent with the pipeline convention.
337
+ - **Fast path / interactive path** (Phase 2–7): no markdown artifacts. Output is the fix code, a reproduction test, and a git commit on the fix branch. Diagnosis and triage are presented inline to the user, not written to disk.
338
+ - **Complex "Plan and fix now" path**: `/prizmkit-plan` writes `spec.md` (bug description + acceptance criteria) and `plan.md` (fix strategy + test specs) under `.prizmkit/bugfix/<BUG_ID>/`. These are the only persisted documents, and they double as resume anchors.
374
339
 
375
340
  ## Comparison with Pipeline Bug Fix
376
341
 
@@ -383,7 +348,7 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
383
348
  | Visibility | Full user interaction at each phase | Async, check status periodically |
384
349
  | User verification | Yes (Phase 6) | No (automated) |
385
350
  | Best for | Complex bugs needing user input | Batch of well-defined bugs |
386
- | Artifacts | Same (fix-plan.md + fix-report.md) | Same |
351
+ | Artifacts | Code + test (+ spec/plan on complex path) | Pipeline-managed |
387
352
  | Commit prefix | `fix(<scope>):` | `fix(<scope>):` |
388
353
 
389
354
  ## Error Handling
@@ -410,6 +375,5 @@ Only 2 artifact files per bug, consistent with the pipeline convention.
410
375
  ## Output
411
376
 
412
377
  - Fixed code with reproduction test
413
- - `.prizmkit/bugfix/<BUG_ID>/fix-plan.md`
414
- - `.prizmkit/bugfix/<BUG_ID>/fix-report.md`
378
+ - On the complex path only: `.prizmkit/bugfix/<BUG_ID>/spec.md` + `plan.md`
415
379
  - Git commit with `fix(<scope>):` prefix on dedicated fix branch
@@ -0,0 +1,41 @@
1
+ # Bug Diagnosis — Question Framework
2
+
3
+ Procedural details for systematic bug clarification in bug-fix-workflow Phase 1.
4
+
5
+ ## Step 1.2: Systematic Bug Clarification
6
+
7
+ Ask questions across these dimensions until every aspect is clear. **Adapt to what the user has already provided** — skip questions that are already answered.
8
+
9
+ ### Reproduction Conditions
10
+ - What exact steps trigger the bug? (step-by-step)
11
+ - Which environment/browser/OS/version?
12
+ - Is it reproducible every time, or intermittent?
13
+ - When did it first appear? (after a specific change/deploy?)
14
+ - Does it happen for all users or only specific accounts/roles/data?
15
+
16
+ ### Expected vs Actual Behavior
17
+ - What should happen? (the correct behavior)
18
+ - What actually happens? (the buggy behavior)
19
+ - Is there partial functionality (e.g., works for some inputs but not others)?
20
+
21
+ ### Scope and Impact
22
+ - Which features/pages/modules are affected?
23
+ - Are there workarounds users are currently using?
24
+ - Is this blocking other work?
25
+ - Are there related symptoms elsewhere?
26
+
27
+ ### Data and State
28
+ - What data/state triggers the issue? (specific input values, DB state, user session state)
29
+ - Does the bug involve data corruption or just incorrect display/behavior?
30
+ - If database-related: which tables/records are affected?
31
+
32
+ ### Error Details (if not already provided)
33
+ - Full error message and stack trace?
34
+ - Browser console errors?
35
+ - Server-side logs?
36
+ - Network request/response details?
37
+
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
  ## PowerShell Python Helper
77
75
 
@@ -126,6 +124,8 @@ Actions:
126
124
 
127
125
  ## Operation: Interactive Planning
128
126
 
127
+ Triggers: "plan bug fixes", "report bugs".
128
+
129
129
  Launch the interactive bug planning process through 5 phases.
130
130
 
131
131
  ### Phase 1: Project Context
@@ -289,6 +289,8 @@ Checkpoints catch cascading errors early — skipping one means the next phase b
289
289
 
290
290
  ## Operation: From Log
291
291
 
292
+ Triggers: "parse this error log", "here's a stack trace", "parse these errors".
293
+
292
294
  Batch-parse error logs to generate bug entries without interactive prompts:
293
295
 
294
296
  1. Accept log file path or piped content
@@ -309,6 +311,8 @@ Batch-parse error logs to generate bug entries without interactive prompts:
309
311
 
310
312
  ## Operation: From Tests
311
313
 
314
+ Triggers: "these tests are failing", "parse test output".
315
+
312
316
  Batch-parse failed test output:
313
317
 
314
318
  1. Accept test runner output (Jest, pytest, Go test, etc.)
@@ -323,6 +327,8 @@ Batch-parse failed test output:
323
327
 
324
328
  ## Operation: Validate
325
329
 
330
+ Triggers: "validate bug list", "check .prizmkit/plans/bug-fix-list.json".
331
+
326
332
  Validate existing `.prizmkit/plans/bug-fix-list.json`:
327
333
 
328
334
  1. Check JSON syntax
@@ -336,6 +342,8 @@ Validate existing `.prizmkit/plans/bug-fix-list.json`:
336
342
 
337
343
  ## Operation: Summary
338
344
 
345
+ Triggers: "bug summary", "show bug list", "list bugs".
346
+
339
347
  Print human-readable summary:
340
348
 
341
349
  ```
@@ -137,89 +137,15 @@ Detect user intent from their message, then follow the corresponding workflow:
137
137
  --action status
138
138
  ```
139
139
 
140
- 4. **Ask execution mode** (first user decision — SEPARATE `AskUserQuestion` call):
140
+ 4. **Ask execution mode** (first user decision — SEPARATE `AskUserQuestion` call with exactly 1 question):
141
141
 
142
- **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.
142
+ Present the three execution modes from the **Execution Mode** section above (Foreground / Background daemon / Manual), multiSelect: false. Then STOP and wait for the user's response before continuing to step 5.
143
143
 
144
- Use `AskUserQuestion` with exactly 1 question:
144
+ 5. **Ask configuration options** — applies to ALL execution modes (Foreground, Background, AND Manual). This is a SEPARATE `AskUserQuestion` call from step 4.
145
145
 
146
- **Question 1 — Execution mode** (multiSelect: false):
147
- - Foreground (Recommended) — pipeline runs in the current session via `run-bugfix.ps1 run`. Visible output and direct error feedback.
148
- - Background daemon — pipeline runs fully detached via `launch-bugfix-daemon.ps1`. Survives AI CLI session closure.
149
- - Manual — display the final assembled commands only. Do not execute anything. User runs them on their own.
146
+ RULE: Execution mode (step 4) and configuration (step 5) are two distinct `AskUserQuestion` calls, asked in order, each followed by waiting for the user's answer. Merging them, assuming defaults, or showing the final command before the user has answered both rounds produces a misconfigured pipeline that runs autonomously for a long time — so it MUST NOT happen. If you find yourself writing the final command before the user has answered, STOP.
150
147
 
151
- ⚠️ STOP HERE and wait for user response before continuing to step 5.
152
-
153
- 5. **Ask configuration options** ⚠️ MANDATORY INTERACTIVE STEP — applies to ALL execution modes (Foreground, Background, AND Manual). This is a SEPARATE `AskUserQuestion` call from step 4. You MUST ask the user to configure options and WAIT for their response BEFORE proceeding to step 6.
154
-
155
- ⛔ **HARD STOP**: You MUST call `AskUserQuestion` with the 4 questions below and WAIT for the user's response. You MUST NOT:
156
- - Combine step 4 and step 5 into one `AskUserQuestion` call (this is the most common violation — execution mode MUST be asked separately in step 4)
157
- - Skip this step and jump to the next step
158
- - Merge this step and the next step into one response
159
- - Assume default values and show the command without asking
160
- - Show the command as text and ask "ready?" without presenting the options
161
- If you find yourself writing the final command before the user has answered these 4 questions, STOP — you are violating this rule.
162
-
163
- Use `AskUserQuestion` to present ALL 4 configuration choices (the full 4-question budget goes to config, NOT shared with execution mode):
164
-
165
- **Question 1 — Verbose logging** (multiSelect: false):
166
- - On (default) — Detailed AI session logs including tool calls and subagent activity
167
- - Off — Minimal logging
168
-
169
- **Question 2 — Max retries** (multiSelect: false):
170
- - 3 (default)
171
- - 1
172
- - 5
173
-
174
- **Question 3 — Critic review** (multiSelect: false):
175
- - Off (default) — Skip adversarial review
176
- - On — Enable adversarial critic review: an independent AI agent reviews the diagnosis/plan for completeness and the fix for defects, edge cases, and regression risks. Adds ~5-10 min per bug.
177
-
178
- **Question 4 — Advanced config?** (multiSelect: false):
179
- - No (default) — Use defaults for session timeout and failure behavior
180
- - Yes — Configure session timeout, stop-on-failure, and reasoning effort options
181
-
182
- Note: Bug filter defaults to all bugs (by severity order). Default Critic to Off unless bugs have `severity: "critical"` or `severity: "high"` (in which case default to On). If the user selects "Other" on any option, handle their custom input.
183
-
184
- **If user chose "Yes" to Advanced config**, ask a second round of `AskUserQuestion`:
185
-
186
- **Question 1 — Session timeout** (multiSelect: false):
187
- - None (default) — No timeout
188
- - 30 min — `SESSION_TIMEOUT=1800`
189
- - 1 hour — `SESSION_TIMEOUT=3600`
190
- - 2 hours — `SESSION_TIMEOUT=7200`
191
-
192
- **Question 2 — Stop on failure** (multiSelect: false):
193
- - Off (default) — Pipeline continues to next task after failure
194
- - On — Pipeline halts immediately when a task exhausts all retries (`STOP_ON_FAILURE=1`)
195
-
196
- **Question 3 — Reasoning effort** (multiSelect: false):
197
- - Default (none) — Use CLI default
198
- - low — Minimize reasoning, fastest output (`PRIZMKIT_EFFORT=low`)
199
- - medium — Moderate reasoning (`PRIZMKIT_EFFORT=medium`)
200
- - high — Thorough reasoning for complex tasks (`PRIZMKIT_EFFORT=high`)
201
- - xhigh — Extensive reasoning (`PRIZMKIT_EFFORT=xhigh`)
202
- - max — Maximum reasoning, Claude Code only (`PRIZMKIT_EFFORT=max`)
203
-
204
- **Environment variable mapping** (for translating user responses → env vars):
205
-
206
- | Config choice | Environment variable |
207
- |-----------|---------------------|
208
- | Verbose: Off | `VERBOSE=0` |
209
- | Verbose: On | `VERBOSE=1` |
210
- | Max retries: N | `MAX_RETRIES=N` |
211
- | Critic: On | `ENABLE_CRITIC=true` |
212
- | Timeout: value | `SESSION_TIMEOUT=<seconds>` |
213
- | Stop on failure: On | `STOP_ON_FAILURE=1` |
214
- | Effort: value | `PRIZMKIT_EFFORT=<value>` |
215
-
216
- **Advanced environment variables** (not exposed in interactive menu, pass via `--env`):
217
-
218
- | Variable | Default | Purpose |
219
- |----------|---------|---------|
220
- | `MODEL` | (none) | AI model override (e.g. `claude-opus-4.6`) |
221
-
222
- ⚠️ STOP HERE and wait for user response before continuing to step 6.
148
+ The step-5 questions (4 round-1 questions, plus a round 2 if the user picks "Yes" to Advanced config) and their env-var mappings are enumerated in `${SKILL_DIR}/references/configuration.md` under "Interactive Configuration Options". Present round 1 as one `AskUserQuestion` call; run round 2 only if Advanced config = Yes. Then STOP and wait for the user's response before continuing to step 6.
223
149
 
224
150
  6. **Show final command**: Assemble the complete command from execution mode + confirmed configuration, and present it to the user.
225
151
 
@@ -364,18 +290,7 @@ When user says "retry B-001":
364
290
 
365
291
  ### Error Handling
366
292
 
367
- | Error | Action |
368
- |-------|--------|
369
- | `.prizmkit/plans/bug-fix-list.json` not found | Tell user to run `bug-planner` skill first |
370
- | JSON parsing failed | Use the bundled Python validation/status scripts instead of external JSON tools |
371
- | AI CLI not in PATH | Check Codex (`codex`), Claude (`claude`), or CodeBuddy (`cbc`) installation |
372
- | Bugfix pipeline already running | Show status, ask if user wants to stop and restart |
373
- | PID file stale (process dead) | `launch-bugfix-daemon.ps1` auto-cleans, retry start |
374
- | Launch failed (process died immediately) | Show last 20 lines of log: `Get-Content -Tail 20 .prizmkit/state/daemon/bugfix-daemon.log` |
375
- | All bugs blocked/failed/needs-info | Show status, suggest retrying or providing more info |
376
- | `playwright-cli` not installed | Browser verification skipped for playwright bugs (non-blocking). Suggest: `npm install -g @playwright/cli@latest; playwright-cli install --skills` |
377
- | `opencli` not installed | Browser verification skipped for opencli bugs (non-blocking). Install opencli for Chrome session-based browser verification |
378
- | PowerShell execution policy blocks script | Run `Set-ExecutionPolicy -Scope Process Bypass` for the current terminal |
293
+ Read `${SKILL_DIR}/references/configuration.md` for the full error handling table (11 entries).
379
294
 
380
295
  ### Integration Notes
381
296