prizmkit 1.1.130 → 1.1.131

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 (88) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/dev-pipeline/.env.example +1 -1
  3. package/bundled/dev-pipeline/prizmkit_runtime/checkpoint_state.py +445 -8
  4. package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +87 -66
  5. package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +53 -3
  6. package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +55 -25
  7. package/bundled/dev-pipeline/prizmkit_runtime/runner_status.py +4 -0
  8. package/bundled/dev-pipeline/prizmkit_runtime/runners.py +15 -1
  9. package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +396 -4
  10. package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +54 -1
  11. package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +54 -1
  12. package/bundled/dev-pipeline/scripts/prompt_framework.py +152 -1
  13. package/bundled/dev-pipeline/scripts/update-bug-status.py +53 -0
  14. package/bundled/dev-pipeline/scripts/update-checkpoint.py +294 -69
  15. package/bundled/dev-pipeline/scripts/update-feature-status.py +57 -0
  16. package/bundled/dev-pipeline/scripts/update-refactor-status.py +53 -0
  17. package/bundled/dev-pipeline/templates/bootstrap-prompt.md +2 -2
  18. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +20 -14
  19. package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +21 -4
  20. package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +18 -0
  21. package/bundled/dev-pipeline/templates/sections/bugfix-phase-diagnose-plan.md +1 -1
  22. package/bundled/dev-pipeline/templates/sections/bugfix-phase-review.md +5 -15
  23. package/bundled/dev-pipeline/templates/sections/bugfix-phase-test.md +21 -0
  24. package/bundled/dev-pipeline/templates/sections/checkpoint-system.md +10 -10
  25. package/bundled/dev-pipeline/templates/sections/headless-commit-authorization.md +16 -0
  26. package/bundled/dev-pipeline/templates/sections/phase-prizmkit-test.md +26 -23
  27. package/bundled/dev-pipeline/templates/sections/phase-review-full.md +12 -8
  28. package/bundled/dev-pipeline/templates/sections/refactor-phase-review.md +1 -1
  29. package/bundled/dev-pipeline/templates/sections/refactor-phase-test.md +21 -0
  30. package/bundled/dev-pipeline/tests/test_checkpoint_state.py +362 -3
  31. package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +310 -22
  32. package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +132 -0
  33. package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +91 -0
  34. package/bundled/dev-pipeline/tests/test_python_runner_parity.py +411 -18
  35. package/bundled/dev-pipeline/tests/test_unified_cli.py +3 -3
  36. package/bundled/skills/_metadata.json +62 -25
  37. package/bundled/skills/app-planner/SKILL.md +4 -3
  38. package/bundled/skills/bug-fix-workflow/SKILL.md +89 -180
  39. package/bundled/skills/bug-planner/SKILL.md +12 -27
  40. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +131 -220
  41. package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +36 -90
  42. package/bundled/skills/feature-pipeline-launcher/SKILL.md +129 -271
  43. package/bundled/skills/feature-pipeline-launcher/references/configuration.md +35 -76
  44. package/bundled/skills/feature-planner/SKILL.md +27 -22
  45. package/bundled/skills/feature-planner/assets/planning-guide.md +4 -4
  46. package/bundled/skills/feature-workflow/SKILL.md +94 -121
  47. package/bundled/skills/prizmkit/SKILL.md +130 -94
  48. package/bundled/skills/prizmkit/references/workflow-state-protocol.md +181 -0
  49. package/bundled/skills/prizmkit-code-review/SKILL.md +114 -84
  50. package/bundled/skills/prizmkit-code-review/references/review-report-template.md +1 -1
  51. package/bundled/skills/prizmkit-code-review/references/workflow-state-protocol.md +181 -0
  52. package/bundled/skills/prizmkit-committer/SKILL.md +131 -47
  53. package/bundled/skills/prizmkit-committer/references/workflow-state-protocol.md +181 -0
  54. package/bundled/skills/prizmkit-implement/SKILL.md +99 -73
  55. package/bundled/skills/prizmkit-implement/references/implementation-subagent-procedure.md +1 -1
  56. package/bundled/skills/prizmkit-implement/references/workflow-state-protocol.md +181 -0
  57. package/bundled/skills/prizmkit-init/SKILL.md +5 -5
  58. package/bundled/skills/prizmkit-plan/SKILL.md +132 -105
  59. package/bundled/skills/prizmkit-plan/references/workflow-state-protocol.md +181 -0
  60. package/bundled/skills/prizmkit-retrospective/SKILL.md +111 -53
  61. package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +7 -6
  62. package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +5 -4
  63. package/bundled/skills/prizmkit-retrospective/references/workflow-state-protocol.md +181 -0
  64. package/bundled/skills/prizmkit-test/SKILL.md +28 -6
  65. package/bundled/skills/prizmkit-test/references/examples.md +1 -1
  66. package/bundled/skills/prizmkit-test/references/test-report-template.md +1 -1
  67. package/bundled/skills/prizmkit-test/references/workflow-state-protocol.md +181 -0
  68. package/bundled/skills/prizmkit-workflow/SKILL.md +266 -0
  69. package/bundled/skills/prizmkit-workflow/references/workflow-state-protocol.md +181 -0
  70. package/bundled/skills/recovery-workflow/SKILL.md +62 -241
  71. package/bundled/skills/recovery-workflow/evals/evals.json +17 -33
  72. package/bundled/skills/recovery-workflow/references/detection.md +28 -52
  73. package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +105 -439
  74. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +136 -275
  75. package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +53 -88
  76. package/bundled/skills/refactor-planner/SKILL.md +12 -57
  77. package/bundled/skills/refactor-planner/references/behavior-preservation.md +111 -230
  78. package/bundled/skills/refactor-planner/references/error-recovery.md +37 -0
  79. package/bundled/skills/refactor-planner/references/planning-phases.md +11 -17
  80. package/bundled/skills/refactor-planner/scripts/validate-and-generate-refactor.py +1 -1
  81. package/bundled/skills/refactor-workflow/SKILL.md +98 -139
  82. package/bundled/templates/project-memory-template.md +4 -4
  83. package/package.json +1 -1
  84. package/src/index.js +4 -0
  85. package/src/prompts.js +10 -3
  86. package/src/scaffold.js +1 -1
  87. package/bundled/dev-pipeline/tests/test-deploy-safety.sh +0 -223
  88. package/bundled/skills/feature-pipeline-launcher/scripts/preflight-check.py +0 -462
