prizmkit 1.1.12 → 1.1.14

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "frameworkVersion": "1.1.12",
3
- "bundledAt": "2026-04-09T03:04:37.064Z",
4
- "bundledFrom": "231d62a"
2
+ "frameworkVersion": "1.1.14",
3
+ "bundledAt": "2026-04-09T16:24:45.739Z",
4
+ "bundledFrom": "b887e13"
5
5
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.12",
2
+ "version": "1.1.14",
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.",
@@ -70,25 +70,57 @@ Do NOT use this skill when:
70
70
  - User wants to explore ideas before committing → read `${SKILL_DIR}/references/brainstorm-guide.md`
71
71
  - During brainstorm Phase C → also read `${SKILL_DIR}/references/red-team-checklist.md`
72
72
 
73
- 3. **Project conventions check** — after Intent Confirmation, before brainstorm or vision work:
73
+ 3. **Project conventions discovery** — after Intent Confirmation, before brainstorm or vision work:
74
74
  → Read `CLAUDE.md` / `CODEBUDDY.md` and check for `### Project Conventions` section
75
- → If section exists and all conventions are answered → skip silently
76
- → If section is missing or incomplete → ask the following conventions as a single batched prompt:
77
- - **UI Display Language** (`ui_language`): Primary language for the app's UI (e.g., English, 中文, 日本語). If non-English, confirm whether ALL UI text should use that language.
78
- - **Multi-Language Support** (`i18n`): Whether i18n is needed. If yes, which target languages? If enabled, note i18n infrastructure early in dependency graph.
79
- - **Date/Time/Currency**: Date format (YYYY-MM-DD, MM/DD/YYYY, etc.), timezone strategy (UTC storage + local display, user-selected, server only), currency format (if applicable).
80
- - **Code & Git Language**: Language for code comments and git commit messages (default: English for both).
75
+ → If section exists and covers the project well → skip silently
76
+ → If section is missing or incomplete → run the **AI-driven convention discovery** below:
77
+
78
+ **Do NOT follow any fixed checklist.** Every project is different. You must analyze the project first, then reason about what system-level conventions this specific project needs.
79
+
80
+ **Step 1: Analyze the project**
81
+ - Read tech stack, dependencies, existing code, config files, README, any existing style guides or linter configs
82
+ - For brownfield: also read actual source code patterns (naming, file structure, error handling, etc.)
83
+ - For greenfield: use the user's stated goals and intended tech stack
84
+
85
+ **Step 2: Reason about what conventions matter for THIS project**
86
+ Think about what decisions, if left unstandardized, would cause inconsistency as the project grows. Consider all dimensions relevant to the project — these might include (but are NOT limited to):
87
+ - Language and localization choices
88
+ - Code style and naming patterns
89
+ - Architecture and communication patterns
90
+ - Data format and storage decisions
91
+ - Security and auth approaches
92
+ - UI/UX patterns
93
+ - Testing strategies
94
+ - Deployment and environment patterns
95
+ - ...anything else you observe that needs a project-level decision
96
+
97
+ The point is: YOU decide what's relevant based on what you see. A Next.js SaaS app needs completely different conventions than a Python data pipeline or a Go microservice.
98
+
99
+ **Step 3: Present findings as two groups**
100
+ > Based on analyzing your project, here are the system-level conventions I recommend establishing:
101
+ >
102
+ > **Already decided** (detected from your codebase):
103
+ > - [convention]: [value] (source: [where you found it])
104
+ > - [convention]: [value] (source: [where you found it])
105
+ >
106
+ > **Need your input** (would impact consistency if left unaddressed):
107
+ > **1. [Convention name]** — [why this matters for your project]
108
+ > [A] option [B] option [C] option
109
+ >
110
+ > **2. [Convention name]** — [why this matters for your project]
111
+ > [A] option [B] option
112
+ >
113
+ > Anything I missed that you'd like to standardize?
114
+
115
+ **Rules:**
116
+ - Every proposed convention must be justified by something you observed in the project — explain WHY it matters
117
+ - Auto-confirm anything already evident from the codebase (show as "detected", let user override)
118
+ - No fixed upper/lower limit on count — propose as many as the project genuinely needs, but don't pad with irrelevant ones
119
+ - Always end with "Anything I missed?" to let the user add things you didn't think of
120
+ - Present options (not open-ended questions) for each convention that needs input
121
+
81
122
  → Save answers to `CLAUDE.md` / `CODEBUDDY.md` under `### Project Conventions` section (format: one bullet per convention)
82
- Example output:
83
- ```markdown
84
- ### Project Conventions
85
- - UI language: 中文
86
- - i18n: disabled
87
- - Date format: YYYY-MM-DD, timezone: UTC storage + local display
88
- - Currency: CNY ¥
89
- - Code comments: English
90
- - Git commits: English
91
- ```
123
+ Output format will naturally vary per project — that is the intended behavior
92
124
 
93
125
  4. **Project brief accumulation** — throughout all interactive phases:
94
126
  → Read `${SKILL_DIR}/references/project-brief-guide.md` for template and rules
@@ -112,25 +144,60 @@ Note:
112
144
  - This skill does **not** create `.prizmkit/config.json` directly.
113
145
  - Creation/update is handled by bootstrap/init flows (e.g., `prizmkit-init`, `dev-pipeline/scripts/init-dev-team.py`).
114
146
 
115
- ## Intent Confirmation (Mandatory First Step)
147
+ ## Interaction Style (Hard Rule)
148
+
149
+ **ALL decision points MUST use numbered/lettered options.** Never ask open-ended questions when the answer can be structured as a choice. This applies to:
150
+ - Intent confirmation
151
+ - Project conventions
152
+ - Tech stack selection
153
+ - Architecture decisions
154
+ - Handoff recommendations
155
+ - Session exit gates
156
+
157
+ **Format**: Present options as a numbered or lettered list. The user picks a number/letter. Include a recommended default where appropriate.
116
158
 
