prizmkit 1.0.119 → 1.0.121
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/dev-pipeline/templates/bootstrap-tier2.md +8 -0
- package/bundled/skills/_metadata.json +1 -1
- package/bundled/skills/app-planner/SKILL.md +21 -0
- package/bundled/skills/prizmkit-analyze/SKILL.md +8 -0
- package/bundled/skills/prizmkit-clarify/SKILL.md +1 -0
- package/bundled/skills/prizmkit-plan/SKILL.md +6 -0
- package/bundled/skills/prizmkit-plan/assets/plan-template.md +30 -2
- package/bundled/skills/prizmkit-specify/SKILL.md +12 -2
- package/bundled/skills/prizmkit-specify/assets/spec-template.md +19 -0
- package/package.json +1 -1
- package/bundled/skills/prizmkit-retrospective/assets/retrospective-template.md +0 -13
package/bundled/VERSION.json
CHANGED
|
@@ -129,6 +129,14 @@ ls .prizmkit/specs/{{FEATURE_SLUG}}/plan.md 2>/dev/null
|
|
|
129
129
|
|
|
130
130
|
If either missing, write them yourself:
|
|
131
131
|
- `plan.md`: architecture — components, interfaces, data flow, files to create/modify, testing approach, and a Tasks section with `[ ]` checkboxes ordered by dependency
|
|
132
|
+
|
|
133
|
+
**Database Design Gate** (if feature involves data persistence — new tables, schema changes, new entities):
|
|
134
|
+
Before proceeding past CP-1, verify:
|
|
135
|
+
1. Plan.md Data Model section references existing schema/model files (scan for `*.prisma`, `*.sql`, `migrations/`, `models/`, `*.entity.*` files; read them if not already in context-snapshot)
|
|
136
|
+
2. All new tables/fields follow existing naming conventions, ID strategy, timestamp patterns, and constraint style
|
|
137
|
+
3. No `[NEEDS CLARIFICATION]` remains in Data Model section — resolve by reading existing code and making a conservative choice that matches existing patterns. Document the resolution in plan.md.
|
|
138
|
+
4. If a DB design decision genuinely cannot be resolved from existing code alone, document the assumption made and flag it in the Implementation Log for user review.
|
|
139
|
+
|
|
132
140
|
**CP-1**: plan.md exists with Tasks section.
|
|
133
141
|
|
|
134
142
|
### Phase 3: Implement — Dev Subagent
|
|
@@ -11,6 +11,26 @@ Plan deliverable features for dev-pipeline in two modes:
|
|
|
11
11
|
|
|
12
12
|
Always produce a validated `feature-list.json` that conforms to `dev-pipeline-feature-list`.
|
|
13
13
|
|
|
14
|
+
## Scope Boundary (Hard Rule)
|
|
15
|
+
|
|
16
|
+
**This skill is PLANNING ONLY.** You must NEVER:
|
|
17
|
+
- Create, modify, or delete source code files (*.js, *.ts, *.py, *.go, *.html, *.css, etc.)
|
|
18
|
+
- Create project scaffolding, directories, or boilerplate
|
|
19
|
+
- Run build/install/test commands (npm init, pip install, etc.)
|
|
20
|
+
- Execute any implementation action beyond writing `feature-list.json`
|
|
21
|
+
|
|
22
|
+
**Your ONLY writable outputs are:**
|
|
23
|
+
1. `feature-list.json` (project root)
|
|
24
|
+
2. Architecture decisions appended to `CLAUDE.md` / `CODEBUDDY.md` (with user consent, see §Architecture Decision Capture)
|
|
25
|
+
3. Draft backups in `.prizmkit/planning/`
|
|
26
|
+
|
|
27
|
+
**After planning is complete**, you MUST:
|
|
28
|
+
1. Present the summary and recommended next step
|
|
29
|
+
2. **Ask the user explicitly** whether they want to proceed to execution
|
|
30
|
+
3. If the user agrees → recommend invoking `dev-pipeline-launcher` or running `run.sh` (do NOT execute it yourself)
|
|
31
|
+
4. If the user wants to adjust → continue refining `feature-list.json`
|
|
32
|
+
5. **NEVER auto-execute** the pipeline, launcher, or any implementation step
|
|
33
|
+
|
|
14
34
|
## When to Use
|
|
15
35
|
|
|
16
36
|
Trigger this skill for requests like:
|
|
@@ -22,6 +42,7 @@ Trigger this skill for requests like:
|
|
|
22
42
|
Do NOT use this skill when:
|
|
23
43
|
- user only wants to run pipeline now (invoke `dev-pipeline-launcher`)
|
|
24
44
|
- user is debugging/refactoring unrelated to feature planning
|
|
45
|
+
- user wants to write or modify source code directly
|
|
25
46
|
|
|
26
47
|
## Resource Loading Rules (Mandatory)
|
|
27
48
|
|
|
@@ -107,6 +107,14 @@ Focus on high-signal findings. Limit to **50 findings total**; aggregate remaind
|
|
|
107
107
|
- Task ordering contradictions (e.g., integration tasks before foundational setup without dependency note)
|
|
108
108
|
- Conflicting requirements (e.g., one requires REST while other specifies GraphQL)
|
|
109
109
|
|
|
110
|
+
#### G. Database Design Consistency (when plan.md has Data Model section)
|
|
111
|
+
- New entity/field naming inconsistent with existing schema conventions documented in "Existing Schema Audit"
|
|
112
|
+
- Missing constraints (NOT NULL, UNIQUE, FK, INDEX) on fields where existing similar tables define them
|
|
113
|
+
- Unresolved `[NEEDS CLARIFICATION]` in Data Model section → **CRITICAL** (must be resolved before implementation)
|
|
114
|
+
- Style Conformance Checklist items unchecked → **HIGH** (design not verified against existing conventions)
|
|
115
|
+
- New tables with no foreign key relationship to any existing table (orphan table warning — may indicate missing business logic)
|
|
116
|
+
- Missing migration strategy for schema changes that affect existing data
|
|
117
|
+
|
|
110
118
|
### Step 5: Severity Assignment
|
|
111
119
|
|
|
112
120
|
Use this heuristic to prioritize findings:
|
|
@@ -23,6 +23,7 @@ Interactive requirement clarification that resolves ambiguities in feature speci
|
|
|
23
23
|
1. Read `spec.md` from `.prizmkit/specs/###-feature-name/`
|
|
24
24
|
2. Scan for `[NEEDS CLARIFICATION]` markers and underspecified areas
|
|
25
25
|
3. Categorize ambiguities by dimension and prioritize — address the ones that would most affect architecture and data model first, since those are hardest to change later:
|
|
26
|
+
- Data model (what entities, relationships, constraints?) — **highest priority when DB changes are involved**: field types, nullability, naming conventions, relationships, and constraint patterns must all be resolved before plan finalization. Unresolved DB design decisions during implementation lead to expensive rework.
|
|
26
27
|
- Functional scope (what does it do?)
|
|
27
28
|
- Data model (what entities, relationships?)
|
|
28
29
|
- UX flow (what does the user see?)
|
|
@@ -46,6 +46,12 @@ Generate a comprehensive technical implementation plan from a feature specificat
|
|
|
46
46
|
- Architecture approach (how feature fits into existing structure)
|
|
47
47
|
- Component design (new/modified components)
|
|
48
48
|
- Data model changes (new entities, modified schemas)
|
|
49
|
+
- **Database design gate** (when feature involves DB changes):
|
|
50
|
+
1. Read ALL existing schema/migration/model files to understand current conventions (naming, constraints, relationships, ID strategy, timestamps)
|
|
51
|
+
2. Ensure new schema follows existing patterns — do NOT introduce new conventions unless explicitly justified
|
|
52
|
+
3. Verify every new table/field has: purpose, type, constraints, and relationship to existing entities
|
|
53
|
+
4. If any data model decision is uncertain → mark as `[NEEDS CLARIFICATION]` and resolve via `/prizmkit-clarify` BEFORE generating the Tasks section
|
|
54
|
+
5. **RULE**: The Tasks section MUST NOT be generated until all `[NEEDS CLARIFICATION]` items in Data Model are resolved. Unresolved DB design leads to implementation rework that is expensive to fix after code is written.
|
|
49
55
|
- Interface design (API endpoints, request/response formats, module interfaces)
|
|
50
56
|
- Integration points (external services, internal modules)
|
|
51
57
|
- Testing strategy (unit, integration, e2e)
|
|
@@ -12,7 +12,34 @@
|
|
|
12
12
|
- [Component]: [What changes and why]
|
|
13
13
|
|
|
14
14
|
## Data Model
|
|
15
|
-
|
|
15
|
+
<!-- Skip this section if the feature does not involve database changes -->
|
|
16
|
+
<!-- IMPORTANT: Read existing schema/model files BEFORE designing new tables -->
|
|
17
|
+
|
|
18
|
+
### Existing Schema Audit
|
|
19
|
+
<!-- List existing tables/models reviewed. Note observed conventions. -->
|
|
20
|
+
- Tables reviewed: [list tables examined]
|
|
21
|
+
- Naming convention: [snake_case/camelCase — document what existing schema uses]
|
|
22
|
+
- ID strategy: [UUID/auto-increment/CUID — match existing]
|
|
23
|
+
- Timestamp fields: [created_at/updated_at pattern — match existing]
|
|
24
|
+
- Soft delete: [yes/no, field name if applicable]
|
|
25
|
+
- Constraint patterns: [NOT NULL defaults, UNIQUE patterns, index conventions]
|
|
26
|
+
|
|
27
|
+
### Schema Changes
|
|
28
|
+
| Entity | Type | Fields | Constraints | Relationships | Migration Notes |
|
|
29
|
+
|--------|------|--------|-------------|---------------|-----------------|
|
|
30
|
+
| [name] | new/modify | [field: type, ...] | [NOT NULL, UNIQUE, INDEX, ...] | [FK → existing_table(id)] | [migration strategy] |
|
|
31
|
+
|
|
32
|
+
### Style Conformance Checklist
|
|
33
|
+
- [ ] Table/column naming matches existing conventions
|
|
34
|
+
- [ ] ID strategy consistent with existing tables
|
|
35
|
+
- [ ] Timestamp fields follow existing patterns
|
|
36
|
+
- [ ] Foreign key constraints and indexes defined
|
|
37
|
+
- [ ] Soft delete strategy matches existing pattern (if applicable)
|
|
38
|
+
- [ ] All fields have explicit nullability (NOT NULL or nullable)
|
|
39
|
+
|
|
40
|
+
### Unresolved Questions
|
|
41
|
+
<!-- NONE — all DB design questions must be resolved before proceeding to Tasks -->
|
|
42
|
+
<!-- If any remain, run /prizmkit-clarify to resolve them first -->
|
|
16
43
|
|
|
17
44
|
## Interface Design
|
|
18
45
|
[API endpoints, request/response formats, module interfaces — include all details here]
|
|
@@ -32,7 +59,8 @@
|
|
|
32
59
|
|
|
33
60
|
## Pre-Implementation Gates
|
|
34
61
|
- [ ] Spec coverage: all user stories mapped to components
|
|
35
|
-
- [ ] Data model reviewed
|
|
62
|
+
- [ ] Data model reviewed — existing schema conventions documented and followed
|
|
63
|
+
- [ ] All Data Model `[NEEDS CLARIFICATION]` items resolved (mandatory for DB features)
|
|
36
64
|
- [ ] API contracts defined
|
|
37
65
|
- [ ] Testing approach agreed
|
|
38
66
|
|
|
@@ -39,11 +39,21 @@ Create structured feature specifications from natural language descriptions. Thi
|
|
|
39
39
|
- Scope boundaries (In scope / Out of scope)
|
|
40
40
|
- Dependencies and constraints
|
|
41
41
|
- `[NEEDS CLARIFICATION]` markers for ambiguous items (max 3)
|
|
42
|
-
7.
|
|
42
|
+
7. **Database design detection**: If the feature involves data persistence (new entities, new fields, schema changes), add a `## Data Model` section to spec.md (see template):
|
|
43
|
+
- Scan for existing database schema files to understand current conventions:
|
|
44
|
+
```bash
|
|
45
|
+
find . -maxdepth 4 -type f \( -name "*.prisma" -o -name "*.sql" -o -path "*/migrations/*" -o -path "*/models/*" -o -name "schema.*" -o -name "*.entity.*" \) -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/__pycache__/*' | head -20
|
|
46
|
+
```
|
|
47
|
+
- Read existing schema/model files to extract conventions: naming style (snake_case vs camelCase), ID strategy (UUID vs auto-increment), timestamp patterns, soft-delete approach, constraint patterns, relationship patterns
|
|
48
|
+
- Document in spec.md Data Model section: existing schema reference, new entities needed, relationships to existing tables
|
|
49
|
+
- Mark uncertain fields or relationships with `[NEEDS CLARIFICATION]` — these MUST be resolved before planning
|
|
50
|
+
- **RULE**: Never design new tables in isolation — always reference existing schema to maintain style consistency
|
|
51
|
+
8. Run internal quality validation loop (max 3 iterations):
|
|
43
52
|
- Check: All user stories have acceptance criteria?
|
|
44
53
|
- Check: Scope boundaries clearly defined?
|
|
45
54
|
- Check: No more than 3 `[NEEDS CLARIFICATION]` markers?
|
|
46
|
-
|
|
55
|
+
- Check: If Data Model section exists, are existing schema conventions documented?
|
|
56
|
+
9. Output: `spec.md` path and summary
|
|
47
57
|
|
|
48
58
|
## Writing Principles
|
|
49
59
|
|
|
@@ -24,6 +24,25 @@
|
|
|
24
24
|
## Dependencies
|
|
25
25
|
- [Dependency 1]: [Why needed]
|
|
26
26
|
|
|
27
|
+
## Data Model (if feature involves database changes)
|
|
28
|
+
|
|
29
|
+
### Existing Schema Reference
|
|
30
|
+
<!-- Read existing schema/model files BEFORE designing new tables. Document observed conventions here. -->
|
|
31
|
+
- Tables reviewed: [list existing tables related to this feature]
|
|
32
|
+
- Naming convention: [snake_case/camelCase — match existing]
|
|
33
|
+
- ID strategy: [UUID/auto-increment — match existing]
|
|
34
|
+
- Timestamp pattern: [created_at/updated_at — match existing]
|
|
35
|
+
- Soft delete: [yes/no, field name — match existing]
|
|
36
|
+
|
|
37
|
+
### New/Modified Entities
|
|
38
|
+
| Entity | Type (new/modify) | Key Fields | Relationships | Constraints |
|
|
39
|
+
|--------|-------------------|------------|---------------|-------------|
|
|
40
|
+
| [entity_name] | new | [field: type] | [FK to existing_table] | [NOT NULL, UNIQUE, etc.] |
|
|
41
|
+
|
|
42
|
+
### Open Data Model Questions
|
|
43
|
+
<!-- All questions here MUST be resolved before /prizmkit-plan generates Tasks -->
|
|
44
|
+
- [NEEDS CLARIFICATION] [Any uncertain data model decisions — field types, nullability, relationships]
|
|
45
|
+
|
|
27
46
|
## Constraints
|
|
28
47
|
- [Constraint 1]
|
|
29
48
|
|
package/package.json
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Retrospective: [FEATURE_NAME]
|
|
2
|
-
Date: YYYY-MM-DD
|
|
3
|
-
|
|
4
|
-
## Knowledge Captured
|
|
5
|
-
- TRAPS added: N (list affected modules)
|
|
6
|
-
- RULES added: N (list affected modules)
|
|
7
|
-
- DECISIONS recorded: N (list affected modules)
|
|
8
|
-
|
|
9
|
-
## Key Insights
|
|
10
|
-
- [insight]: [why it matters for future work]
|
|
11
|
-
|
|
12
|
-
## .prizm-docs/ Updates
|
|
13
|
-
- [file]: [what was updated]
|