@@ -5,7 +5,7 @@ description: "Plan, validate, and manage features for an existing project — ad
5
5
 
6
6
  # feature planner
7
7
 
8
- Plan deliverable features for dev-pipeline on existing projects:
8
+ Plan deliverable features for autonomous dev-pipeline execution on existing projects. This skill creates or updates planning artifacts only:
9
9
  - **New Feature Set**: create an initial .prizmkit/plans/feature-list.json for a project that has code but no plan yet
10
10
  - **Incremental Feature Planning**: append, adjust, or reprioritize features in an existing plan
11
11
 
@@ -31,7 +31,7 @@ The user chose this skill intentionally. Respect that choice.
31
31
 
32
32
  ## Scope Boundary (Hard Rule)
33
33
 
34
- **This skill is PLANNING ONLY.** You must NEVER:
34
+ **This skill is PLANNING ONLY.** It may create, append, reprioritize, validate, and review feature planning artifacts, but it must never implement source code or start execution. You must NEVER:
35
35
  - Create, modify, or delete source code files (*.js, *.ts, *.py, *.go, *.html, *.css, etc.)
36
36
  - Create project scaffolding, directories, or boilerplate
37
37
  - Run build/install/test commands (npm init, pip install, etc.)
@@ -45,7 +45,8 @@ The user chose this skill intentionally. Respect that choice.
45
45
  1. Present the summary and recommended next step (invoking `feature-pipeline-launcher` )
46
46
  2. **Ask the user explicitly** whether they want to proceed to execution
47
47
  3. If the user wants to adjust → continue refining `.prizmkit/plans/feature-list.json`
48
- 4. **NEVER auto-execute** the pipeline, launcher, or any implementation step
48
+ 4. **NEVER auto-execute** the pipeline, launcher, composite workflow, or any implementation step
49
+ 5. Return the validated list to the caller; only `feature-pipeline-launcher` prepares the runtime command
49
50
 
50
51
  ## User-Provided Content Priority (Hard Rule)
51
52
 
@@ -223,6 +224,26 @@ Actions:
223
224
  3. Append features with next sequential `F-NNN` IDs
224
225
  4. Preserve style/language/detail consistency with existing plan
225
226
 
227
+ ### Route C: Validate Existing Plan
228
+ Use when the user asks to check or validate an existing plan without adding or changing features.
229
+
230
+ Run:
231
+ ```bash
232
+ python3 ${SKILL_DIR}/scripts/validate-and-generate.py validate --input .prizmkit/plans/feature-list.json
233
+ ```
234
+
235
+ Report the script result. Do not enter generation, implementation, or launcher flows unless the user separately requests a plan change or command construction.
236
+
237
+ ### Route D: Summarize Existing Plan
238
+ Use when the user asks to list or summarize the existing feature plan without changing it.
239
+
240
+ Run:
241
+ ```bash
242
+ python3 ${SKILL_DIR}/scripts/validate-and-generate.py summary --input .prizmkit/plans/feature-list.json
243
+ ```
244
+
245
+ Return the generated summary and stop.
246
+
226
247
  ## Core Workflow