117
- After initial greeting, confirm the user's deliverable intent:
159
+ Example:
160
+ > What would you like to do next?
161
+ >
162
+ > **[A] Produce a project plan** — capture vision, stack, constraints → project-brief.md (recommended)
163
+ > **[B] Explore ideas first** — brainstorm freely before committing to a plan
164
+ > **[C] Skip to feature planning** — if you already know what to build
118
165
 
119
- 1. **Ask explicitly**:
120
- - "Is the goal to produce a project plan for eventual pipeline execution, or just explore ideas first?"
166
+ **When gathering information** (e.g., target users, problem statement), use a hybrid approach:
167
+ - If common answers exist offer options + "Other" choice
168
+ - If truly open-ended (e.g., "describe your app idea") → ask directly, but follow up with option-based clarifications
121
169
 
122
- 2. **Route by answer**:
123
- - **"Produce a plan"** → Continue to Core Workflow. Set session goal = `produce`.
124
- - **"Just explore ideas"** → Enter **Exploration Mode**:
125
- - Run project conventions check first
126
- - Load `${SKILL_DIR}/references/brainstorm-guide.md` and follow its structured ideation process (Phases A-D)
127
- - Brainstorm Phase D output serves as the Vision Summary (CP-AP-2)
128
- - After brainstorm completes, ask: "Ideas are taking shape. Ready to hand off to `feature-planner` for feature decomposition, or continue refining?"
129
- - If ready → proceed to Phase 2 (constraints + frontend design check if applicable) then handoff
130
- - If not ready → continue exploring, or save draft to `.prizmkit/planning/` and exit
131
- - **Checkpoints in explore mode**: CP-AP-0 (required), CP-AP-1 (required), CP-AP-2 (from brainstorm output), CP-AP-3 (only if user proceeds to Phase 2), CP-AP-4 and CP-AP-5 (only if user transitions to produce mode)
170
+ ## Intent Confirmation (Mandatory First Step)
132
171
 
133
- 3. **Session goal tracking**: Track the intent (`produce` or `explore`) throughout the session. If `explore`, always re-prompt before ending.
172
+ After initial greeting, present options:
173
+
174
+ > Welcome to App Planner! What would you like to do?
175
+ >
176
+ > **[A] Produce a project plan** — define vision, tech stack, and constraints → generates project-brief.md for pipeline use (recommended)
177
+ > **[B] Explore ideas first** — brainstorm and refine ideas before committing to a plan
178
+ > **[C] Generate project context only** — for an existing project that needs a project brief without full planning
179
+
180
+ Route by answer:
181
+ - **A** → Continue to Core Workflow. Set session goal = `produce`.
182
+ - **B** → Enter **Exploration Mode**:
183
+ - Run project conventions check first
184
+ - Load `${SKILL_DIR}/references/brainstorm-guide.md` and follow its structured ideation process (Phases A-D)
185
+ - Brainstorm Phase D output serves as the Vision Summary (CP-AP-2)
186
+ - After brainstorm completes, present options:
187
+ > Ideas are taking shape. What's next?
188
+ >
189
+ > **[A] Proceed to feature decomposition** — hand off to feature-planner
190
+ > **[B] Continue refining** — keep brainstorming
191
+ > **[C] Save draft & exit** — save progress to .prizmkit/planning/
192
+ - **Checkpoints in explore mode**: CP-AP-0 (required), CP-AP-1 (required), CP-AP-2 (from brainstorm output), CP-AP-3 (only if user proceeds to Phase 2), CP-AP-4 and CP-AP-5 (only if user transitions to produce mode)
193
+ - **C** → Enter **Quick Context Mode** (brownfield only):
194
+ - Run Project State Detection → if greenfield, redirect to option A
195
+ - Proactively scan the project (same as brownfield behavior)
196
+ - Generate project-brief.md from inferred context
197
+ - Skip extensive brainstorming and constraint phases
198
+ - Present brief for user confirmation → write → done
199
+
200
+ Session goal tracking: Track the intent (`produce`, `explore`, or `quick_context`) throughout the session. If `explore`, always re-prompt before ending.
134
201
 
135
202
  ## Project State Detection (after Intent Confirmation)
136
203
 
@@ -153,6 +220,40 @@ Proceed with the standard Core Workflow — ask all questions from scratch.
153
220
 
154
221
  When an existing project is detected:
155
222
 
223
+ **Step 1: Prerequisite Check (Mandatory)**
224
+
225
+ Before ANY planning work, check if AI-essential project context files exist:
226
+
227
+ | File | Purpose | Status |
228
+ |------|---------|--------|
229
+ | `.prizm-docs/root.prizm` | Project architecture context for AI | exists / missing |
230
+ | `.prizmkit/config.json` | Tech stack + runtime config | exists / missing |
231
+ | `.prizmkit/plans/project-brief.md` | Product vision checklist | exists / missing |
232
+
233
+ **If ANY are missing**, present this recommendation:
234
+
235
+ > I detected this is an existing project, but some AI context files are missing:
236
+ >
237
+ > | File | Status |
238
+ > |------|--------|
239
+ > | `.prizm-docs/` | ❌ missing |
240
+ > | `.prizmkit/config.json` | ❌ missing |
241
+ > | `.prizmkit/plans/project-brief.md` | ❌ missing |
242
+ >
243
+ > These files help AI understand your project structure, tech stack, and goals — making planning much more effective.
244
+ >
245
+ > **[A] Run project init first** — invoke `prizmkit-init` to scan your codebase and generate these files, then return to planning (recommended)
246
+ > **[B] Continue without init** — I'll scan the project manually during this session (less thorough)
247
+ > **[C] I'll set these up later** — proceed with planning using only what's available
248
+
249
+ - **A** → Invoke `prizmkit-init`, then resume app-planner from where it left off
250
+ - **B** → Continue with Step 2 below (manual scan)
251
+ - **C** → Continue with Step 3, skip scanning
252
+
253
+ **Step 2: Proactive Project Scanning**
254
+
255
+ Do NOT ask the user to describe their project — read it yourself first:
256
+
156
257
  1. **Scan project structure** to understand the codebase layout:
157
258
  ```bash
158
259
  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'
@@ -166,19 +267,32 @@ When an existing project is detected:
166
267
  - `.prizmkit/config.json` → previously detected tech stack
167
268
  - `.prizm-docs/root.prizm` → existing architecture context
168
269
 
169
- 3. **Present inferred summary** to the user:
170
- > "I see this is a [framework] project using [language] with [key dependencies]. Here's what I inferred about the project: [summary]. Is this correct? Anything to add or change?"
270
+ 3. **Read key source files** (entry points, main routes, core models) to understand what the project actually does — don't rely solely on metadata.
271
+
272
+ **Step 3: Present inferred summary with confirmation options**
273
+
274
+ > Based on my analysis of your codebase:
275
+ >
276
+ > **Project**: [name] — [inferred description]
277
+ > **Tech Stack**: [framework] + [language] + [key dependencies]
278
+ > **Key Features Found**: [list 3-5 detected capabilities]
279
+ > **Architecture**: [e.g., monolithic, microservices, serverless]
280
+ >
281
+ > **[A] This looks correct** — proceed with planning
282
+ > **[B] Mostly correct, with changes** — I'll note corrections
283
+ > **[C] This is off** — let me describe the project
284
+
285
+ **Step 4: Pre-fill and focus**
171
286
 
172
- 4. **Pre-fill where possible** skip questions already answerable from the codebase:
173
- - Phase 2 tech stack selection largely pre-filled from dependencies
174
- - Vision/problem statementinferred from README or package description (user confirms)
175
- - Existing features → note them as `[x]` items in project brief
287
+ - Phase 2 tech stack selection largely pre-filled from dependencies
288
+ - Vision/problem statement inferred from README or package description (user confirms)
289
+ - Existing featuresnote them as `[x]` items in project brief
176
290
 
177
- 5. **Focus remaining questions** on what CANNOT be inferred:
178
- - Target users and core value proposition
179
- - Future direction and planned capabilities
180
- - Non-functional requirements (performance, scale, security)
181
- - Design direction (for frontend projects)
291
+ **Focus remaining questions** (as options where possible) on what CANNOT be inferred:
292
+ - Target users and core value proposition
293
+ - Future direction and planned capabilities
294
+ - Non-functional requirements (performance, scale, security)
295
+ - Design direction (for frontend projects)
182
296
 
183
297
  ## Core Workflow
184
298
 
@@ -186,11 +300,18 @@ Execute the planning workflow in conversation mode with mandatory checkpoints:
186
300
 
187
301
  ### Interactive Phases
188
302
  1. Clarify business goal and scope
189
- 1.1 Confirm deliverable intent (→ Intent Confirmation)
190
- 1.2 **Requirement clarification** — for ANY unclear aspect of the user's vision, goals, target users, or scope, ask questions one at a time until fully understood. No limit on rounds. Do not proceed to Phase 2 with unresolved ambiguities.
303
+ 1.1 Confirm deliverable intent (→ Intent Confirmation — option-based)
304
+ 1.2 **Requirement clarification** — for ANY unclear aspect of the user's vision, goals, target users, or scope, use option-based questions where possible. When common patterns exist, present them as choices. Only use open-ended questions for truly unique input (e.g., "describe your app idea"). Follow up with option-based clarifications.
191
305
  2. Confirm constraints and tech assumptions
192
- 2.1 Tech stack selection — use `${SKILL_DIR}/assets/app-design-guide.md` §2 decision matrix
193
- 2.2 **Frontend design check** (for frontend projects) — scan for existing UI/UX design docs. If none found, ask user if they want to establish design direction via `${SKILL_DIR}/references/frontend-design-guide.md`
306
+ 2.1 Tech stack selection — use `${SKILL_DIR}/assets/app-design-guide.md` §2 decision matrix. Present as options:
307
+ > **Frontend framework?**
308
+ > [A] Next.js (recommended) [B] Nuxt 3 [C] SvelteKit [D] Other
309
+ 2.2 **Frontend design check** (for frontend projects) — scan for existing UI/UX design docs. If none found, present options:
310
+ > No UI/UX design docs found. Would you like to:
311
+ >
312
+ > **[A] Establish design direction now** — guided questions about style, layout, color
313
+ > **[B] Skip for now** — decide during implementation
314
+ > **[C] I have external designs** — link or describe them
194
315
  3. Capture architecture decisions and finalize project brief
195
316
  4. Hand off to `feature-planner` for feature decomposition
196
317
 
@@ -236,16 +357,25 @@ Activate when ALL true:
236
357
 
237
358
  When the session appears to be ending:
238
359
  1. **Remind**: "You set out to produce a project plan but `.prizmkit/plans/project-brief.md` isn't complete yet."
239
- 2. **Offer 3 options**:
240
- - **(a) Continue to completion**
241
- - **(b) Save draft & exit** — write current progress as draft to `.prizmkit/planning/`
242
- - **(c) Abandon** — exit without saving
360
+ 2. **Present options**:
361
+ > **[A] Continue to completion** — finish the project brief
362
+ > **[B] Save draft & exit** — write current progress as draft to `.prizmkit/planning/`
363
+ > **[C] Abandon** — exit without saving
243
364
 
244
365
  ## Handoff to feature-planner
245
366
 
246
- After all checkpoints pass, present a summary and recommend next steps:
367
+ After all checkpoints pass, present a summary and offer next steps as options:
247
368
 
248
369
  1. **Summary**: List captured vision, tech stack, constraints, architecture decisions, and project brief status
249
- 2. **Primary recommendation**: Invoke `feature-planner` to decompose the application into features and generate `.prizmkit/plans/feature-list.json` (schema: `dev-pipeline-feature-list-v1`, uses `project_name` field for the app name)
250
- 3. **Alternative**: If the user wants to continue refining the vision or constraints, stay in app-planner
251
- 4. **Artifacts produced**: List files written (`.prizmkit/plans/project-brief.md`, project conventions and architecture decisions in `CLAUDE.md` / `CODEBUDDY.md`)
370
+ 2. **Present options**:
371
+ > Planning complete! Here's what was captured:
372
+ > - Tech stack: [summary]
373
+ > - Project brief: `.prizmkit/plans/project-brief.md` ([N] items)
374
+ > - Conventions: saved to `CLAUDE.md` / `CODEBUDDY.md`
375
+ >
376
+ > **What's next?**
377
+ >
378
+ > **[A] Proceed to feature decomposition** — invoke `feature-planner` to break down features into `.prizmkit/plans/feature-list.json` (recommended)
379
+ > **[B] Continue refining** — stay in app-planner to adjust vision or constraints
380
+ > **[C] Done for now** — exit with artifacts saved
381
+ 3. **Artifacts produced**: List files written (`.prizmkit/plans/project-brief.md`, project conventions and architecture decisions in `CLAUDE.md` / `CODEBUDDY.md`)
@@ -29,7 +29,7 @@ User says:
29
29
  ```
