prizmkit 1.1.130 → 1.1.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/VERSION.json +3 -3
- package/bundled/adapters/claude/command-adapter.js +0 -2
- package/bundled/dev-pipeline/.env.example +1 -1
- package/bundled/dev-pipeline/assets/skill-subagent-integration.md +11 -6
- package/bundled/dev-pipeline/prizmkit_runtime/checkpoint_state.py +445 -8
- package/bundled/dev-pipeline/prizmkit_runtime/gitops.py +2 -9
- package/bundled/dev-pipeline/prizmkit_runtime/processes.py +21 -1
- package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +87 -66
- package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +53 -3
- package/bundled/dev-pipeline/prizmkit_runtime/runner_recovery.py +55 -25
- package/bundled/dev-pipeline/prizmkit_runtime/runner_status.py +4 -0
- package/bundled/dev-pipeline/prizmkit_runtime/runners.py +119 -18
- package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +3 -2
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +411 -17
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +57 -14
- package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +5 -4
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +55 -2
- package/bundled/dev-pipeline/scripts/prompt_framework.py +152 -1
- package/bundled/dev-pipeline/scripts/update-bug-status.py +53 -0
- package/bundled/dev-pipeline/scripts/update-checkpoint.py +294 -69
- package/bundled/dev-pipeline/scripts/update-feature-status.py +57 -0
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +53 -0
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +5 -5
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +28 -22
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +24 -10
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +20 -2
- package/bundled/dev-pipeline/templates/sections/bugfix-phase-commit-report.md +2 -2
- package/bundled/dev-pipeline/templates/sections/bugfix-phase-diagnose-plan.md +1 -1
- package/bundled/dev-pipeline/templates/sections/bugfix-phase-manual-verification.md +5 -10
- package/bundled/dev-pipeline/templates/sections/bugfix-phase-review.md +9 -19
- package/bundled/dev-pipeline/templates/sections/bugfix-phase-test.md +21 -0
- package/bundled/dev-pipeline/templates/sections/bugfix-session-status.md +1 -1
- package/bundled/dev-pipeline/templates/sections/checkpoint-system.md +10 -10
- package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +1 -1
- package/bundled/dev-pipeline/templates/sections/headless-commit-authorization.md +15 -0
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase-prizmkit-test.md +26 -23
- package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +5 -5
- package/bundled/dev-pipeline/templates/sections/phase-review-full.md +15 -11
- package/bundled/dev-pipeline/templates/sections/refactor-phase-commit-report.md +1 -1
- package/bundled/dev-pipeline/templates/sections/refactor-phase-review.md +6 -6
- package/bundled/dev-pipeline/templates/sections/refactor-phase-test.md +21 -0
- package/bundled/dev-pipeline/templates/sections/refactor-reminders.md +1 -1
- package/bundled/dev-pipeline/templates/sections/subagent-timeout-recovery.md +1 -1
- package/bundled/dev-pipeline/templates/sections/task-contract.md +4 -0
- package/bundled/dev-pipeline/tests/test_checkpoint_state.py +362 -3
- package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +349 -48
- package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +129 -0
- package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +91 -0
- package/bundled/dev-pipeline/tests/test_python_runner_parity.py +567 -23
- package/bundled/dev-pipeline/tests/test_unified_cli.py +37 -10
- package/bundled/skills/_metadata.json +63 -26
- package/bundled/skills/app-planner/SKILL.md +4 -3
- package/bundled/skills/bug-fix-workflow/SKILL.md +89 -180
- package/bundled/skills/bug-planner/SKILL.md +12 -27
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +131 -220
- package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +36 -90
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +129 -271
- package/bundled/skills/feature-pipeline-launcher/references/configuration.md +35 -76
- package/bundled/skills/feature-planner/SKILL.md +27 -22
- package/bundled/skills/feature-planner/assets/planning-guide.md +4 -4
- package/bundled/skills/feature-workflow/SKILL.md +94 -121
- package/bundled/skills/prizmkit/SKILL.md +130 -94
- package/bundled/skills/prizmkit/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-code-review/SKILL.md +132 -86
- package/bundled/skills/prizmkit-code-review/references/independent-code-review.md +243 -0
- package/bundled/skills/prizmkit-code-review/references/review-report-template.md +42 -1
- package/bundled/skills/prizmkit-code-review/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-code-review/scripts/render_review_report.py +93 -1
- package/bundled/skills/prizmkit-committer/SKILL.md +125 -48
- package/bundled/skills/prizmkit-committer/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-implement/SKILL.md +99 -73
- package/bundled/skills/prizmkit-implement/references/implementation-subagent-procedure.md +1 -1
- package/bundled/skills/prizmkit-implement/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-init/SKILL.md +5 -5
- package/bundled/skills/prizmkit-plan/SKILL.md +146 -105
- package/bundled/skills/prizmkit-plan/assets/plan-template.md +18 -0
- package/bundled/skills/prizmkit-plan/references/independent-plan-review.md +242 -0
- package/bundled/skills/prizmkit-plan/references/review-plan-spec-loop.md +4 -4
- package/bundled/skills/prizmkit-plan/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-retrospective/SKILL.md +111 -53
- package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +7 -6
- package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +5 -4
- package/bundled/skills/prizmkit-retrospective/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-test/SKILL.md +52 -6
- package/bundled/skills/prizmkit-test/assets/authoritative-records.schema.json +63 -12
- package/bundled/skills/prizmkit-test/assets/evidence-manifest.schema.json +1 -1
- package/bundled/skills/prizmkit-test/assets/evidence-package-template.json +13 -0
- package/bundled/skills/prizmkit-test/references/evidence-protocol.md +6 -1
- package/bundled/skills/prizmkit-test/references/evidence-request-protocol.md +8 -1
- package/bundled/skills/prizmkit-test/references/examples.md +1 -1
- package/bundled/skills/prizmkit-test/references/test-generation-steps.md +4 -1
- package/bundled/skills/prizmkit-test/references/test-report-template.md +1 -1
- package/bundled/skills/prizmkit-test/references/trusted-evidence-execution.md +15 -0
- package/bundled/skills/prizmkit-test/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/prizmkit-test/scripts/build_test_evidence.py +744 -23
- package/bundled/skills/prizmkit-test/scripts/validate_test_evidence.py +194 -15
- package/bundled/skills/prizmkit-workflow/SKILL.md +266 -0
- package/bundled/skills/prizmkit-workflow/references/workflow-state-protocol.md +181 -0
- package/bundled/skills/recovery-workflow/SKILL.md +62 -241
- package/bundled/skills/recovery-workflow/evals/evals.json +17 -33
- package/bundled/skills/recovery-workflow/references/detection.md +28 -52
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +105 -439
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +136 -275
- package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +53 -88
- package/bundled/skills/refactor-planner/SKILL.md +12 -57
- package/bundled/skills/refactor-planner/references/behavior-preservation.md +111 -230
- package/bundled/skills/refactor-planner/references/error-recovery.md +37 -0
- package/bundled/skills/refactor-planner/references/planning-phases.md +11 -17
- package/bundled/skills/refactor-planner/scripts/validate-and-generate-refactor.py +1 -1
- package/bundled/skills/refactor-workflow/SKILL.md +98 -139
- package/bundled/templates/project-memory-template.md +4 -4
- package/package.json +1 -1
- package/src/index.js +4 -0
- package/src/prompts.js +10 -3
- package/src/scaffold.js +1 -1
- package/bundled/dev-pipeline/tests/test-deploy-safety.sh +0 -223
- 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`
|
|
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
|
-
|
|
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
|
-
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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
|
|
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
|
-
|
|
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:
|
|
14
|
-
- Lightweight triage: enough context to recommend a
|
|
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
|
|
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
|
-
-
|
|
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
|
|
28
|
-
- Decide whether
|
|
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
|
|
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
|
-
-
|
|
37
|
-
- Bug fixing -> use `bug-fix-workflow` or the bug
|
|
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,
|
|
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
|
|
48
|
-
| Feature list exists but
|
|
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
|
-
|
|
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
|
|
79
|
+
### Step 2: Lightweight triage
|
|
64
80
|
|
|
65
|
-
|
|
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
|
-
|
|
68
|
-
-
|
|
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
|
|
77
|
-
-
|
|
78
|
-
-
|
|
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
|
-
-
|
|
91
|
-
- Use Pipeline Path — feature-planner creates/reviews feature-list.json, then feature-pipeline-launcher
|
|
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
|
|
105
|
+
For greenfield work, offer `Start app-planner (Recommended)`, `Feature-plan anyway`, or `Continue clarifying`.
|
|
96
106
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
-
-
|
|
150
|
-
-
|
|
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
|
|
150
|
+
### Greenfield app planning
|
|
156
151
|
|
|
157
152
|
1. Invoke `app-planner` with the handoff brief.
|
|
158
|
-
2. Let
|
|
159
|
-
3. After
|
|
160
|
-
4. If yes, invoke `feature-planner
|
|
161
|
-
5.
|
|
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
|
-
|
|
158
|
+
### Direct Path guidance
|
|
168
159
|
|
|
169
|
-
1.
|
|
170
|
-
2.
|
|
171
|
-
3.
|
|
172
|
-
4.
|
|
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
|
|
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.
|
|
183
|
-
3. After
|
|
184
|
-
4. Ask whether to
|
|
185
|
-
5.
|
|
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
|
|
175
|
+
Do not duplicate launcher configuration questions in this workflow.
|
|
188
176
|
|
|
189
|
-
### Existing list
|
|
177
|
+
### Existing list command
|
|
190
178
|
|
|
191
|
-
|
|
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
|
-
|
|
|
200
|
-
| Valid `.prizmkit/plans/feature-list.json` exists and
|
|
201
|
-
| Valid feature list exists but intent is unclear | Ask
|
|
202
|
-
|
|
|
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
|
|
222
|
-
| User wants planning only | Route to `feature-planner` and stop after
|
|
223
|
-
| User wants
|
|
224
|
-
|
|
|
225
|
-
| Planner
|
|
226
|
-
| Launcher finds
|
|
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` |
|
|
236
|
-
| `feature-workflow` | `feature-pipeline-launcher` | User
|
|
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
|
-
-
|
|
241
|
-
- Pipeline Path: handoff brief, validated `.prizmkit/plans/feature-list.json
|
|
242
|
-
- Greenfield path:
|
|
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.
|