227
248
 
228
249
  Execute the planning workflow in conversation mode with mandatory checkpoints:
@@ -359,10 +380,7 @@ Key requirements:
359
380
  - English feature titles for stable slug generation
360
381
  - `browser_interaction` auto-generated for qualifying frontend features (with `tool` selection: `auto`/`playwright-cli`/`opencli`)
361
382
  - descriptions: minimum 15 words (error), recommended minimum 30/50/80/100+ for low/medium/high/critical (warning). No upper limit — more detail prevents AI guessing
362
- - `estimated_complexity` determines pipeline execution tier:
363
- - `low` / `medium` → **lite** (single agent, no subagents)
364
- - `high` → **standard** (Main-Agent review guardrails, 3-agent compatibility metadata)
365
- - `critical` → **full** (strongest Main-Agent review guardrails). Use for: architectural changes touching 10+ files, cross-module refactoring with API surface changes, or safety/security/data-loss risk
383
+ - `estimated_complexity` records implementation scope and verification risk for planning summaries, ordering, and downstream context. It does not select a fixed agent count or named review topology; every normal feature session receives the runtime's full guidance.
366
384
 
367
385
  **IMPORTANT: Do NOT hand-write the final JSON file.** Instead:
368
386
  1. Write a draft JSON to a temporary path (e.g., `.prizmkit/plans/feature-list.draft.json`)
@@ -374,22 +392,9 @@ The script fills in defaults (`$schema`, `created_at`, `created_by`), validates
374
392
 
375
393
  ## Local Generated-Plan Review Gate
376
394
 
377
- User requirement preserved verbatim: `there is a litter bug for prizm-code-review will to check git diff in working space and staged space , however the .prizmkit will be gitignored in most situation. so do you think the content should be change to inline a new reference file instead of use prizmkit-code-review`
378
-
379
- Run this gate **after** `.prizmkit/plans/feature-list.json` passes the validation/generate script and **before** the final handoff summary recommends `feature-pipeline-launcher`. This gate applies to full workflow and fast-path incremental planning when the current session generated, appended, or rewrote final feature planning content. For validate-only, summary-only, or draft-save flows with no new final planning content, report: `Local generated-plan review: not applicable — no new final planning content written.`
395
+ Run this gate after `.prizmkit/plans/feature-list.json` passes generation and validation, and before the final handoff. It applies whenever this session added or changed final feature entries. For validate-only, summary-only, or draft-save flows with no final content change, report that the gate is not applicable.
380
396
 
381
- 1. **Load the local reference**: read `${SKILL_DIR}/references/generated-plan-review.md` and follow it as the source of truth for this planner-output review loop.
382
- 2. **Read actual planning artifacts directly**: inspect `.prizmkit/plans/feature-list.json`, `.prizmkit/plans/feature-list.draft.json` when present, and any pre-session or in-memory draft snapshot. Do not rely on `git status`, `git diff`, or `git diff --cached`, because `.prizmkit` planning artifacts are often gitignored or untracked.
383
- 3. **Identify review scope**: compare by stable feature IDs and item fields against the pre-session list when one existed. Ignore root generator metadata such as `$schema`, `created_at`, and `created_by`. Review only newly added or changed feature entries; preserve unchanged historical entries except when needed to verify dependency references.
384
- 4. **Run the local checklist** from the reference: schema compatibility, dependency/DAG soundness, description completeness, headless execution readiness, acceptance criteria measurability, user-provided wording preservation, task-scoped `user_context` isolation, priority/complexity calibration, and browser interaction fields when applicable.
385
- 5. **Keep the review planning-only**: do NOT start `feature-pipeline-launcher`, do NOT run the dev-pipeline, do NOT run tests/builds/installs, and do NOT implement source-code changes.
386
- 6. **Apply accepted review fixes through the draft/source plan**: when a finding is accepted, update `.prizmkit/plans/feature-list.draft.json` or the in-memory draft representation first, then regenerate the final file with:
387
- ```bash
388
- python3 ${SKILL_DIR}/scripts/validate-and-generate.py generate --input .prizmkit/plans/feature-list.draft.json --output .prizmkit/plans/feature-list.json
389
- ```
390
- Do not hand-patch the final JSON as the source of truth; map final-output findings back to draft entries before regeneration.
391
- 7. **Revalidate after every accepted fix batch**: the generate script must pass again before the planner can proceed. If validation fails, fix the draft and rerun until pass.
392
- 8. **Report the gate outcome** in the final summary: include local generated-plan review verdict, reviewed feature IDs, accepted fixes (or "none"), and final validation result.
397
+ Read `${SKILL_DIR}/references/generated-plan-review.md` and follow it as the single source of truth. Review the actual draft and final artifacts directly because `.prizmkit` files may be gitignored. Keep the review planning-only, apply accepted findings to the draft/source representation, regenerate the final JSON, and require validation to pass again before reporting the review result.
393
398
 