30
30
  feature-workflow <idea / requirements>
31
31
 
32
- ├── Phase 1: Brainstorm → deep interactive Q&A until requirements are crystal clear
32
+ ├── Phase 1: Brainstorm → collect materials parallel deep read discuss requirements
33
33
 
34
34
  ├── Phase 2: Plan → feature-planner → .prizmkit/plans/feature-list.json
35
35
 
@@ -42,7 +42,7 @@ feature-workflow <idea / requirements>
42
42
 
43
43
  | Phase | Action | Result |
44
44
  |-------|--------|--------|
45
- | 1 | **Brainstorm** — interactive Q&A with user | Fully clarified requirements document |
45
+ | 1 | **Brainstorm** — collect reference materials, parallel deep read code & docs, discuss requirements grounded in real context | Fully clarified requirements document |
46
46
  | 2 | Call `feature-planner` with clarified requirements | `.prizmkit/plans/feature-list.json` with N features |
47
47
  | 3 | Call `feature-pipeline-launcher` | Pipeline started (execution mode chosen by user via launcher) |
48
48
  | 4 | Monitor progress | Status updates, completion report |
@@ -100,7 +100,7 @@ When user says "add features to existing project" or the project already has fea
100
100
 
101
101
  ## Phase 1: Brainstorm — Deep Requirement Clarification
102
102
 
103
- **Goal**: Through interactive Q&A, transform the user's rough idea into fully clarified, implementation-ready requirements. This phase is the foundation for high-quality code generation — vague requirements produce vague code.
103
+ **Goal**: Through interactive Q&A and deep context reading, transform the user's rough idea into fully clarified, implementation-ready requirements. This phase is the foundation for high-quality code generation — vague requirements produce vague code.
104
104
 
105
105
  **CRITICAL RULE**: The number of questions is **unlimited**. Do NOT rush through this phase. Ask as many rounds as needed until every aspect is clear. The framework strives for perfect code generation, which requires perfect understanding of requirements.
106
106
 
@@ -111,25 +111,49 @@ Ask the user to describe what they want to build. Listen for:
111
111
  - **Who** uses it (user roles, personas)
112
112
  - **Why** it's needed (business value, problem being solved)
113
113
 
114
- ### Step 1.2: Context Gathering
114
+ ### Step 1.2: Collect Reference Materials
115
115
 
116
- Before asking detailed questions, gather existing project context:
117
- - If `.prizm-docs/root.prizm` exists → read it to understand existing architecture, tech stack, patterns
118
- - If `.prizmkit/config.json` exists → read tech stack preferences
119
- - If existing source code exists → scan directory structure:
120
- ```bash
121
- 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'
122
- ```
123
- - If database/schema files exist → scan them to understand existing data model:
124
- ```bash
125
- 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/*' -not -path '*/dist/*' -not -path '*/__pycache__/*' | head -20
126
- ```
116
+ **Ask the user explicitly** what resources they have. Do NOT skip this step — user-provided materials are far more valuable than blind directory scanning.
127
117
 
128
- This context informs better questions — e.g., if the project uses PostgreSQL + Prisma, ask about schema design in those terms.
118
+ Ask:
119
+ 1. **Existing code** — "Is there existing code I should look at? Which files or directories are relevant?"
120
+ 2. **Design documents** — "Do you have any design docs, wireframes, API specs, or PRDs I should read?"
121
+ 3. **Knowledge docs** — "Are there related `.prizm-docs/`, README files, or internal wiki pages?"
122
+ 4. **Reference projects** — "Any reference implementations or similar projects I should look at for inspiration?"
129
123
 
130
- ### Step 1.3: Adaptive Deep-Dive Questioning
124
+ Record everything the user provides — these become inputs for Step 1.3.
131
125
 
