prizmkit 1.1.7 → 1.1.9
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/codebuddy/skill-adapter.js +21 -7
- package/bundled/agents/prizm-dev-team-reviewer.md +53 -173
- package/bundled/dev-pipeline/.env.example +45 -0
- package/bundled/dev-pipeline/README.md +64 -64
- package/bundled/dev-pipeline/SCHEMA_ANALYSIS.md +535 -0
- package/bundled/dev-pipeline/assets/feature-list-example.json +0 -1
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +64 -18
- package/bundled/dev-pipeline/launch-feature-daemon.sh +15 -12
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +64 -18
- package/bundled/dev-pipeline/lib/branch.sh +6 -1
- package/bundled/dev-pipeline/lib/common.sh +71 -0
- package/bundled/dev-pipeline/lib/heartbeat.sh +2 -2
- package/bundled/dev-pipeline/reset-bug.sh +10 -9
- package/bundled/dev-pipeline/reset-feature.sh +9 -8
- package/bundled/dev-pipeline/reset-refactor.sh +10 -9
- package/bundled/dev-pipeline/retry-bugfix.sh +67 -29
- package/bundled/dev-pipeline/retry-feature.sh +54 -18
- package/bundled/dev-pipeline/retry-refactor.sh +112 -29
- package/bundled/dev-pipeline/run-bugfix.sh +281 -59
- package/bundled/dev-pipeline/run-feature.sh +53 -18
- package/bundled/dev-pipeline/run-refactor.sh +392 -66
- package/bundled/dev-pipeline/scripts/check-session-status.py +24 -1
- package/bundled/dev-pipeline/scripts/cleanup-logs.py +2 -2
- package/bundled/dev-pipeline/scripts/detect-stuck.py +195 -85
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +57 -33
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +25 -9
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +104 -17
- package/bundled/dev-pipeline/scripts/init-bugfix-pipeline.py +34 -9
- package/bundled/dev-pipeline/scripts/init-pipeline.py +10 -10
- package/bundled/dev-pipeline/scripts/init-refactor-pipeline.py +19 -8
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -5
- package/bundled/dev-pipeline/scripts/patch-completion-notes.py +191 -0
- package/bundled/dev-pipeline/scripts/update-bug-status.py +167 -22
- package/bundled/dev-pipeline/scripts/update-feature-status.py +104 -62
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +351 -21
- package/bundled/dev-pipeline/templates/agent-prompts/dev-fix.md +1 -1
- package/bundled/dev-pipeline/templates/agent-prompts/reviewer-review.md +7 -11
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +41 -7
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +27 -3
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +43 -19
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +54 -26
- package/bundled/dev-pipeline/templates/bug-fix-list-schema.json +6 -15
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +36 -25
- package/bundled/dev-pipeline/templates/feature-list-schema.json +109 -31
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +270 -0
- package/bundled/dev-pipeline/templates/refactor-list-schema.json +11 -3
- package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +3 -1
- package/bundled/dev-pipeline/templates/sections/critical-paths-agent.md +1 -0
- package/bundled/dev-pipeline/templates/sections/feature-context.md +2 -0
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +29 -2
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +22 -0
- package/bundled/dev-pipeline/templates/sections/phase-deploy-verification.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +8 -6
- package/bundled/dev-pipeline/templates/sections/phase-review-full.md +7 -5
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +3 -3
- package/bundled/skills/_metadata.json +5 -22
- package/bundled/skills/app-planner/SKILL.md +98 -72
- package/bundled/skills/app-planner/assets/app-design-guide.md +1 -1
- package/bundled/skills/app-planner/references/architecture-decisions.md +1 -1
- package/bundled/skills/app-planner/references/project-brief-guide.md +69 -66
- package/bundled/skills/bug-fix-workflow/SKILL.md +52 -9
- package/bundled/skills/bug-planner/SKILL.md +139 -197
- package/bundled/skills/bug-planner/assets/bug-confirmation-template.md +43 -0
- package/bundled/skills/bug-planner/references/critic-and-verification.md +44 -0
- package/bundled/skills/bug-planner/references/error-recovery.md +73 -0
- package/bundled/skills/bug-planner/references/input-formats.md +53 -0
- package/bundled/skills/bug-planner/references/schema-validation.md +25 -0
- package/bundled/skills/bug-planner/references/severity-rules.md +16 -0
- package/bundled/skills/bug-planner/scripts/validate-bug-list.py +4 -8
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +34 -39
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +49 -36
- package/bundled/skills/feature-pipeline-launcher/scripts/preflight-check.py +3 -3
- package/bundled/skills/feature-planner/SKILL.md +53 -142
- package/bundled/skills/feature-planner/assets/evaluation-guide.md +1 -1
- package/bundled/skills/feature-planner/assets/planning-guide.md +21 -5
- package/bundled/skills/feature-planner/references/browser-interaction.md +2 -4
- package/bundled/skills/feature-planner/references/completeness-review.md +57 -0
- package/bundled/skills/feature-planner/references/error-recovery.md +16 -35
- package/bundled/skills/feature-planner/references/incremental-feature-planning.md +1 -1
- package/bundled/skills/feature-planner/references/new-project-planning.md +2 -2
- package/bundled/skills/feature-planner/scripts/validate-and-generate.py +19 -20
- package/bundled/skills/feature-workflow/SKILL.md +24 -25
- package/bundled/skills/prizm-kit/SKILL.md +39 -49
- package/bundled/skills/prizmkit-code-review/SKILL.md +51 -64
- package/bundled/skills/prizmkit-code-review/rules/dimensions.md +85 -0
- package/bundled/skills/prizmkit-code-review/rules/fix-strategy.md +11 -11
- package/bundled/skills/prizmkit-committer/SKILL.md +3 -31
- package/bundled/skills/prizmkit-deploy/SKILL.md +34 -31
- package/bundled/skills/prizmkit-deploy/assets/deploy-template.md +1 -1
- package/bundled/skills/prizmkit-implement/SKILL.md +35 -68
- package/bundled/skills/prizmkit-init/SKILL.md +112 -65
- package/bundled/skills/prizmkit-init/assets/project-brief-template.md +82 -0
- package/bundled/skills/prizmkit-plan/SKILL.md +120 -79
- package/bundled/skills/prizmkit-plan/assets/plan-template.md +28 -18
- package/bundled/skills/prizmkit-plan/assets/spec-template.md +28 -11
- package/bundled/skills/prizmkit-plan/references/clarify-guide.md +3 -3
- package/bundled/skills/prizmkit-plan/references/verification-checklist.md +60 -0
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +10 -81
- package/bundled/skills/prizmkit-prizm-docs/assets/{PRIZM-SPEC.md → prizm-docs-format.md} +41 -526
- package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +46 -0
- package/bundled/skills/prizmkit-prizm-docs/references/op-rebuild.md +16 -0
- package/bundled/skills/prizmkit-prizm-docs/references/op-status.md +14 -0
- package/bundled/skills/prizmkit-prizm-docs/references/op-update.md +19 -0
- package/bundled/skills/prizmkit-prizm-docs/references/op-validate.md +17 -0
- package/bundled/skills/prizmkit-retrospective/SKILL.md +27 -65
- package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +3 -4
- package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +7 -25
- package/bundled/skills/recovery-workflow/SKILL.md +22 -22
- package/bundled/skills/recovery-workflow/evals/evals.json +5 -5
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +43 -10
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +48 -40
- package/bundled/skills/refactor-planner/SKILL.md +43 -61
- package/bundled/skills/refactor-planner/scripts/validate-and-generate-refactor.py +17 -17
- package/bundled/skills/refactor-workflow/SKILL.md +23 -24
- package/bundled/team/prizm-dev-team.json +1 -1
- package/bundled/{skills/prizm-kit/assets → templates}/project-memory-template.md +1 -1
- package/package.json +1 -1
- package/src/clean.js +3 -4
- package/src/gitignore-template.js +7 -9
- package/src/scaffold.js +14 -5
- package/bundled/dev-pipeline/templates/agent-prompts/reviewer-analyze.md +0 -5
- package/bundled/dev-pipeline/templates/sections/phase-analyze-agent.md +0 -19
- package/bundled/dev-pipeline/templates/sections/phase-analyze-full.md +0 -19
- package/bundled/skills/app-planner/references/project-conventions.md +0 -93
- package/bundled/skills/prizmkit-analyze/SKILL.md +0 -207
- package/bundled/skills/prizmkit-code-review/rules/dimensions-bugfix.md +0 -25
- package/bundled/skills/prizmkit-code-review/rules/dimensions-feature.md +0 -43
- package/bundled/skills/prizmkit-code-review/rules/dimensions-refactor.md +0 -25
- package/bundled/skills/prizmkit-implement/references/deploy-guide-protocol.md +0 -69
- package/bundled/skills/prizmkit-verify/SKILL.md +0 -281
- package/bundled/skills/prizmkit-verify/scripts/verify-light.py +0 -402
|
@@ -6,7 +6,7 @@ For app-level design references (vision templates, tech stack matrix), see `app-
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Feature Description Writing Guide
|
|
10
10
|
|
|
11
11
|
Feature descriptions are the **primary input** for autonomous pipeline sessions. A thin description forces the AI to guess — producing worse code. Invest in rich descriptions upfront.
|
|
12
12
|
|
|
@@ -52,9 +52,25 @@ Every description should cover these aspects (adapt per feature type):
|
|
|
52
52
|
"Build a dashboard page at /dashboard as the post-login landing screen. Display: (1) summary cards showing total projects count, active tasks count, and recent activity count; (2) a recent activity feed listing the last 10 actions across all projects with timestamps; (3) a quick-access project list showing the 5 most recently updated projects. Fetch data via GET /api/dashboard/summary. Show loading skeleton on initial load, empty state when user has no projects."
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
+
### Headless Execution Requirements
|
|
56
|
+
|
|
57
|
+
Feature descriptions are consumed by **autonomous AI sessions running in headless mode** — no human is available to clarify ambiguities. This raises the bar for description quality:
|
|
58
|
+
|
|
59
|
+
**Must include for headless readiness:**
|
|
60
|
+
1. **Concrete deliverables** — specific files, endpoints, components, or models to create
|
|
61
|
+
2. **Integration points** — which existing APIs to call, which models to import, which modules to extend
|
|
62
|
+
3. **Key behaviors** — validation rules, state transitions, error codes, edge cases
|
|
63
|
+
|
|
64
|
+
**Dependency descriptions:**
|
|
65
|
+
When a feature depends on others, explicitly state what it needs from them:
|
|
66
|
+
- ✅ "Uses the User model (id, email, display_name) from F-001 to create a foreign key user_id on the Project model"
|
|
67
|
+
- ❌ "depends on F-001" — the AI won't know what F-001 built
|
|
68
|
+
|
|
69
|
+
**Self-test:** Read the description as if you have no other context. Could you implement it without asking a single question? If not, add more detail.
|
|
70
|
+
|
|
55
71
|
---
|
|
56
72
|
|
|
57
|
-
##
|
|
73
|
+
## Acceptance Criteria Writing Guide
|
|
58
74
|
|
|
59
75
|
Acceptance criteria define what "done" means for a feature. They should be specific, testable, and unambiguous.
|
|
60
76
|
|
|
@@ -95,7 +111,7 @@ Then [expected outcome]
|
|
|
95
111
|
|
|
96
112
|
---
|
|
97
113
|
|
|
98
|
-
##
|
|
114
|
+
## Complexity Estimation Guide
|
|
99
115
|
|
|
100
116
|
| Complexity | Characteristics | Typical Scope |
|
|
101
117
|
|------------|----------------|---------------|
|
|
@@ -122,7 +138,7 @@ Consider splitting a feature if it exhibits any of the following:
|
|
|
122
138
|
|
|
123
139
|
---
|
|
124
140
|
|
|
125
|
-
##
|
|
141
|
+
## Dependency Graph Rules
|
|
126
142
|
|
|
127
143
|
These rules ensure the feature dependency graph is valid and buildable.
|
|
128
144
|
|
|
@@ -150,7 +166,7 @@ These rules ensure the feature dependency graph is valid and buildable.
|
|
|
150
166
|
|
|
151
167
|
---
|
|
152
168
|
|
|
153
|
-
##
|
|
169
|
+
## Session Granularity Decision Rules
|
|
154
170
|
|
|
155
171
|
Session granularity determines whether a feature is implemented in a single coding session or split across multiple sub-feature sessions.
|
|
156
172
|
|
|
@@ -4,11 +4,9 @@ For web apps with UI, features that involve user-facing pages or interactive flo
|
|
|
4
4
|
|
|
5
5
|
## How to Capture
|
|
6
6
|
|
|
7
|
-
During Phase 4 (
|
|
7
|
+
During Phase 4.2, auto-generate `browser_interaction` for all qualifying features (see SKILL.md §Browser Interaction Planning for auto-detection rules). Present a **batch summary** to the user showing which features received `browser_interaction` — do NOT ask per-feature. The user can opt out specific features from the summary.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
If yes, generate the `browser_interaction` object:
|
|
9
|
+
For each qualifying feature, generate the `browser_interaction` object:
|
|
12
10
|
|
|
13
11
|
```json
|
|
14
12
|
{
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Pre-Generation Completeness Review
|
|
2
|
+
|
|
3
|
+
Before generating `.prizmkit/plans/feature-list.json`, review the full feature set holistically. Individual features may look fine in isolation but have gaps when viewed together.
|
|
4
|
+
|
|
5
|
+
## Step 1: Description Adequacy Scan
|
|
6
|
+
|
|
7
|
+
For each feature, evaluate against the word-count thresholds in `planning-guide.md`:
|
|
8
|
+
- Does the description cover: what to build, key behaviors, integration points, data model (if applicable), error/edge cases?
|
|
9
|
+
- Is the description specific enough for an AI coding session to implement without guessing?
|
|
10
|
+
- Flag any feature below the recommended word count for its complexity level (30/50/80 words for low/medium/high).
|
|
11
|
+
|
|
12
|
+
**Implementation clarity check** — Every feature description will be consumed by an autonomous AI session. Verify each description specifies:
|
|
13
|
+
1. Concrete deliverables (files to create, endpoints to build, components to implement, models to define)
|
|
14
|
+
2. Key behaviors and business rules (validation, state transitions, error handling)
|
|
15
|
+
3. Integration points with other modules (which APIs to call, which models to use)
|
|
16
|
+
|
|
17
|
+
**Dependency context check** — If the feature depends on others, the description should reference what it needs from them:
|
|
18
|
+
- Good: "Uses User model from F-001 to link projects to users via userId foreign key"
|
|
19
|
+
- Bad: "depends on F-001" (too vague)
|
|
20
|
+
|
|
21
|
+
**Ambiguity check** — Flag vague phrases:
|
|
22
|
+
- Bad: "Create a nice dashboard" (what components? what data? what layout?)
|
|
23
|
+
- Good: "Create dashboard at /dashboard with: (1) summary cards showing total projects count, active tasks count; (2) recent activity feed (last 10 items); (3) quick-access project list (5 most recent). Fetch data via GET /api/dashboard/summary."
|
|
24
|
+
|
|
25
|
+
If any feature description is unclear, **expand it now** before generating the output file.
|
|
26
|
+
|
|
27
|
+
## Step 2: Cross-Feature Completeness Check
|
|
28
|
+
|
|
29
|
+
Look at the feature set as a whole:
|
|
30
|
+
- **Implied functionality gaps**: Does feature A's acceptance criteria assume a capability that no other feature provides?
|
|
31
|
+
- **Missing integration seams**: If two features share data or interact at runtime, is the interface specified?
|
|
32
|
+
- **Scope leaks**: Does any feature's description reference functionality outside the agreed scope?
|
|
33
|
+
|
|
34
|
+
## Step 3: Present Review to User
|
|
35
|
+
|
|
36
|
+
Show a structured summary table:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Feature | Description | Cross-Feature | Recommendation
|
|
40
|
+
| Adequacy | Issues |
|
|
41
|
+
F-001 | ✓ (65 words)| — | Ready
|
|
42
|
+
F-002 | ⚠ (28 words)| — | Expand: add API endpoints, error handling
|
|
43
|
+
F-003 | ✓ (52 words)| Assumes email from | Clarify: who sends the notification?
|
|
44
|
+
| | F-006 (not yet defined)|
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Then ask if any features need further discussion.
|
|
48
|
+
|
|
49
|
+
## Step 4: Interactive Supplementation
|
|
50
|
+
|
|
51
|
+
For each feature the user wants to discuss:
|
|
52
|
+
1. Ask targeted questions about the unclear aspects
|
|
53
|
+
2. Propose concrete description supplements
|
|
54
|
+
3. Update the feature description with agreed details
|
|
55
|
+
4. Re-check: does the supplement resolve the gap?
|
|
56
|
+
|
|
57
|
+
Continue until the user confirms all features are implementation-ready. Fixing thin descriptions here costs minutes; fixing misimplemented features downstream costs hours.
|
|
@@ -51,59 +51,40 @@ if all_retries_exceeded:
|
|
|
51
51
|
|
|
52
52
|
## Resume Support
|
|
53
53
|
|
|
54
|
-
feature-planner sessions can be resumed from the last completed checkpoint
|
|
54
|
+
feature-planner sessions can be resumed from the last completed checkpoint when artifacts are found.
|
|
55
55
|
|
|
56
56
|
### Detection Logic
|
|
57
57
|
|
|
58
|
-
Check for artifact files in
|
|
58
|
+
Check for artifact files in `.prizmkit/plans/`:
|
|
59
59
|
|
|
60
|
-
| Artifacts Found |
|
|
61
|
-
|
|
62
|
-
| None |
|
|
63
|
-
| `feature-list.json` exists
|
|
64
|
-
| `feature-list.json` + validation passed |
|
|
65
|
-
|
|
|
66
|
-
| User restarts mid-session | User says "restart" | Return to Phase 1 Vision, or load previous checkpoint if requested |
|
|
67
|
-
| Max validation retries exceeded | 3 failed validation loops | Offer: (a) manual review, (b) restart from Phase 1 |
|
|
60
|
+
| Artifacts Found | Resume Action |
|
|
61
|
+
|-----------------|---------------|
|
|
62
|
+
| None | Start fresh planning (Phase 1) |
|
|
63
|
+
| `feature-list.json` exists but not validated | Offer to validate or extend (Phase 9) |
|
|
64
|
+
| `feature-list.json` + validation passed | Offer: handoff to `feature-pipeline-launcher` |
|
|
65
|
+
| `feature-list.draft.json` only | Resume interactive planning from last checkpoint |
|
|
68
66
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
For projects using `.prizmkit/` structure:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# Explicit resume (if file is not in current directory):
|
|
75
|
-
feature-planner --resume-from <path-to-existing-feature-list.json>
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
AI detects existing file → suggests:
|
|
79
|
-
```
|
|
80
|
-
"Existing plan found with N features, M newly added.
|
|
81
|
-
Resume incremental planning? (Y/n)"
|
|
82
|
-
```
|
|
67
|
+
When existing file detected, suggest:
|
|
68
|
+
> "Existing plan found with N features. Resume incremental planning? (Y/n)"
|
|
83
69
|
|
|
84
70
|
### Incremental Mode Abort
|
|
85
71
|
|
|
86
72
|
If in Incremental mode but existing `feature-list.json` not found:
|
|
87
73
|
- Ask: "Start new plan or provide existing file?"
|
|
88
74
|
- If new plan chosen → switch to Route A (New Feature Set)
|
|
89
|
-
- If existing file uploaded → continue Route B
|
|
90
75
|
|
|
91
76
|
### Artifact Path Convention
|
|
92
77
|
|
|
93
|
-
**CRITICAL PATH RULE**: `feature-list.json` MUST be written to
|
|
94
|
-
(same level as `package.json` / `.git`).
|
|
95
|
-
|
|
96
|
-
Before writing, verify: `ls package.json .git 2>/dev/null` — if these exist in the current
|
|
97
|
-
directory, you are at the project root. NEVER write to `dev-pipeline/` or any subdirectory.
|
|
78
|
+
**CRITICAL PATH RULE**: `feature-list.json` MUST be written to `.prizmkit/plans/` directory.
|
|
98
79
|
|
|
99
|
-
|
|
80
|
+
Before writing, verify the directory exists: `mkdir -p .prizmkit/plans`
|
|
100
81
|
|
|
101
82
|
```
|
|
102
83
|
<project-root>/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
├── feature-list.
|
|
84
|
+
└── .prizmkit/plans/
|
|
85
|
+
├── feature-list.json # Primary output
|
|
86
|
+
├── feature-list.draft.json # Draft backup (Session Exit Gate)
|
|
106
87
|
└── <ISO-timestamp>.backup.json # Optional incremental backups
|
|
107
88
|
```
|
|
108
89
|
|
|
109
|
-
|
|
90
|
+
> **Note**: For cross-session workflow recovery (e.g., interrupted pipeline execution, branch-level state detection), use `recovery-workflow` instead. This error-recovery reference handles only within-session validation retries and checkpoint resumption.
|
|
@@ -109,4 +109,4 @@ Use concise prompts during interaction:
|
|
|
109
109
|
- [ ] Existing style preserved
|
|
110
110
|
- [ ] Dependency graph still DAG
|
|
111
111
|
- [ ] Validation passes
|
|
112
|
-
- [ ] Next step recommendation
|
|
112
|
+
- [ ] Next step recommendation: `feature-pipeline-launcher`
|
|
@@ -31,7 +31,7 @@ For each feature define:
|
|
|
31
31
|
- `id`
|
|
32
32
|
- `title`
|
|
33
33
|
- `description`
|
|
34
|
-
- `priority` — string: `"high"`, `"medium"`, or `"low"` (never numeric)
|
|
34
|
+
- `priority` — string: `"critical"`, `"high"`, `"medium"`, or `"low"` (never numeric)
|
|
35
35
|
- `estimated_complexity`
|
|
36
36
|
- `dependencies`
|
|
37
37
|
- `acceptance_criteria`
|
|
@@ -82,4 +82,4 @@ Split into `sub_features` when:
|
|
|
82
82
|
- [ ] IDs are sequential
|
|
83
83
|
- [ ] `status` initialized to `pending`
|
|
84
84
|
- [ ] Validation passes
|
|
85
|
-
- [ ] Next step recommendation
|
|
85
|
+
- [ ] Next step recommendation: `feature-pipeline-launcher`
|
|
@@ -4,15 +4,15 @@ validate-and-generate.py - Validate and generate feature-list.json files
|
|
|
4
4
|
for the dev-pipeline system.
|
|
5
5
|
|
|
6
6
|
Commands:
|
|
7
|
-
validate Validate an existing feature-list.json
|
|
8
|
-
template Generate a blank template feature-list.json
|
|
9
|
-
summary Print a summary table of features from a feature-list.json
|
|
7
|
+
validate Validate an existing .prizmkit/plans/feature-list.json
|
|
8
|
+
template Generate a blank template .prizmkit/plans/feature-list.json
|
|
9
|
+
summary Print a summary table of features from a .prizmkit/plans/feature-list.json
|
|
10
10
|
grade Generate grading results from eval runs (for npm run skill:review)
|
|
11
11
|
|
|
12
12
|
Usage:
|
|
13
|
-
python3 validate-and-generate.py validate --input feature-list.json [--output validated.json] [--mode new|incremental]
|
|
14
|
-
python3 validate-and-generate.py template --output feature-list.json
|
|
15
|
-
python3 validate-and-generate.py summary --input feature-list.json [--format markdown|json]
|
|
13
|
+
python3 validate-and-generate.py validate --input .prizmkit/plans/feature-list.json [--output validated.json] [--mode new|incremental]
|
|
14
|
+
python3 validate-and-generate.py template --output .prizmkit/plans/feature-list.json
|
|
15
|
+
python3 validate-and-generate.py summary --input .prizmkit/plans/feature-list.json [--format markdown|json]
|
|
16
16
|
python3 validate-and-generate.py grade --workspace /.codebuddy/skill-evals/feature-planner-workspace --iteration iteration-1
|
|
17
17
|
|
|
18
18
|
Python 3.6+ required. No external dependencies.
|
|
@@ -34,7 +34,7 @@ SCHEMA_VERSION = "dev-pipeline-feature-list-v1"
|
|
|
34
34
|
|
|
35
35
|
VALID_STATUSES = {"pending", "in_progress", "completed", "failed", "skipped", "split", "auto_skipped"}
|
|
36
36
|
VALID_COMPLEXITIES = {"low", "medium", "high"}
|
|
37
|
-
VALID_PRIORITIES = {"high", "medium", "low"}
|
|
37
|
+
VALID_PRIORITIES = {"critical", "high", "medium", "low"}
|
|
38
38
|
VALID_GRANULARITIES = {"feature", "sub_feature", "auto"}
|
|
39
39
|
VALID_PLANNING_MODES = {"new", "incremental"}
|
|
40
40
|
|
|
@@ -446,7 +446,6 @@ def generate_template():
|
|
|
446
446
|
"project_description": "YOUR_PROJECT_DESCRIPTION",
|
|
447
447
|
"created_at": now,
|
|
448
448
|
"created_by": "feature-planner",
|
|
449
|
-
"source_spec": "",
|
|
450
449
|
"features": [
|
|
451
450
|
{
|
|
452
451
|
"id": "F-001",
|
|
@@ -847,16 +846,16 @@ def cmd_grade(args):
|
|
|
847
846
|
|
|
848
847
|
def main():
|
|
849
848
|
parser = argparse.ArgumentParser(
|
|
850
|
-
description="Validate and generate feature-list.json files for the dev-pipeline system.",
|
|
849
|
+
description="Validate and generate .prizmkit/plans/feature-list.json files for the dev-pipeline system.",
|
|
851
850
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
852
851
|
epilog=(
|
|
853
852
|
"Examples:\n"
|
|
854
|
-
" %(prog)s validate --input feature-list.json\n"
|
|
855
|
-
" %(prog)s validate --input feature-list.json --mode incremental\n"
|
|
856
|
-
" %(prog)s validate --input feature-list.json --output validated.json\n"
|
|
857
|
-
" %(prog)s template --output feature-list.json\n"
|
|
858
|
-
" %(prog)s summary --input feature-list.json\n"
|
|
859
|
-
" %(prog)s summary --input feature-list.json --format json\n"
|
|
853
|
+
" %(prog)s validate --input .prizmkit/plans/feature-list.json\n"
|
|
854
|
+
" %(prog)s validate --input .prizmkit/plans/feature-list.json --mode incremental\n"
|
|
855
|
+
" %(prog)s validate --input .prizmkit/plans/feature-list.json --output validated.json\n"
|
|
856
|
+
" %(prog)s template --output .prizmkit/plans/feature-list.json\n"
|
|
857
|
+
" %(prog)s summary --input .prizmkit/plans/feature-list.json\n"
|
|
858
|
+
" %(prog)s summary --input .prizmkit/plans/feature-list.json --format json\n"
|
|
860
859
|
),
|
|
861
860
|
)
|
|
862
861
|
|
|
@@ -865,10 +864,10 @@ def main():
|
|
|
865
864
|
# -- validate --
|
|
866
865
|
p_validate = subparsers.add_parser(
|
|
867
866
|
"validate",
|
|
868
|
-
help="Validate an existing feature-list.json",
|
|
867
|
+
help="Validate an existing .prizmkit/plans/feature-list.json",
|
|
869
868
|
)
|
|
870
869
|
p_validate.add_argument(
|
|
871
|
-
"--input", required=True, help="Path to input feature-list.json"
|
|
870
|
+
"--input", required=True, help="Path to input .prizmkit/plans/feature-list.json"
|
|
872
871
|
)
|
|
873
872
|
p_validate.add_argument(
|
|
874
873
|
"--output", help="Path to write validated output (optional)"
|
|
@@ -883,7 +882,7 @@ def main():
|
|
|
883
882
|
# -- template --
|
|
884
883
|
p_template = subparsers.add_parser(
|
|
885
884
|
"template",
|
|
886
|
-
help="Generate a blank template feature-list.json",
|
|
885
|
+
help="Generate a blank template .prizmkit/plans/feature-list.json",
|
|
887
886
|
)
|
|
888
887
|
p_template.add_argument(
|
|
889
888
|
"--output", required=True, help="Path to write template file"
|
|
@@ -892,10 +891,10 @@ def main():
|
|
|
892
891
|
# -- summary --
|
|
893
892
|
p_summary = subparsers.add_parser(
|
|
894
893
|
"summary",
|
|
895
|
-
help="Print a summary table of features from a feature-list.json",
|
|
894
|
+
help="Print a summary table of features from a .prizmkit/plans/feature-list.json",
|
|
896
895
|
)
|
|
897
896
|
p_summary.add_argument(
|
|
898
|
-
"--input", required=True, help="Path to input feature-list.json"
|
|
897
|
+
"--input", required=True, help="Path to input .prizmkit/plans/feature-list.json"
|
|
899
898
|
)
|
|
900
899
|
p_summary.add_argument(
|
|
901
900
|
"--format",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "feature-workflow"
|
|
3
|
-
|
|
4
|
-
description: "One-stop entry point for feature development. Brainstorms requirements with the user until fully clarified, then orchestrates feature-planner → feature-pipeline-launcher → execution. Handles multi-feature batch development from a single request. Use this skill whenever the user wants to build an app, develop multiple features at once, or go from idea to running code in one step. Trigger on: 'build an app', 'develop features', 'implement all features', 'one-stop development', 'batch implement', 'build a new application', 'build a system', 'one-click complete', 'batch implement'. (project)"
|
|
3
|
+
description: "One-stop entry point for feature development. Brainstorms requirements with the user until fully clarified, then orchestrates feature-planner → feature-pipeline-launcher → execution. Handles multi-feature batch development from a single request. Use this skill whenever the user wants to build an app, develop multiple features at once, or go from idea to running code in one step. Trigger on: 'build an app', 'develop features', 'implement all features', 'one-stop development', 'batch implement', 'build a new application', 'build a system', 'one-click complete', 'batch implement'."
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Feature Workflow
|
|
@@ -19,7 +18,7 @@ User says:
|
|
|
19
18
|
|
|
20
19
|
**Do NOT use this skill when:**
|
|
21
20
|
- User only wants to plan features (use `feature-planner` directly)
|
|
22
|
-
- User only wants to launch pipeline for existing feature-list.json (use `feature-pipeline-launcher`)
|
|
21
|
+
- User only wants to launch pipeline for existing .prizmkit/plans/feature-list.json (use `feature-pipeline-launcher`)
|
|
23
22
|
- User wants to fix bugs (use `bug-planner` + `bugfix-pipeline-launcher`)
|
|
24
23
|
- User wants to refactor code (use `refactor-workflow`)
|
|
25
24
|
|
|
@@ -32,7 +31,7 @@ feature-workflow <idea / requirements>
|
|
|
32
31
|
│
|
|
33
32
|
├── Phase 1: Brainstorm → deep interactive Q&A until requirements are crystal clear
|
|
34
33
|
│
|
|
35
|
-
├── Phase 2: Plan → feature-planner → feature-list.json
|
|
34
|
+
├── Phase 2: Plan → feature-planner → .prizmkit/plans/feature-list.json
|
|
36
35
|
│
|
|
37
36
|
├── Phase 3: Launch → feature-pipeline-launcher → pipeline execution
|
|
38
37
|
│
|
|
@@ -44,7 +43,7 @@ feature-workflow <idea / requirements>
|
|
|
44
43
|
| Phase | Action | Result |
|
|
45
44
|
|-------|--------|--------|
|
|
46
45
|
| 1 | **Brainstorm** — interactive Q&A with user | Fully clarified requirements document |
|
|
47
|
-
| 2 | Call `feature-planner` with clarified requirements |
|
|
46
|
+
| 2 | Call `feature-planner` with clarified requirements | `.prizmkit/plans/feature-list.json` with N features |
|
|
48
47
|
| 3 | Call `feature-pipeline-launcher` | Pipeline started (execution mode chosen by user via launcher) |
|
|
49
48
|
| 4 | Monitor progress | Status updates, completion report |
|
|
50
49
|
|
|
@@ -52,7 +51,7 @@ feature-workflow <idea / requirements>
|
|
|
52
51
|
|
|
53
52
|
Without this skill, users must:
|
|
54
53
|
1. Figure out all requirements themselves
|
|
55
|
-
2. Invoke `feature-planner` → wait for feature-list.json
|
|
54
|
+
2. Invoke `feature-planner` → wait for .prizmkit/plans/feature-list.json
|
|
56
55
|
3. Invoke `feature-pipeline-launcher` → wait for pipeline start
|
|
57
56
|
4. Manually check progress
|
|
58
57
|
|
|
@@ -81,9 +80,9 @@ Natural language description of the project or features. Can be:
|
|
|
81
80
|
|
|
82
81
|
Flow: brainstorm → feature-planner → feature-pipeline-launcher → monitor
|
|
83
82
|
|
|
84
|
-
**Mode B: From existing feature-list.json**
|
|
83
|
+
**Mode B: From existing .prizmkit/plans/feature-list.json**
|
|
85
84
|
|
|
86
|
-
When user says "run pipeline from existing file" or feature-list.json already exists:
|
|
85
|
+
When user says "run pipeline from existing file" or .prizmkit/plans/feature-list.json already exists:
|
|
87
86
|
- Skip brainstorm and `feature-planner` (file already exists)
|
|
88
87
|
- Invoke `feature-pipeline-launcher` directly
|
|
89
88
|
- Monitor and report progress
|
|
@@ -92,7 +91,7 @@ When user says "run pipeline from existing file" or feature-list.json already ex
|
|
|
92
91
|
|
|
93
92
|
When user says "add features to existing project" or the project already has features:
|
|
94
93
|
- Brainstorm new feature requirements with the user
|
|
95
|
-
- Invoke `feature-planner` in incremental mode (reads existing feature-list.json)
|
|
94
|
+
- Invoke `feature-planner` in incremental mode (reads existing .prizmkit/plans/feature-list.json)
|
|
96
95
|
- Append new features to existing list
|
|
97
96
|
- Invoke `feature-pipeline-launcher`
|
|
98
97
|
- Monitor and report progress
|
|
@@ -232,7 +231,7 @@ Present this summary to the user and get explicit confirmation before proceeding
|
|
|
232
231
|
|
|
233
232
|
## Phase 2: Plan
|
|
234
233
|
|
|
235
|
-
**Goal**: Generate structured feature-list.json from the clarified requirements.
|
|
234
|
+
**Goal**: Generate structured .prizmkit/plans/feature-list.json from the clarified requirements.
|
|
236
235
|
|
|
237
236
|
**STEPS**:
|
|
238
237
|
|
|
@@ -240,18 +239,18 @@ Present this summary to the user and get explicit confirmation before proceeding
|
|
|
240
239
|
- Pass the structured requirements summary as input — NOT the raw user conversation
|
|
241
240
|
- For new projects: standard planning mode
|
|
242
241
|
- For existing projects with `--incremental`: incremental planning mode
|
|
243
|
-
- **Input**: Markdown requirements summary (feature descriptions,
|
|
244
|
-
- **Output**:
|
|
242
|
+
- **Input**: Markdown requirements summary (feature descriptions, goals, constraints)
|
|
243
|
+
- **Output**: `.prizmkit/plans/feature-list.json` (schema: `dev-pipeline-feature-list-v1`) containing `project_name`, `features[]` with id (F-NNN), title, description, priority, dependencies, acceptance_criteria, status
|
|
245
244
|
|
|
246
245
|
2. **Interactive planning** (if feature-planner requires clarification):
|
|
247
246
|
- Because Phase 1 was thorough, feature-planner should need minimal clarification
|
|
248
247
|
- If questions arise, answer from the Phase 1 context or pass through to user
|
|
249
248
|
|
|
250
249
|
3. **Validate output**:
|
|
251
|
-
- Confirm
|
|
250
|
+
- Confirm `.prizmkit/plans/feature-list.json` exists
|
|
252
251
|
- Show summary: total features, complexity distribution, dependencies
|
|
253
252
|
|
|
254
|
-
**CHECKPOINT CP-FW-1**:
|
|
253
|
+
**CHECKPOINT CP-FW-1**: `.prizmkit/plans/feature-list.json` generated and validated.
|
|
255
254
|
|
|
256
255
|
**If user says `--from <file>`**: Skip Phase 1 and Phase 2 entirely.
|
|
257
256
|
|
|
@@ -274,7 +273,7 @@ Present this summary to the user and get explicit confirmation before proceeding
|
|
|
274
273
|
```
|
|
275
274
|
|
|
276
275
|
2. **Invoke `feature-pipeline-launcher` skill**:
|
|
277
|
-
- **Input**: Path to validated
|
|
276
|
+
- **Input**: Path to validated `.prizmkit/plans/feature-list.json`
|
|
278
277
|
- The launcher handles all prerequisites checks
|
|
279
278
|
- The launcher presents execution mode choices to the user (foreground/background/manual)
|
|
280
279
|
- The launcher asks whether to enable Critic Agent (adversarial review) — passes `--critic` flag if chosen
|
|
@@ -308,8 +307,8 @@ Present this summary to the user and get explicit confirmation before proceeding
|
|
|
308
307
|
3. **Periodic progress reports** (when user asks):
|
|
309
308
|
```bash
|
|
310
309
|
python3 dev-pipeline/scripts/update-feature-status.py \
|
|
311
|
-
--feature-list feature-list.json \
|
|
312
|
-
--state-dir
|
|
310
|
+
--feature-list .prizmkit/plans/feature-list.json \
|
|
311
|
+
--state-dir .prizmkit/state/features \
|
|
313
312
|
--action status
|
|
314
313
|
```
|
|
315
314
|
|
|
@@ -338,12 +337,12 @@ The workflow supports resuming by detecting existing state:
|
|
|
338
337
|
|
|
339
338
|
| State Found | Resume From |
|
|
340
339
|
|-------------|------------|
|
|
341
|
-
| No
|
|
342
|
-
|
|
|
343
|
-
|
|
|
340
|
+
| No `.prizmkit/plans/feature-list.json` | Phase 1: Brainstorm |
|
|
341
|
+
| `.prizmkit/plans/feature-list.json` exists, no pipeline state | Phase 3: Launch |
|
|
342
|
+
| `.prizmkit/plans/feature-list.json` + pipeline state exists | Phase 4: Monitor (check status) |
|
|
344
343
|
| All features completed | Report completion, suggest next steps |
|
|
345
344
|
|
|
346
|
-
**Resume**: If
|
|
345
|
+
**Resume**: If `.prizmkit/plans/feature-list.json` exists, ask user: "Existing feature plan found with N features. Resume pipeline or re-plan?"
|
|
347
346
|
|
|
348
347
|
---
|
|
349
348
|
|
|
@@ -367,7 +366,7 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
367
366
|
| User's idea is too vague to brainstorm | Ask for more context: "Can you describe the main problem this solves?" |
|
|
368
367
|
| Brainstorming stalls | Offer concrete options: "Would you prefer A or B?" |
|
|
369
368
|
| `feature-planner` cannot parse requirements | Refine the requirements summary and retry |
|
|
370
|
-
|
|
|
369
|
+
| `.prizmkit/plans/feature-list.json` generation failed | Show error, retry with refined input |
|
|
371
370
|
| Pipeline launch failed | Show daemon log, suggest manual start |
|
|
372
371
|
| All features blocked/failed | Show status, suggest retrying specific features |
|
|
373
372
|
| User wants to cancel mid-brainstorming | Save conversation context, offer to resume later |
|
|
@@ -378,7 +377,7 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
378
377
|
|
|
379
378
|
| Skill | Relationship |
|
|
380
379
|
|-------|-------------|
|
|
381
|
-
| `feature-planner` | **Called by Phase 2** — generates feature-list.json from clarified requirements |
|
|
380
|
+
| `feature-planner` | **Called by Phase 2** — generates .prizmkit/plans/feature-list.json from clarified requirements |
|
|
382
381
|
| `feature-pipeline-launcher` | **Called by Phase 3** — starts pipeline (handles execution mode selection) |
|
|
383
382
|
| `bug-planner` | **Alternative** — for bug fix workflows |
|
|
384
383
|
| `bugfix-pipeline-launcher` | **Alternative** — for bug fix pipelines |
|
|
@@ -398,7 +397,7 @@ While the pipeline runs, the user can continue the conversation:
|
|
|
398
397
|
| **Input** | Rough idea or requirements | Bug report / stack trace | Module / code target |
|
|
399
398
|
| **Output** | Multiple `feat()` commits | Single `fix()` commit | Single `refactor()` commit |
|
|
400
399
|
| **User verification** | Yes (Phase 1 brainstorm confirmation) | Yes (Phase 5) | Yes (Phase 5) |
|
|
401
|
-
| **Batch alternative** | (this is the batch flow) | `bug-planner` + `bugfix-pipeline-launcher` |
|
|
400
|
+
| **Batch alternative** | (this is the batch flow) | `bug-planner` + `bugfix-pipeline-launcher` | (this is the batch flow) |
|
|
402
401
|
|
|
403
402
|
---
|
|
404
403
|
|
|
@@ -409,7 +408,7 @@ All internal asset paths use `${SKILL_DIR}` placeholder for cross-IDE compatibil
|
|
|
409
408
|
## Output
|
|
410
409
|
|
|
411
410
|
- Structured requirements summary (Phase 1 artifact)
|
|
412
|
-
-
|
|
411
|
+
- `.prizmkit/plans/feature-list.json` (Phase 2 artifact)
|
|
413
412
|
- Pipeline execution (Phase 3)
|
|
414
413
|
- Progress updates (Phase 4)
|
|
415
414
|
- Multiple git commits with `feat(<scope>):` prefix
|
|
@@ -1,61 +1,62 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "prizm-kit"
|
|
3
|
-
description: "Full-lifecycle dev toolkit index. Routes to the right PrizmKit skill for spec-driven development, Prizm docs, code quality, deployment, and knowledge management. Use when the user asks 'which command?', 'help', 'how do I start a feature', or '/prizmkit'.
|
|
3
|
+
description: "Full-lifecycle dev toolkit index. Routes to the right PrizmKit skill for spec-driven development, Prizm docs, code quality, deployment, and knowledge management. Use when the user asks 'which command?', 'help', 'how do I start a feature', 'get started', 'what tools', 'dev workflow', 'lifecycle', or '/prizmkit'. Use this as the entry point for the full PrizmKit development lifecycle."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PrizmKit — Full-Lifecycle Development Toolkit
|
|
7
7
|
|
|
8
|
+
## Task Execution Model
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
PrizmKit uses **headless mode** — each task runs as an independent AI CLI session with NO context carryover between tasks. Every session starts by reading docs and ends by maintaining docs.
|
|
10
11
|
|
|
11
|
-
**
|
|
12
|
+
**Per-task flow**:
|
|
12
13
|
```
|
|
13
|
-
read
|
|
14
|
-
↑ ↓
|
|
15
|
-
└────────────────────── next feature ←─────────────────────────┘
|
|
14
|
+
read docs → plan → implement → code-review → retrospective → committer
|
|
16
15
|
```
|
|
17
|
-
- New features or user-facing capabilities
|
|
18
|
-
- Multi-file coordinated changes
|
|
19
|
-
- Architectural decisions, data model or API changes
|
|
20
16
|
|
|
21
|
-
Each
|
|
17
|
+
Each task begins by reading context at two levels:
|
|
22
18
|
|
|
23
|
-
**
|
|
19
|
+
**Application level** (read every session):
|
|
20
|
+
- `.prizm-docs/root.prizm` — L0 project architecture index (modules, tech stack, conventions)
|
|
21
|
+
- `.prizmkit/plans/project-brief.md` — user's product vision checklist (generated by app-planner)
|
|
22
|
+
- `.prizmkit/config.json` — tech stack config, deploy strategy
|
|
23
|
+
|
|
24
|
+
**Task level** (read for the specific task):
|
|
25
|
+
- `spec.md` / `plan.md` — task specification and implementation plan
|
|
26
|
+
- `.prizm-docs/<module>.prizm` (L1/L2) — architecture docs for affected modules (TRAPS, DECISIONS, INTERFACES)
|
|
27
|
+
|
|
28
|
+
Each cycle produces spec, plan, and task artifacts that create a traceable record of what was built and why. `.prizm-docs/` stays in sync through retrospective, so the next session starts with up-to-date context.
|
|
29
|
+
|
|
30
|
+
**Fast path** — for small, well-scoped changes, always ask user whether to use fast path:
|
|
24
31
|
```
|
|
25
32
|
/prizmkit-plan → /prizmkit-implement → /prizmkit-committer
|
|
26
33
|
```
|
|
27
|
-
- Bug fixes with clear root cause
|
|
28
|
-
- Simple refactors (rename, extract)
|
|
29
|
-
- Documentation-only changes, test additions for existing code
|
|
30
34
|
|
|
31
|
-
|
|
35
|
+
### Development Scenarios
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
PrizmKit supports any development scenario through the same skill chain. `/prizmkit-plan` produces `spec.md` + `plan.md` regardless of the task type:
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
| Scenario | Artifacts | When to Use |
|
|
40
|
+
|----------|-----------|-------------|
|
|
41
|
+
| **Feature** | `spec.md` → `plan.md` → code | New functionality, UI, API, data model changes |
|
|
42
|
+
| **Bug Fix** | `spec.md` → `plan.md` → code | Complex defects, regressions, crash fixes. Simple bugs can use fast path directly. |
|
|
43
|
+
| **Refactor** | `spec.md` → `plan.md` → code | Restructure, extract, rename, performance. No behavior change. |
|
|
36
44
|
|
|
37
|
-
|
|
38
|
-
- Do NOT create new spec/plan/tasks under `.prizmkit/specs/` for bug fixes
|
|
39
|
-
- Do NOT update `.prizm-docs/` module docs for pure bug fixes (no interface/dependency change)
|
|
40
|
-
- Bug fix commits use `fix(<scope>):` prefix in Conventional Commits, not `feat:`
|
|
45
|
+
All three follow the same per-task flow. Detailed documentation policies (when to update `.prizm-docs/`, when to skip steps) are defined within each skill — not here.
|
|
41
46
|
|
|
42
|
-
|
|
47
|
+
### Best Practices for AI-Driven Development
|
|
43
48
|
|
|
44
|
-
|
|
49
|
+
**Monorepo structure recommended**: Keep frontend, backend, and shared libraries in one repository. AI needs visibility into the full call chain — cross-repo references are invisible to it. If you have a multi-repo setup, add all related repos to the AI workspace so module boundaries and API contracts are discoverable.
|
|
45
50
|
|
|
46
|
-
|
|
51
|
+
**Module organization**: Ensure every meaningful module has a `.prizm-docs/` L1 doc. AI reads TRAPS and DECISIONS before modifying files — undocumented modules get no guardrails.
|
|
47
52
|
|
|
48
|
-
|
|
49
|
-
.prizm-docs/ → Architecture Index (structure, interfaces, dependencies, traps, rules, decisions)
|
|
50
|
-
.prizmkit/specs/ → Feature artifacts (spec → plan → implement → review cycle)
|
|
51
|
-
```
|
|
53
|
+
**Small, focused tasks**: Break large features into tasks that can each be completed in one AI session. The pipeline handles this automatically via `/prizmkit-plan` task decomposition.
|
|
52
54
|
|
|
53
55
|
## Core Skill Reference
|
|
54
56
|
|
|
55
57
|
| Skill | Purpose | Trigger Phrases |
|
|
56
58
|
|-------|---------|-----------------|
|
|
57
59
|
| `/prizmkit-plan` | Specify + plan: natural language → spec.md → plan.md + tasks | "specify", "plan", "new feature", "I want to add...", "architect", "break it down" |
|
|
58
|
-
| `/prizmkit-analyze` | Cross-doc consistency check (read-only) | "analyze", "check consistency", "validate spec" |
|
|
59
60
|
| `/prizmkit-implement` | Execute plan.md tasks, write code (TDD) | "implement", "build", "code it", "start coding" |
|
|
60
61
|
| `/prizmkit-code-review` | Diagnose issues + produce Fix Instructions | "review", "check code", "is it ready to commit" |
|
|
61
62
|
| `/prizmkit-retrospective` | Sync .prizm-docs/ with code changes | "retrospective", "retro", "sync docs", "wrap up" |
|
|
@@ -67,25 +68,14 @@ PrizmKit produces two complementary knowledge layers:
|
|
|
67
68
|
**Reading guide**:
|
|
68
69
|
- Need code structure/modules/interfaces/traps/decisions? → `.prizm-docs/`
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- **Tier 1**: AI can perform well independently — these tasks align with AI's core strengths (documentation, code pattern analysis, test generation)
|
|
73
|
-
- **Tier 2**: Useful as guidance/checklist — AI provides static analysis and recommendations, but lacks access to real external tools (scanners, profilers, package registries, runtime environments)
|
|
74
|
-
- **Core skills** (no tier label): The foundational, documentation, spec-driven workflow, and commit skills that form PrizmKit's primary value
|
|
75
|
-
|
|
76
|
-
## Installation
|
|
77
|
-
|
|
78
|
-
**Option 1: npm CLI (recommended — works for both platforms)**
|
|
79
|
-
```bash
|
|
80
|
-
npx prizmkit init
|
|
81
|
-
```
|
|
82
|
-
Interactive installer auto-detects your platform and guides you through configuration.
|
|
83
|
-
|
|
84
|
-
**Option 2: Claude Code Plugin**
|
|
85
|
-
Install the `prizmkit` plugin via Claude Code's plugin system, then run `/prizmkit-init`.
|
|
71
|
+
## Quick Start (First-Time Setup)
|
|
86
72
|
|
|
87
|
-
|
|
73
|
+
1. `npx prizmkit install .` → installs skills, rules (`prizm-documentation.md`, `prizm-commit-workflow.md`), hooks, platform scaffolding
|
|
74
|
+
2. `/prizmkit-init` → scans project code, generates `.prizm-docs/`, detects tech stack, populates `.prizmkit/config.json`
|
|
75
|
+
3. `/prizmkit-plan` → specify your first feature → produces spec.md + plan.md
|
|
76
|
+
4. `/prizmkit-implement` → TDD implementation following the plan
|
|
77
|
+
5. `/prizmkit-code-review` → review before commit
|
|
78
|
+
6. `/prizmkit-retrospective` → sync `.prizm-docs/` with changes
|
|
79
|
+
7. `/prizmkit-committer` → safe Conventional Commit
|
|
88
80
|
|
|
89
|
-
|
|
90
|
-
- `assets/project-memory-template.md` for the project memory template
|
|
91
|
-
- The init skill creates `prizm-documentation.md` and `prizm-commit-workflow.md` rules
|
|
81
|
+
> **Note**: Rules and hooks are installed by `npx prizmkit install`, not by `/prizmkit-init`.
|