394
399
  ## Testing Defaults (Phase 8)
395
400
 
@@ -120,10 +120,10 @@ Complexity is an execution-scope estimate, not a priority or importance signal.
120
120
 
121
121
  | Complexity | Concrete Indicators | Typical Scope | Pipeline Tier |
122
122
  |------------|---------------------|---------------|---------------|
123
- | low | 1 module/layer, 1-3 files, no public API/schema change, shallow dependencies, <=5 acceptance criteria, clear existing tests | 1-2 API endpoints, 1-2 pages, focused config or copy behavior | lite (1 agent) |
124
- | medium | 2-3 modules/layers, 3-6 files, bounded API/interface changes, moderate dependency depth, 4-8 acceptance criteria, standard test updates | 3-5 API endpoints, 2-4 pages, normal integration work | lite (1 agent) |
125
- | high | 3+ modules/layers plus public API/interface or schema impact, deep dependencies, weak test coverage, complex state, third-party integration risk, or 8+ acceptance criteria | 5+ API endpoints, complex interactions, cross-cutting behavior | standard (3 agents) |
126
- | critical | System-wide architecture, new infrastructure, 10+ files with multi-module API surface changes, safety/security/data-loss risk requiring strongest review and test gates | System-wide refactoring, new infrastructure + app logic | full (5 agents + critic) |
123
+ | low | 1 module/layer, 1-3 files, no public API/schema change, shallow dependencies, <=5 acceptance criteria, clear existing tests | 1-2 API endpoints, 1-2 pages, focused config or copy behavior | Full runtime guidance with a small expected change surface |
124
+ | medium | 2-3 modules/layers, 3-6 files, bounded API/interface changes, moderate dependency depth, 4-8 acceptance criteria, standard test updates | 3-5 API endpoints, 2-4 pages, normal integration work | Full runtime guidance with bounded cross-file verification |
125
+ | high | 3+ modules/layers plus public API/interface or schema impact, deep dependencies, weak test coverage, complex state, third-party integration risk, or 8+ acceptance criteria | 5+ API endpoints, complex interactions, cross-cutting behavior | Full runtime guidance with stronger risk context |
126
+ | critical | System-wide architecture, new infrastructure, 10+ files with multi-module API surface changes, safety/security/data-loss risk requiring strongest review and test gates | System-wide refactoring, new infrastructure + app logic | Full runtime guidance with safety-critical context and acceptance gates |
127
127
 
128
128
  ### Complexity Indicator Checklist
129
129
 
@@ -1,40 +1,57 @@
1
1
  ---
2
2
  name: "feature-workflow"
3
- description: "Thin L3 feature workflow router. Clarifies enough to choose Fast Path, Pipeline Path, existing-list launch, or greenfield app planning; hands deep feature planning to feature-planner, app-level planning to app-planner, and execution configuration to feature-pipeline-launcher. Use when the user wants to develop features from idea to code, add features to an existing project, batch implement features, run an existing feature list, or build a new app that should first go through app-planner. Trigger on: 'develop features', 'implement features', 'add feature', 'batch implement', 'one-stop development', 'build an app', 'build a new application', 'create a project', 'run feature list'."
3
+ description: "Thin feature scenario router. Clarifies enough to choose direct single-requirement guidance, feature planning, existing-list command construction, or greenfield app planning; hands deep feature planning to feature-planner, app-level planning to app-planner, and runtime command construction to feature-pipeline-launcher. It never starts coding or owns the requirement lifecycle."
4
4
  ---
5
5
 
6
6
  # Feature Workflow
7
7
 
8
- Thin L3 entry point for feature development. This skill routes the user to the right execution path, prepares a concise handoff brief, and avoids duplicating planner or launcher internals.
8
+ Classify a feature request, prepare a concise handoff brief, and route planned work without duplicating planner or launcher responsibilities.
9
9
 
10
10
  ## Responsibility Boundary
11
11
 
12
12
  This workflow owns:
13
- - Scenario recognition: Fast Path, Pipeline Path, greenfield app planning, or existing-list launch.
14
- - Lightweight triage: enough context to recommend a path, not full feature planning.
13
+ - Scenario recognition: direct single-requirement guidance, Pipeline Path, greenfield app planning, or existing-list command construction.
14
+ - Lightweight triage: enough context to recommend a route, not full feature planning.
15
15
  - User path selection through `AskUserQuestion`.
16
- - Prompt brief handoff to `app-planner`, `feature-planner`, `feature-pipeline-launcher`, or Fast Path L1 skills.
16
+ - Prompt brief handoff to `app-planner`, `feature-planner`, or `feature-pipeline-launcher`.
17
17
  - Continuation after `feature-planner` when the user entered through this workflow.