132
- Based on the user's description, ask questions across these dimensions. **Adapt question depth to the feature complexity** — a simple CRUD feature needs fewer questions than a real-time collaboration system.
126
+ ### Step 1.3: Parallel Deep Reading
127
+
128
+ **Goal**: Build comprehensive understanding of the project context before discussing detailed requirements. Spawn multiple agents in parallel to read all relevant materials simultaneously.
129
+
130
+ **Parallel reading tasks** (launch concurrently):
131
+
132
+ | Agent | What to read | Purpose |
133
+ |-------|-------------|---------|
134
+ | Agent A | User-provided code paths — read existing source files | Understand current architecture, patterns, conventions |
135
+ | Agent B | User-provided documents — design docs, specs, PRDs | Understand intended requirements and constraints |
136
+ | Agent C | `.prizm-docs/` — root.prizm, L1/L2 docs, TRAPS, RULES | Understand existing architecture knowledge and known pitfalls |
137
+ | Agent D | Database/schema files + `.prizmkit/config.json` | Understand data model and tech stack preferences |
138
+
139
+ **Also gather** (can be included in any agent's task):
140
+ - Directory structure of the project
141
+ - Existing test patterns and conventions
142
+ - Dependency relationships between existing modules
143
+
144
+ **After all agents complete**: Synthesize findings into a coherent understanding before proceeding to discussion.
145
+
146
+ ### Step 1.4: Discuss Requirements
147
+
148
+ **Now** — with deep knowledge of the actual codebase and documents — discuss the requirements with the user. This discussion is grounded in real context, not abstract questions.
149
+
150
+ Present what you learned from the parallel reading:
151
+ - Current project structure and patterns (with specific references)
152
+ - Existing data model and schema conventions
153
+ - Known TRAPS and pitfalls from `.prizm-docs/`
154
+ - Integration points with existing modules
155
+
156
+ Then ask targeted questions based on what you read. **Adapt question depth to the feature complexity** — a simple CRUD feature needs fewer questions than a real-time collaboration system.
133
157
 
134
158
  **Functional Requirements:**
135
159
  - What are the core user actions/workflows?
@@ -152,7 +176,7 @@ Based on the user's description, ask questions across these dimensions. **Adapt
152
176
  - Are there any specific UI/UX requirements?
153
177
 
154
178
  **Integration & Architecture:**
155
- - Does this feature depend on or affect other features/modules?
179
+ - "Based on the existing code, this feature would integrate with [modules]. Does that match your expectations?"
156
180
  - Any external APIs or services involved?
157
181
  - What authentication/authorization model applies?
158
182
  - Any real-time requirements (WebSocket, SSE, polling)?
@@ -167,14 +191,14 @@ Based on the user's description, ask questions across these dimensions. **Adapt
167
191
  - Scalability considerations?
168
192
  - Security requirements? (encryption, audit logs, compliance)
169
193
 
170
- ### Step 1.4: Iterative Clarification Loop
194
+ ### Step 1.5: Confirm and Supplement
171
195
 
172
- After the initial deep-dive:
196
+ After the discussion:
173
197
 
174
- 1. **Summarize** what you've understood so far — present it back to the user
175
- 2. **Identify gaps** explicitly list any areas that are still unclear or ambiguous
176
- 3. **Ask follow-up questions** for each gap
177
- 4. **Repeat** until the user confirms: "Yes, that covers everything" or "That's clear enough"
198
+ 1. **Summarize** the requirements — present it back to the user
199
+ 2. **Ask explicitly**: "Is there anything else you'd like to discuss or supplement before we proceed to formal planning?"
200
+ 3. **Identify gaps** — if any areas are still unclear, list them explicitly and ask follow-up questions
201
+ 4. **Repeat** until the user confirms: "That covers everything" or "Let's proceed"
178
202
 
179
203
  **Signs that brainstorming is complete:**
180
204
  - All functional requirements have concrete acceptance criteria
@@ -189,7 +213,7 @@ After the initial deep-dive:
189
213
  - Data relationships are unclear ("somehow connected")
190
214
  - User says "I'm not sure" — help them think through it with concrete options
191
215
 
192
- ### Step 1.5: Requirements Summary
216
+ ### Step 1.6: Requirements Summary
193
217
 
194
218
  Once brainstorming is complete, produce a structured requirements summary:
195
219
 
@@ -220,6 +244,9 @@ Once brainstorming is complete, produce a structured requirements summary:
220
244
  ### Non-Functional Requirements
221
245
  - [Requirement]
222
246
 
247
+ ### Reference Materials Reviewed
248
+ - [List of code paths, documents, .prizm-docs/ files that were read]
249
+
223
250
  ### Confirmed by user: ✓
224
251
  ```
225
252
 
@@ -389,14 +416,14 @@ While the pipeline runs, the user can continue the conversation:
389
416
 
390
417
  | Dimension | feature-workflow | bug-fix-workflow | refactor-workflow |
391
418
  |-----------|-----------------|------------------|-------------------|
392
- | **Purpose** | New features (batch) | Single bug fix (interactive) | Code restructuring |
393
- | **Brainstorming** | Yes — deep interactive Q&A | No (bug report is input) | No (analysis built-in) |
394
- | **Planning Skill** | `feature-planner` | None (triage built-in) | None (analysis built-in) |
395
- | **Branch** | Pipeline manages per-feature | `fix/<BUG_ID>-*` | `refactor/<slug>` |
396
- | **Execution** | Foreground or background daemon | In-session, interactive | In-session |
397
- | **Input** | Rough idea or requirements | Bug report / stack trace | Module / code target |
398
- | **Output** | Multiple `feat()` commits | Single `fix()` commit | Single `refactor()` commit |
399
- | **User verification** | Yes (Phase 1 brainstorm confirmation) | Yes (Phase 5) | Yes (Phase 5) |
419
+ | **Purpose** | New features (batch) | Single bug fix (interactive) | Code restructuring (batch) |
420
+ | **Brainstorming** | Yes — collect materials, parallel read, discuss | No (bug report is input) | Yes clarify type, collect materials, parallel read, discuss |
421
+ | **Planning Skill** | `feature-planner` | None (triage built-in) | `refactor-planner` |
422
+ | **Branch** | Pipeline manages per-feature | `fix/<BUG_ID>-*` | Pipeline manages per-refactor |
423
+ | **Execution** | Foreground or background daemon | In-session, interactive | Foreground or background daemon |
424
+ | **Input** | Rough idea or requirements | Bug report / stack trace | Rough refactoring idea or target |
425
+ | **Output** | Multiple `feat()` commits | Single `fix()` commit | Multiple `refactor()` commits |
426
+ | **Behavior Change** | Expected (new functionality) | Fix behavior | Forbidden (structure only) |
400
427
  | **Batch alternative** | (this is the batch flow) | `bug-planner` + `bugfix-pipeline-launcher` | (this is the batch flow) |
401
428
 
402
429
  ---
@@ -1,12 +1,8 @@
1
1
  # Structural Sync — Detailed Steps
2
2
 
3
- **1a.** Get changed files:
3
+ **1a.** Get changed files (staged + unstaged vs HEAD):
4
4
  ```bash
5
- git diff --cached --name-status
6
- ```
7
- If nothing staged, fallback:
8
- ```bash
9
- git diff --name-status
5
+ git diff HEAD --name-status
10
6
  ```
11
7
 
12
8
  **1b.** Read `.prizm-docs/root.prizm` to get MODULE_INDEX (or MODULE_GROUPS). Map each changed file to its module.
@@ -19,7 +15,7 @@ git diff --name-status
19
15
 
20
16
  **1d.** Update affected docs (bottom-up: L2 → L1 → L0):
21
17
 
22
- - **L2**: If L2 exists → update KEY_FILES, INTERFACES, DATA_FLOW, DEPENDENCIES, CHANGELOG, TRAPS, DECISIONS. If L2 does NOT exist AND the module has Added or Modified source files in the current diff with meaningful logic (not trivial config) → create L2 with these sections: MODULE, FILES, RESPONSIBILITY, INTERFACES, DATA_FLOW, KEY_FILES, DEPENDENCIES, RULES, TRAPS, DECISIONS, CHANGELOG. Populate from source.
18
+ - **L2**: If L2 exists → update **only the sections affected by the diff files in this module**. For example, if only `api.js` changed: update its KEY_FILES entry, its INTERFACES (if exports changed), its DEPENDENCIES (if imports changed). Do NOT re-scan unchanged files in the module. If L2 does NOT exist AND the module has Added or Modified source files in the current diff with meaningful logic (not trivial config) → create L2 with these sections: MODULE, FILES, RESPONSIBILITY, INTERFACES, DATA_FLOW, KEY_FILES, DEPENDENCIES, RULES, TRAPS, DECISIONS, CHANGELOG. Populate **only from the diff files** (the Added/Modified files in this module from step 1a), not from the entire module directory.
23
19
  - **L1**: Update FILES count, KEY_FILES (if major files added/removed), DEPENDENCIES (if module-level deps changed). **L1 does NOT contain INTERFACES, DATA_FLOW, TRAPS, or DECISIONS** — those belong in L2 only.
24
20
  - **L0 root.prizm**: Update MODULE_INDEX file counts only if counts changed. Update CROSS_CUTTING if cross-module concerns changed. Update only if structural change (module added/removed). **Preserve** any `PROJECT_BRIEF:` line — it is managed by prizmkit-init.
25
21
 
@@ -29,7 +29,7 @@ User says:
29
29
  ```
30
30
  refactor-workflow <target / goals>
31
31
 
32
- ├── Phase 1: Brainstorm → interactive Q&A until refactoring goals are clear
32
+ ├── Phase 1: Brainstorm → clarify type collect materials parallel deep read → discuss plan
33
33
 
34
34
  ├── Phase 2: Plan → refactor-planner → .prizmkit/plans/refactor-list.json
35
35
 
@@ -42,7 +42,7 @@ refactor-workflow <target / goals>
42
42
 
43
43
  | Phase | Action | Result |
44
44
  |-------|--------|--------|
45
- | 1 | **Brainstorm** — interactive Q&A with user | Fully clarified refactoring goals |
45
+ | 1 | **Brainstorm** — clarify type, collect reference materials, parallel deep read code & docs, discuss plan grounded in real code | Fully clarified refactoring goals |
46
46
  | 2 | Call `refactor-planner` with clarified goals | `.prizmkit/plans/refactor-list.json` with N refactor items |
47
47
  | 3 | Call `refactor-pipeline-launcher` | Pipeline started (execution mode chosen by user via launcher) |
48
48
  | 4 | Monitor progress | Status updates, completion report |
@@ -100,57 +100,85 @@ When user says "add more refactors" or the project already has a .prizmkit/plans
100
100
 
101
101
  ## Phase 1: Brainstorm — Deep Refactoring Goal Clarification
102
102
 
103
- **Goal**: Through interactive Q&A, transform the user's rough refactoring idea into fully clarified, implementation-ready refactoring goals. This phase is the foundation for safe, behavior-preserving code changes — vague goals produce risky refactors.
103
+ **Goal**: Through interactive Q&A and deep code reading, transform the user's rough refactoring idea into fully clarified, implementation-ready refactoring goals. This phase is the foundation for safe, behavior-preserving code changes — vague goals produce risky refactors.
104
104
 
105
105
  **CRITICAL RULE**: The number of questions is **unlimited**. Do NOT rush through this phase. Ask as many rounds as needed until every aspect is clear. Refactoring is inherently risky — thorough understanding prevents broken behavior.
106
106
 
107
- ### Step 1.1: Understand the User's Refactoring Goals
107
+ ### Step 1.1: Clarify Refactoring Type
108
108
 
109
- Ask the user to describe what they want to refactor. Listen for:
109
+ **First question** — ask the user to classify the refactoring approach:
110
+
111
+ | Type | Description | Example |
112
+ |------|-------------|---------|
113
+ | **Incremental** | Piece-by-piece restructuring, each step independently safe | "Gradually extract shared utilities over several PRs" |
114
+ | **Comprehensive** | Full rewrite of a module/area in one pass | "Rewrite the auth module with new architecture" |
115
+ | **Targeted** | Specific, focused change to a particular part | "Extract the validation logic from the controller" |
116
+
117
+ Then ask:
110
118
  - **What** code needs restructuring (modules, files, patterns)
111
119
  - **Why** it needs refactoring (tech debt, coupling, complexity, readability, performance structure)
112
120
  - **What outcome** they want (target architecture, desired structure, quality goals)
113
121
 
114
- ### Step 1.2: Context Gathering
122
+ ### Step 1.2: Collect Reference Materials
123
+
124
+ **Ask the user explicitly** what resources they have. Do NOT skip this step — user-provided materials are far more valuable than blind directory scanning.
125
+
126
+ Ask:
127
+ 1. **Code paths** — "Which files or directories are the main targets? Any specific files I should look at?"
128
+ 2. **Design documents** — "Do you have any design docs, architecture diagrams, or refactoring proposals I should read?"
129
+ 3. **Knowledge docs** — "Are there related `.prizm-docs/`, README files, or internal wiki pages for the target area?"
130
+ 4. **Related issues/PRs** — "Any related issues, PRs, or previous refactoring attempts I should be aware of?"
131
+
132
+ Record everything the user provides — these become inputs for Step 1.3.
133
+
134
+ ### Step 1.3: Parallel Deep Reading
135
+
136
+ **Goal**: Build comprehensive understanding of the target code and context before discussing plans. Spawn multiple agents in parallel to read all relevant materials simultaneously.
137
+
138
+ **Parallel reading tasks** (launch concurrently):
139
+
140
+ | Agent | What to read | Purpose |
141
+ |-------|-------------|---------|
142
+ | Agent A | User-provided code paths — read full source files | Understand current structure, interfaces, dependencies |
143
+ | Agent B | User-provided documents — design docs, proposals, wiki pages | Understand intended direction and constraints |
144
+ | Agent C | `.prizm-docs/` for affected modules — L1/L2 docs, TRAPS, RULES | Understand existing architecture knowledge and known pitfalls |
145
+ | Agent D | Test files for the target area — find and read existing tests | Understand current test coverage and behavior contracts |
146
+
147
+ **Also gather** (can be included in any agent's task):
148
+ - `.prizmkit/config.json` → tech stack preferences
149
+ - Directory structure of the target area
150
+ - Dependency relationships (imports/exports between target and other modules)
151
+
152
+ **After all agents complete**: Synthesize findings into a coherent understanding before proceeding to discussion.
115
153
 
116
- Before asking detailed questions, gather existing project context:
117
- - If `.prizm-docs/root.prizm` exists → read it to understand existing architecture, tech stack, patterns
118
- - If `.prizmkit/config.json` exists → read tech stack preferences
119
- - If existing source code exists → scan directory structure:
120
- ```bash
121
- 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'
122
- ```
123
- - Check test suite existence and coverage for the target area:
124
- ```bash
125
- find . -maxdepth 4 -type f \( -name "*.test.*" -o -name "*.spec.*" -o -name "test_*" -o -path "*/tests/*" -o -path "*/__tests__/*" \) -not -path '*/node_modules/*' -not -path '*/.git/*' | head -20
126
- ```
154
+ ### Step 1.4: Discuss Refactoring Plan
127
155
 
128
- This context informs better questions e.g., if the target module has no tests, the conversation must address test coverage before refactoring.
156
+ **Now** with deep knowledge of the actual code and documents discuss the refactoring plan with the user. This discussion is grounded in real code, not abstract questions.
129
157
 
130
- ### Step 1.3: Adaptive Deep-Dive Questioning
158
+ Present what you learned from the parallel reading:
159
+ - Current code structure and its problems (with specific file/function references)
160
+ - Existing test coverage status (which areas are safe, which are risky)
161
+ - Known TRAPS and pitfalls from `.prizm-docs/`
162
+ - Dependencies and potential impact on other modules
131
163
 
132
- Based on the user's description, ask questions across these dimensions. **Adapt question depth to the refactoring complexity** — a simple extract-method refactor needs fewer questions than a full module decomposition.
164
+ Then ask targeted questions based on what you read. **Adapt question depth to the refactoring complexity** — a simple extract-method refactor needs fewer questions than a full module decomposition.
133
165
 
134
166
  **Code Structure:**
135
- - What's wrong with the current structure? What specific pain points exist?
167
+ - "I see the current structure does X is the target state Y, or something different?"
136
168
  - What's the target state? What should the code look like after refactoring?
137
- - Are there specific code smells? (duplication, deep nesting, god classes, tight coupling)
138
- - What are the dependency relationships between the target and other modules?
169
+ - Are there specific code smells you've noticed? (duplication, deep nesting, god classes, tight coupling)
139
170
 
140
171
  **Scope:**
141
- - Which files/modules are in scope? Which are explicitly out of scope?
142
- - Is this a single-module refactor or does it span multiple modules?
143
- - Should the refactoring be incremental (piece by piece) or comprehensive?
172
+ - Based on the code I read, these modules are affected: [list]. Anything else in/out of scope?
173
+ - For incremental refactoring: what's the order of priority?
144
174
 
145
175
  **Behavior Preservation:**
146
- - What behavior must stay identical? Are there contracts/APIs that must not change?
147
- - What tests exist for the target area? Are they passing currently?
148
- - Are there integration tests or end-to-end tests that cover this area?
176
+ - "These public APIs/interfaces exist: [list]. Which must remain unchanged?"
177
+ - "I found these tests: [list]. Are they passing currently?"
149
178
  - Any undocumented behavior that callers depend on?
150
179
 
151
180
  **Risk Assessment:**
152
- - What could break? Are there fragile or undocumented areas?
153
- - Are there known gotchas or traps in this code? (check `.prizm-docs/` TRAPS)
181
+ - "I found these TRAPS in .prizm-docs/: [list]. Any other known gotchas?"
154
182
  - Does this code have external consumers (other teams, published APIs)?
155
183
  - Any concurrent development happening in the target area?
156
184
 
@@ -159,14 +187,14 @@ Based on the user's description, ask questions across these dimensions. **Adapt
159
187
  - Team coordination needed? (other developers working in the same area)
160
188
  - Deployment concerns? (feature flags, backward compatibility, migration)
161
189
 
162
- ### Step 1.4: Iterative Clarification Loop
190
+ ### Step 1.5: Confirm and Supplement
163
191
 
164
- After the initial deep-dive:
192
+ After the discussion:
165
193
 
166
- 1. **Summarize** what you've understood so far — present it back to the user
167
- 2. **Identify gaps** explicitly list any areas that are still unclear or ambiguous
168
- 3. **Ask follow-up questions** for each gap
169
- 4. **Repeat** until the user confirms: "Yes, that covers everything" or "That's clear enough"
194
+ 1. **Summarize** the refactoring plan — present it back to the user
195
+ 2. **Ask explicitly**: "Is there anything else you'd like to discuss or supplement before we proceed to formal planning?"
196
+ 3. **Identify gaps** — if any areas are still unclear, list them explicitly and ask follow-up questions
197
+ 4. **Repeat** until the user confirms: "That covers everything" or "Let's proceed"
170
198
 
171
199
  **Signs that brainstorming is complete:**
172
200
  - All refactoring goals have concrete target state descriptions
@@ -182,7 +210,7 @@ After the initial deep-dive:
182
210
  - Risk areas are handwaved ("it should be fine")
183
211
  - User says "I'm not sure" — help them think through it with concrete options
184
212
 
185
- ### Step 1.5: Requirements Summary
213
+ ### Step 1.6: Requirements Summary
186
214
 
187
215
  Once brainstorming is complete, produce a structured goals summary:
188
216
 
@@ -191,11 +219,13 @@ Once brainstorming is complete, produce a structured goals summary:
191
219
 
192
220
  ### Target: [Module/area name]
193
221
 
222
+ ### Refactoring Type: [Incremental / Comprehensive / Targeted]
223
+
194
224
  ### Refactoring Objectives
195
225
  - [Bullet list of what structural changes are needed and why]
196
226
 
197
227
  ### Current Problems
198
- - [What's wrong with the current structure]
228
+ - [What's wrong with the current structure — with specific code references]
199
229
 
200
230
  ### Target State
201
231
  - [What the code should look like after refactoring]
@@ -212,6 +242,9 @@ Once brainstorming is complete, produce a structured goals summary:
212
242
  ### Risk Assessment
213
243
  - [Risk]: [Mitigation strategy]
214
244
 
245
+ ### Reference Materials Reviewed
246
+ - [List of code paths, documents, .prizm-docs/ files that were read]
247
+
215
248
  ### Constraints
216
249
  - [Timeline, coordination, deployment concerns]
217
250
 
@@ -368,34 +401,7 @@ While the pipeline runs, the user can continue the conversation:
368
401
  | User wants to cancel mid-brainstorming | Save conversation context, offer to resume later |
369
402
  | Behavior regression detected during pipeline | Pipeline handles per-item — failed items are retried or reported |
370
403
 
371
- ---
372
-
373
- ## Relationship to Other Skills
374
-
375
- | Skill | Relationship |
376
- |-------|-------------|
377
- | `refactor-planner` | **Called by Phase 2** — generates .prizmkit/plans/refactor-list.json from clarified goals |
378
- | `refactor-pipeline-launcher` | **Called by Phase 3** — starts pipeline (handles execution mode selection) |
379
- | `feature-workflow` | **Alternative** — for new feature development |
380
- | `bug-fix-workflow` | **Alternative** — for bug fix workflows |
381
404
 
382
- ---
383
-
384
- ## Comparison with Alternative Workflows
385
-
386
- | Dimension | refactor-workflow | feature-workflow | bug-fix-workflow |
387
- |-----------|-------------------|-----------------|------------------|
388
- | **Purpose** | Code restructuring (batch) | New features (batch) | Single bug fix (interactive) |
389
- | **Brainstorming** | Yes — deep interactive Q&A on refactoring goals | Yes — deep interactive Q&A on requirements | No (bug report is input) |
390
- | **Planning Skill** | `refactor-planner` | `feature-planner` | None (triage built-in) |
391
- | **Branch** | Pipeline manages per-refactor | Pipeline manages per-feature | `fix/<BUG_ID>-*` |
392
- | **Execution** | Foreground or background daemon | Foreground or background daemon | In-session, interactive |
393
- | **Input** | Rough refactoring idea or target | Rough idea or requirements | Bug report / stack trace |
394
- | **Output** | Multiple `refactor()` commits | Multiple `feat()` commits | Single `fix()` commit |
395
- | **Behavior Change** | Forbidden (structure only) | Expected (new functionality) | Fix behavior |
396
- | **Batch alternative** | (this is the batch flow) | (this is the batch flow) | `bug-planner` + `bugfix-pipeline-launcher` |
397
-
398
- ---
399
405
 
400
406
  ## Output
401
407
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prizmkit",
3
- "version": "1.1.12",
3
+ "version": "1.1.14",
4
4
  "description": "Create a new PrizmKit-powered project with clean initialization — no framework dev files, just what you need.",
5
5
  "type": "module",
6
6
  "bin": {