18
18
 
19
19
  This workflow does not own:
20
+ - Source-code implementation, build/test execution, code review, documentation sync, or commit execution.
20
21
  - Deep feature clarification, decomposition, dependency/DAG decisions, priority/complexity calibration, schema validation, or plan review gates — those belong to `feature-planner`.
21
- - Execution mode, runtime configuration, preflight, command assembly, status/log/stop/retry details — those belong to `feature-pipeline-launcher`.
22
+ - Runtime option selection, command construction, prerequisite checks, or status/log/stop/retry syntax — those belong to `feature-pipeline-launcher`.
22
23
  - App-level vision, tech stack, conventions, architecture decisions, or project brief — those belong to `app-planner`.
24
+ - The independent direct requirement lifecycle.
25
+
26
+ ## Execution Topology
27
+
28
+ The two entry paths are independent:
29
+
30
+ ```text
31
+ Direct single requirement:
32
+ User → prizmkit-workflow → atomic lifecycle skills
33
+
34
+ Planned feature execution:
35
+ User → feature-workflow → feature-planner → feature-pipeline-launcher → returned CLI command → runtime → atomic lifecycle skills
36
+ ```
37
+
38
+ If the user chooses the direct path, explain the independent entry and end this router. Do not invoke or monitor the direct workflow on the user's behalf.
23
39
 
24
40
  ## When to Use
25
41
 
26
42
  Use this workflow when the user wants a guided feature-development entry point:
27
- - Build, add, or implement features.
28
- - Decide whether a feature should be implemented now or planned for pipeline execution.
43
+ - Build, add, or plan features.
44
+ - Decide whether one focused requirement should use the independent direct path or planned runtime execution.
29
45
  - Batch implement multiple feature requests.
30
46
  - Continue from an existing `.prizmkit/plans/feature-list.json`.
31
- - Start from a greenfield app idea, where this workflow will route to `app-planner` first.
47
+ - Start from a greenfield app idea, where this workflow routes to `app-planner` first.
32
48
 
33
49
  Do not use this workflow when the user only wants:
50
+ - A direct single formal requirement lifecycle -> enter it independently.
34
51
  - App-level planning without feature execution intent -> use `app-planner`.
35
52
  - Feature list generation only -> use `feature-planner`.
36
- - Launch/status/logs/retry for an existing feature list -> use `feature-pipeline-launcher`.
37
- - Bug fixing -> use `bug-fix-workflow` or the bug pipeline skills.
53
+ - Runtime command construction for an existing feature list -> use `feature-pipeline-launcher`.
54
+ - Bug fixing -> use `bug-fix-workflow` or the bug planning skills.
38
55
  - Behavior-preserving restructuring -> use `refactor-workflow`.
39
56
 
40
57
  ## Route Overview
@@ -42,91 +59,67 @@ Do not use this workflow when the user only wants:
42
59
  | User situation | Route |
43
60
  |---|---|
44
61
  | Greenfield app, new application, create project | `app-planner` first; then optionally `feature-planner` |
45
- | Existing project, simple scoped feature | Fast Path in current workspace |
62
+ | Existing project, one confirmed formal requirement | Explain the independent Direct Path and end this router |
46
63
  | Existing project, complex or batch features | `feature-planner` -> return here -> `feature-pipeline-launcher` |
47
- | User explicitly says to run an existing feature list | `feature-pipeline-launcher` |
48
- | Feature list exists but the user did not explicitly ask to run it | Ask launch / inspect / update |
64
+ | User explicitly asks for a command for an existing feature list | `feature-pipeline-launcher` |
65
+ | Feature list exists but execution intent is unclear | Ask construct command / inspect / update |
49
66
 
50
67
  ## Route Selection
51
68
 
52
69
  ### Step 1: Detect the entry mode
53
70
 
54
71
  Classify the user's request before asking detailed feature questions:
72
+ - **Greenfield app**: asks to build a new app, create a project, start from scratch, or choose app-level architecture/stack/conventions.
73
+ - **Existing list command**: explicitly asks to run, start, resume, check, retry, or stop `.prizmkit/plans/feature-list.json`.
74
+ - **Existing project feature work**: asks to add or plan features in a project with source code or project context.
75
+ - **Unclear**: mixes app design, feature planning, and direct execution intent.
55
76
 
56
- - **Greenfield app**: the user says “build a new app”, “create a project”, “start from scratch”, or asks for app-level architecture/tech stack/conventions.
57
- - **Existing list launch**: the user explicitly asks to run, start, resume, check, retry, or stop `.prizmkit/plans/feature-list.json`.
58
- - **Existing project feature work**: the user asks to add or implement features in a project that already has source code or project context.
59
- - **Unclear**: the user mixes app design, feature planning, and implementation intent.
60
-
61
- If the request is unclear, ask one concise clarification question before route selection.
77
+ If unclear, ask one concise clarification question before route selection.
62
78
 
63
- ### Step 2: Lightweight triage for existing-project feature work
79
+ ### Step 2: Lightweight triage
64
80
 
65
- Use lightweight criteria only. Do not perform full feature decomposition here.
81
+ A Direct Path candidate is one confirmed, localized formal requirement with no batch decomposition or dependency ordering. This classification only identifies that the user should leave this router and use the independent direct entry.
66
82
 
67
- Fast Path candidate when all are true:
68
- - One scoped feature or a very small set of tightly related changes.
69
- - Expected work is localized and follows existing patterns.
70
- - No app-level architecture, new infrastructure, or broad dependency ordering is needed.
71
- - Acceptance intent is clear enough for `/prizmkit-plan` to create a spec and plan.
72
-
73
- Pipeline Path candidate when any are true:
74
- - Multiple independent features or a batch implementation request.
83
+ A Pipeline Path candidate has one or more of these signals:
84
+ - Multiple independent features or a batch request.
75
85
  - Cross-module or multi-layer impact.
76
- - New data model, API design, infrastructure, external service, or dependency ordering is likely.
77
- - The user wants autonomous/background execution.
78
- - The request needs `feature-planner` to clarify, split, validate, and review feature entries.
86
+ - New data model, API design, infrastructure, external service, or dependency ordering.
87
+ - Autonomous/background execution intent.
88
+ - A need for `feature-planner` to clarify, split, validate, and review feature entries.
89
+
90
+ Do not perform full decomposition here.
79
91
 
80
92
  ### Step 3: Ask for path selection
81
93
 
82
94
  Use `AskUserQuestion`; do not render path options as plain text.
83
95
 
84
- For existing-project feature work:
85
-
86
96
  ```text
87
97
  Question: How would you like to proceed?
88
98
  Header: Approach
89
99
  Options:
90
- - Implement now (Fast Path)current session/current workspace via simplified /prizmkit-plan -> /prizmkit-implement -> conditional test/review/retro -> /prizmkit-committer
91
- - Use Pipeline Path — feature-planner creates/reviews feature-list.json, then feature-pipeline-launcher configures execution
100
+ - Use Direct Path — leave this router and invoke the direct single-requirement workflow independently
101
+ - Use Pipeline Path — feature-planner creates/reviews feature-list.json, then feature-pipeline-launcher constructs the runtime command
92
102
  - Continue clarifying — ask a few more route-level questions before choosing
93
103
  ```
94
104
 
95
- For greenfield app work:
105
+ For greenfield work, offer `Start app-planner (Recommended)`, `Feature-plan anyway`, or `Continue clarifying`.
96
106
 
97
- ```text
98
- Question: This looks like app-level planning before feature decomposition. How would you like to proceed?
99
- Header: App plan
100
- Options:
101
- - Start app-planner (Recommended) capture vision, tech stack, conventions, architecture decisions, and project brief first
102
- - Feature-plan anyway — continue only if the user confirms they already have app-level context
103
- - Continue clarifying — resolve whether this is app planning or feature planning
104
- ```
107
+ For an auto-discovered list, offer:
108
+ - Construct command for existing list hand off to `feature-pipeline-launcher`.
109
+ - Inspect summary first — show feature count/status, then ask again.
110
+ - Update/re-plan — hand off to `feature-planner` in incremental mode.
111
+ - Ignore and plan the new request.
105
112
 
106
- For an auto-discovered existing feature list:
107
-
108
- ```text
109
- Question: Existing feature-list.json found. What should we do with it?
110
- Header: Feature list
111
- Options:
112
- - Launch existing list — hand off to feature-pipeline-launcher
113
- - Inspect summary first — show feature count/status, then ask again
114
- - Update/re-plan — hand off to feature-planner in incremental mode
115
- - Ignore and start fresh — continue route selection from the new request
116
- ```
117
-
118
- If the user explicitly asked to run an existing list, that explicit request counts as path selection; hand off directly to `feature-pipeline-launcher`.
113
+ An explicit request for an existing-list command counts as path selection; hand off directly to `feature-pipeline-launcher`.
119
114
 
120
115
  ## Workflow Handoff Brief
121
116
 
122
- When handing off, include this prompt brief in the next skill invocation. Do not write the brief to disk.
117
+ When handing off to a planner or launcher, include this prompt brief in the invocation. Do not write it to disk.
123
118
 
124
119
  ```markdown
125
- ## Workflow Handoff Brief
126
-
127
120
  ### Source
128
121
  - workflow: feature-workflow
129
- - selected_path: fast_path | pipeline_path | existing_list_launch | app_planning_first
122
+ - selected_path: pipeline_path | existing_list_command | app_planning_first
130
123
 
131
124
  ### User Goal
132
125
  - original_request: <preserve the user's wording>
@@ -146,97 +139,77 @@ When handing off, include this prompt brief in the next skill invocation. Do not
146
139
  - user_confirmed: yes
147
140
 
148
141
  ### Next Skill Instruction
149
- - For planner: Use this brief as input; perform your own required clarification, validation, generation, and review gate.
150
- - For Fast Path: Use this brief to create spec.md/plan.md and implement only this scope.
142
+ - Planner: perform required clarification, validation, generation, and planner-local review; return the validated artifact without starting execution.
143
+ - Launcher: own runtime configuration and command construction; do not re-plan the list or execute the command.
151
144
  ```
152
145
 
146
+ The direct path has no planner/launcher handoff brief. Preserve the original user request in the exit guidance so the user can enter the direct workflow without losing intent.
147
+
153
148
  ## Selected Path Execution
154
149
 
155
- ### Greenfield app path
150
+ ### Greenfield app planning
156
151
 
157
152
  1. Invoke `app-planner` with the handoff brief.
158
- 2. Let `app-planner` capture app-level context and produce its planning artifacts.
159
- 3. After `app-planner` completes, ask whether the user wants to decompose the app into executable features.
160
- 4. If yes, invoke `feature-planner` with the app-planner output and the original brief.
161
- 5. When `feature-planner` finishes and the user entered through this workflow, continue to the Pipeline Launch handoff.
162
-
163
- Do not generate `feature-list.json` inside this workflow; `feature-planner` owns that output.
164
-
165
- ### Fast Path
153
+ 2. Let it produce application-planning artifacts only.
154
+ 3. After completion, ask whether to decompose the app into features.
155
+ 4. If yes, invoke `feature-planner`.
156
+ 5. After a validated feature list returns, ask whether to construct the runtime command.
166
157
 
167
- Use Fast Path only after explicit user selection.
158
+ ### Direct Path guidance
168
159
 
169
- 1. Invoke `/prizmkit-plan` with the handoff brief; use simplified planning for this scoped feature.
170
- 2. Invoke `/prizmkit-implement` after the plan is ready.
171
- 3. Run `/prizmkit-test` only when risk triggers match: behavior, public interface, data model, security/permission/payment, deployment readiness, or explicit user verification request.
172
- 4. Run `/prizmkit-code-review` when the user requested review, implementation uncertainty is high, or Full-path-level risk appears during implementation.
173
- 5. Run `/prizmkit-retrospective` only when structure, interfaces, dependencies, behavior, or durable project knowledge changed.
174
- 6. Run `/prizmkit-committer` with a `feat(<scope>):` message.
175
- 7. End the workflow after commit; do not call `feature-planner`, `feature-pipeline-launcher`, or monitoring.
160
+ 1. Confirm that the request is one formal requirement.
161
+ 2. Explain the independent direct topology in §Execution Topology.
162
+ 3. Preserve the original request in one concise next-entry instruction.
163
+ 4. End `feature-workflow`. Do not start coding, invoke lifecycle skills, monitor the direct workflow, or reclaim control after it begins.
176
164
 
177
- If implementation scope grows beyond the Fast Path criteria, pause and ask whether to switch to Pipeline Path.
165
+ If the request grows beyond one requirement, remain in this router and ask whether to use Pipeline Path.
178
166
 
179
167
  ### Planner handoff — Pipeline Path
180
168
 
181
169
  1. Invoke `feature-planner` with the handoff brief.
182
- 2. `feature-planner` performs deep clarification, decomposition, validation, and plan review.
183
- 3. After `feature-planner` reports a validated `.prizmkit/plans/feature-list.json`, show a concise summary: item count, major dependencies, and review/validation outcome.
184
- 4. Ask whether to proceed to launch.
185
- 5. **Launcher handoff**: if yes, invoke `feature-pipeline-launcher`.
170
+ 2. The planner owns deep clarification, decomposition, validation, and plan review.
171
+ 3. After it returns a validated `.prizmkit/plans/feature-list.json`, show item count, major dependencies, and review/validation outcome.
172
+ 4. Ask whether to construct the runtime command.
173
+ 5. If yes, invoke `feature-pipeline-launcher`.
186
174
 
187
- Do not duplicate launcher execution-mode or configuration questions in this workflow; the launcher owns them.
175
+ Do not duplicate launcher configuration questions in this workflow.
188
176
 
189
- ### Existing list launch
177
+ ### Existing list command
190
178
 
191
- If the user explicitly requested launch/status/logs/retry/stop for an existing feature list, invoke `feature-pipeline-launcher` with the user's intent and list path.
192
-
193
- If this workflow discovered the list on its own, use the `Existing feature-list.json found` question in §Route Selection before invoking the launcher.
179
+ Route explicit run/status/logs/retry/stop command requests to `feature-pipeline-launcher`. For an auto-discovered list, first ask construct command / inspect / update.
194
180
 
195
181
  ## Resume Guidance
196
182
 
197
183
  | State found | Action |
198
184
  |---|---|
199
- | Fast Path `spec.md` / `plan.md` exists | Ask whether to continue current-workspace implementation or re-plan |
200
- | Valid `.prizmkit/plans/feature-list.json` exists and user wants execution | Invoke `feature-pipeline-launcher` |
201
- | Valid feature list exists but intent is unclear | Ask launch / inspect / update |
202
- | No plan/list artifacts | Start route selection |
203
-
204
- For interrupted autonomous pipeline sessions, prefer `feature-pipeline-launcher` status/retry operations or `recovery-workflow` when the user explicitly asks to recover a broken AI session.
205
-
206
- ## Runtime Status Reference
207
-
208
- This workflow does not assemble runtime commands, but it may show lightweight status before handoff or recovery. Use the canonical Python runtime forms:
209
-
210
- ```bash
211
- python3 ./.prizmkit/dev-pipeline/cli.py daemon feature status
212
- python3 ./.prizmkit/dev-pipeline/cli.py feature status .prizmkit/plans/feature-list.json
213
- ```
214
-
215
- For start/stop/logs/retry execution, hand off to `feature-pipeline-launcher`; do not duplicate launcher configuration here.
185
+ | Direct workflow state exists | Exit this router and tell the user to resume its recorded requirement workflow |
186
+ | Valid `.prizmkit/plans/feature-list.json` exists and a runtime command is requested | Invoke `feature-pipeline-launcher` |
187
+ | Valid feature list exists but intent is unclear | Ask construct command / inspect / update |
188
+ | Interrupted feature task branch exists | Route to `recovery-workflow` for the exact continuation command |
189
+ | No planning artifacts | Start route selection |
216
190
 
217
191
  ## Error Handling
218
192
 
219
193
  | Situation | Action |
220
194
  |---|---|
221
- | Request is app-level, not feature-level | Route to `app-planner` |
222
- | User wants planning only | Route to `feature-planner` and stop after planner summary |
223
- | User wants execution only | Route to `feature-pipeline-launcher` |
224
- | Fast Path becomes complex | Pause and ask whether to switch to Pipeline Path |
225
- | Planner cannot proceed without more detail | Let `feature-planner` ask its own clarification questions |
226
- | Launcher finds preflight/config issues | Let `feature-pipeline-launcher` handle config and confirmation |
195
+ | Request is app-level | Route to `app-planner` |
196
+ | User wants planning only | Route to `feature-planner` and stop after its summary |
197
+ | User wants an existing-list command | Route to `feature-pipeline-launcher` |
198
+ | Direct candidate becomes a batch | Keep control here and offer Pipeline Path |
199
+ | Planner needs more detail | Let `feature-planner` ask its own questions |
200
+ | Launcher finds configuration issues | Let `feature-pipeline-launcher` own remediation and command reconstruction |
227
201
 
228
202
  ## Handoff Map
229
203
 
230
204
  | From | To | Condition |
231
205
  |---|---|---|
232
206
  | `feature-workflow` | `app-planner` | Greenfield or app-level planning is required |
233
- | `feature-workflow` | `/prizmkit-plan` | User selects Fast Path |
234
207
  | `feature-workflow` | `feature-planner` | User selects Pipeline Path |
235
- | `feature-planner` | `feature-workflow` | Planner completed from workflow-origin Pipeline Path |
236
- | `feature-workflow` | `feature-pipeline-launcher` | User confirms launch after planner completion or explicitly requests existing-list execution |
208
+ | `feature-planner` | `feature-workflow` | Planning completed from this workflow's Pipeline Path |
209
+ | `feature-workflow` | `feature-pipeline-launcher` | User requests command construction or an existing-list operation |
237
210
 
238
211
  ## Output
239
212
 
240
- - Fast Path: concise `spec.md`, simplified `plan.md`, code changes, conditional test/review evidence when triggered, Prizm docs sync only when durable knowledge changed, and one feature commit.
241
- - Pipeline Path: handoff brief, validated `.prizmkit/plans/feature-list.json` from `feature-planner`, and pipeline launch/status handled by `feature-pipeline-launcher`.
242
- - Greenfield path: app-level planning artifacts from `app-planner`, optionally followed by feature planning and launch.
213
+ - Direct guidance: independent direct-entry topology and preserved requirement text; no implementation result.
214
+ - Pipeline Path: handoff brief, validated `.prizmkit/plans/feature-list.json`, and a command returned by `feature-pipeline-launcher`.
215
+ - Greenfield path: application-level planning artifacts, optionally followed by feature planning and command construction.