prizmkit 1.0.0 → 1.0.1
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 +5 -0
- package/bundled/adapters/claude/agent-adapter.js +108 -0
- package/bundled/adapters/claude/command-adapter.js +104 -0
- package/bundled/adapters/claude/paths.js +35 -0
- package/bundled/adapters/claude/rules-adapter.js +77 -0
- package/bundled/adapters/claude/settings-adapter.js +73 -0
- package/bundled/adapters/claude/team-adapter.js +183 -0
- package/bundled/adapters/codebuddy/agent-adapter.js +43 -0
- package/bundled/adapters/codebuddy/paths.js +29 -0
- package/bundled/adapters/codebuddy/settings-adapter.js +47 -0
- package/bundled/adapters/codebuddy/skill-adapter.js +68 -0
- package/bundled/adapters/codebuddy/team-adapter.js +46 -0
- package/bundled/adapters/shared/frontmatter.js +77 -0
- package/bundled/agents/prizm-dev-team-coordinator.md +142 -0
- package/bundled/agents/prizm-dev-team-dev.md +99 -0
- package/bundled/agents/prizm-dev-team-pm.md +114 -0
- package/bundled/agents/prizm-dev-team-reviewer.md +119 -0
- package/bundled/dev-pipeline/README.md +482 -0
- package/bundled/dev-pipeline/assets/feature-list-example.json +147 -0
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +138 -0
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +425 -0
- package/bundled/dev-pipeline/launch-daemon.sh +549 -0
- package/bundled/dev-pipeline/reset-feature.sh +209 -0
- package/bundled/dev-pipeline/retry-bug.sh +344 -0
- package/bundled/dev-pipeline/retry-feature.sh +338 -0
- package/bundled/dev-pipeline/run-bugfix.sh +638 -0
- package/bundled/dev-pipeline/run.sh +845 -0
- package/bundled/dev-pipeline/scripts/check-session-status.py +158 -0
- package/bundled/dev-pipeline/scripts/detect-stuck.py +385 -0
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +598 -0
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +402 -0
- package/bundled/dev-pipeline/scripts/init-bugfix-pipeline.py +294 -0
- package/bundled/dev-pipeline/scripts/init-dev-team.py +134 -0
- package/bundled/dev-pipeline/scripts/init-pipeline.py +335 -0
- package/bundled/dev-pipeline/scripts/update-bug-status.py +748 -0
- package/bundled/dev-pipeline/scripts/update-feature-status.py +1076 -0
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +262 -0
- package/bundled/dev-pipeline/templates/bug-fix-list-schema.json +159 -0
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +291 -0
- package/bundled/dev-pipeline/templates/feature-list-schema.json +112 -0
- package/bundled/dev-pipeline/templates/session-status-schema.json +77 -0
- package/bundled/skills/_metadata.json +267 -0
- package/bundled/skills/app-planner/SKILL.md +580 -0
- package/bundled/skills/app-planner/assets/planning-guide.md +313 -0
- package/bundled/skills/app-planner/scripts/validate-and-generate.py +758 -0
- package/bundled/skills/bug-planner/SKILL.md +235 -0
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +252 -0
- package/bundled/skills/dev-pipeline-launcher/SKILL.md +223 -0
- package/bundled/skills/prizm-kit/SKILL.md +151 -0
- package/bundled/skills/prizm-kit/assets/claude-md-template.md +38 -0
- package/bundled/skills/prizm-kit/assets/codebuddy-md-template.md +35 -0
- package/bundled/skills/prizm-kit/assets/hooks/prizm-commit-hook.json +15 -0
- package/bundled/skills/prizmkit-adr-manager/SKILL.md +68 -0
- package/bundled/skills/prizmkit-adr-manager/assets/adr-template.md +26 -0
- package/bundled/skills/prizmkit-analyze/SKILL.md +194 -0
- package/bundled/skills/prizmkit-api-doc-generator/SKILL.md +56 -0
- package/bundled/skills/prizmkit-bug-fix-workflow/SKILL.md +351 -0
- package/bundled/skills/prizmkit-bug-reproducer/SKILL.md +62 -0
- package/bundled/skills/prizmkit-ci-cd-generator/SKILL.md +54 -0
- package/bundled/skills/prizmkit-clarify/SKILL.md +52 -0
- package/bundled/skills/prizmkit-code-review/SKILL.md +70 -0
- package/bundled/skills/prizmkit-committer/SKILL.md +117 -0
- package/bundled/skills/prizmkit-db-migration/SKILL.md +65 -0
- package/bundled/skills/prizmkit-dependency-health/SKILL.md +123 -0
- package/bundled/skills/prizmkit-deployment-strategy/SKILL.md +58 -0
- package/bundled/skills/prizmkit-error-triage/SKILL.md +55 -0
- package/bundled/skills/prizmkit-implement/SKILL.md +47 -0
- package/bundled/skills/prizmkit-init/SKILL.md +156 -0
- package/bundled/skills/prizmkit-log-analyzer/SKILL.md +55 -0
- package/bundled/skills/prizmkit-monitoring-setup/SKILL.md +75 -0
- package/bundled/skills/prizmkit-onboarding-generator/SKILL.md +70 -0
- package/bundled/skills/prizmkit-perf-profiler/SKILL.md +55 -0
- package/bundled/skills/prizmkit-plan/SKILL.md +54 -0
- package/bundled/skills/prizmkit-plan/assets/plan-template.md +37 -0
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +140 -0
- package/bundled/skills/prizmkit-prizm-docs/assets/PRIZM-SPEC.md +943 -0
- package/bundled/skills/prizmkit-retrospective/SKILL.md +79 -0
- package/bundled/skills/prizmkit-security-audit/SKILL.md +130 -0
- package/bundled/skills/prizmkit-specify/SKILL.md +52 -0
- package/bundled/skills/prizmkit-specify/assets/spec-template.md +37 -0
- package/bundled/skills/prizmkit-summarize/SKILL.md +51 -0
- package/bundled/skills/prizmkit-summarize/assets/registry-template.md +18 -0
- package/bundled/skills/prizmkit-tasks/SKILL.md +50 -0
- package/bundled/skills/prizmkit-tasks/assets/tasks-template.md +21 -0
- package/bundled/skills/prizmkit-tech-debt-tracker/SKILL.md +139 -0
- package/bundled/team/prizm-dev-team.json +47 -0
- package/bundled/templates/claude-md-template.md +38 -0
- package/bundled/templates/codebuddy-md-template.md +35 -0
- package/package.json +2 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-retrospective"
|
|
3
|
+
description: "Post-feature retrospective. Extracts lessons from completed features, updates Prizm docs TRAPS and RULES. Invoke after feature completion. (project)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PrizmKit Retrospective
|
|
7
|
+
|
|
8
|
+
Post-feature retrospective analysis that extracts lessons learned, updates Prizm documentation with discovered traps and rules, and documents improvements for future reference.
|
|
9
|
+
|
|
10
|
+
### When to Use
|
|
11
|
+
- After completing a feature (spec, plan, tasks, implementation all done)
|
|
12
|
+
- User says "retrospective", "retro", "lessons learned", "what did we learn"
|
|
13
|
+
- Before starting a new major feature (to apply lessons from the last one)
|
|
14
|
+
|
|
15
|
+
### prizmkit.retrospective
|
|
16
|
+
|
|
17
|
+
PRECONDITION: Completed feature with spec.md, plan.md, tasks.md in .prizmkit/specs/
|
|
18
|
+
|
|
19
|
+
### Steps
|
|
20
|
+
|
|
21
|
+
#### Step 1: Gather Feature Artifacts
|
|
22
|
+
Read all feature artifacts from .prizmkit/specs/###-feature-name/:
|
|
23
|
+
- spec.md (original requirements and acceptance criteria)
|
|
24
|
+
- plan.md (architecture decisions and implementation plan)
|
|
25
|
+
- tasks.md (task breakdown and status)
|
|
26
|
+
- data-model.md (if exists)
|
|
27
|
+
- contracts/ directory (if exists)
|
|
28
|
+
|
|
29
|
+
#### Step 2: Analyze Implementation
|
|
30
|
+
Compare planned vs actual:
|
|
31
|
+
- Tasks completed vs skipped — why were tasks skipped?
|
|
32
|
+
- Architecture deviations from plan — what changed and why?
|
|
33
|
+
- Unexpected challenges encountered — what surprised us?
|
|
34
|
+
- Time-intensive areas — what took longer than expected?
|
|
35
|
+
|
|
36
|
+
#### Step 3: Extract Lessons
|
|
37
|
+
Categorize findings:
|
|
38
|
+
- **What went well** (reinforce these patterns)
|
|
39
|
+
- **What went wrong** (create anti-patterns to avoid)
|
|
40
|
+
- **What was surprising** (new patterns to document)
|
|
41
|
+
- **What would you do differently** (improvement candidates)
|
|
42
|
+
|
|
43
|
+
NOTE: If bug fixes were performed during this feature's implementation, they are refinements of the feature itself (completing its intended behavior), NOT separate features. Do not create separate documentation entries or REGISTRY records for bug fixes.
|
|
44
|
+
|
|
45
|
+
#### Step 4: Generate Retrospective Document
|
|
46
|
+
Write retrospective.md in .prizmkit/specs/###-feature-name/:
|
|
47
|
+
```markdown
|
|
48
|
+
# Retrospective: <feature-name>
|
|
49
|
+
Date: YYYY-MM-DD
|
|
50
|
+
|
|
51
|
+
## Summary Statistics
|
|
52
|
+
- Tasks total: N
|
|
53
|
+
- Tasks completed: N
|
|
54
|
+
- Tasks skipped: N (with reasons)
|
|
55
|
+
|
|
56
|
+
## Key Decisions
|
|
57
|
+
- Decision: <what> | Outcome: <good/bad/neutral> | Lesson: <takeaway>
|
|
58
|
+
|
|
59
|
+
## Patterns Discovered
|
|
60
|
+
- Pattern: <name> | Context: <when to apply> | Benefit: <why>
|
|
61
|
+
|
|
62
|
+
## Anti-Patterns Discovered
|
|
63
|
+
- Anti-pattern: <name> | Context: <when it occurred> | Fix: <what to do instead>
|
|
64
|
+
|
|
65
|
+
## Improvement Suggestions
|
|
66
|
+
- Skill: <skill-name> | Suggestion: <what to improve>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### Step 5: Update Prizm Docs
|
|
70
|
+
For each lesson learned, update the relevant `.prizm-docs/` files:
|
|
71
|
+
- Add discovered pitfalls to the affected module's TRAPS section
|
|
72
|
+
- Add new conventions or rules to the affected module's RULES section
|
|
73
|
+
- Append decisions to DECISIONS section with rationale
|
|
74
|
+
- Update changelog.prizm with retrospective findings
|
|
75
|
+
|
|
76
|
+
#### Step 6: Handoff
|
|
77
|
+
Suggest next action:
|
|
78
|
+
- `prizmkit.specify` — start next feature
|
|
79
|
+
- No action needed — just documenting for future reference
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-security-audit"
|
|
3
|
+
tier: 2
|
|
4
|
+
description: "[Tier 2] AI-assisted security review checklist via static code analysis. Identifies common vulnerability patterns and hardcoded secrets. Not an automated scanner. (project)"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# PrizmKit Security Audit
|
|
8
|
+
|
|
9
|
+
Comprehensive security scanner that identifies vulnerabilities, hardcoded secrets, and insecure patterns across the codebase. Generates a severity-rated report with actionable fix suggestions.
|
|
10
|
+
|
|
11
|
+
### When to Use
|
|
12
|
+
- User says "security audit", "security review", "check for vulnerabilities"
|
|
13
|
+
- Before deployment or release
|
|
14
|
+
- After adding authentication, authorization, or data handling code
|
|
15
|
+
- During code review of security-sensitive changes
|
|
16
|
+
|
|
17
|
+
### prizmkit.security-audit
|
|
18
|
+
|
|
19
|
+
### Steps
|
|
20
|
+
|
|
21
|
+
#### Step 1: Load Project Context
|
|
22
|
+
Read .prizm-docs/root.prizm for:
|
|
23
|
+
- Project tech stack and languages
|
|
24
|
+
- Architecture overview
|
|
25
|
+
- Module structure
|
|
26
|
+
|
|
27
|
+
#### Step 2: Scan for Vulnerabilities
|
|
28
|
+
Scan code files across these categories:
|
|
29
|
+
|
|
30
|
+
**Injection**
|
|
31
|
+
- SQL injection: raw query concatenation, unsanitized user input in queries
|
|
32
|
+
- XSS: unescaped output in templates, innerHTML usage, dangerouslySetInnerHTML
|
|
33
|
+
- Command injection: shell exec with user input, unsanitized system calls
|
|
34
|
+
- LDAP injection: unescaped LDAP filter construction
|
|
35
|
+
|
|
36
|
+
**Authentication**
|
|
37
|
+
- Weak password handling: plaintext storage, weak hashing (MD5, SHA1)
|
|
38
|
+
- Missing auth checks: unprotected routes/endpoints
|
|
39
|
+
- Session management: predictable session IDs, missing expiration
|
|
40
|
+
|
|
41
|
+
**Authorization**
|
|
42
|
+
- Broken access control: missing role checks, horizontal privilege escalation
|
|
43
|
+
- IDOR: direct object references without ownership validation
|
|
44
|
+
- Privilege escalation: admin functions without proper guards
|
|
45
|
+
|
|
46
|
+
**Data Exposure**
|
|
47
|
+
- Hardcoded credentials: API keys, tokens, passwords in source code
|
|
48
|
+
- Sensitive data in logs: PII, credentials, tokens logged in plaintext
|
|
49
|
+
- Unencrypted sensitive data: passwords, SSN, credit cards stored in plain text
|
|
50
|
+
|
|
51
|
+
**Configuration**
|
|
52
|
+
- Debug mode enabled in production configs
|
|
53
|
+
- Default credentials in configuration files
|
|
54
|
+
- Insecure defaults: CORS *, permissive CSP, disabled CSRF
|
|
55
|
+
|
|
56
|
+
**Dependencies**
|
|
57
|
+
- Cross-reference package manifests (package.json, requirements.txt, etc.)
|
|
58
|
+
- Flag known vulnerable version ranges where identifiable
|
|
59
|
+
|
|
60
|
+
**Cryptography**
|
|
61
|
+
- Weak algorithms: DES, RC4, MD5 for security purposes
|
|
62
|
+
- Hardcoded encryption keys or IVs
|
|
63
|
+
- Improper random generation: Math.random() for security tokens
|
|
64
|
+
|
|
65
|
+
**Input Validation**
|
|
66
|
+
- Missing validation on user inputs
|
|
67
|
+
- Improper sanitization or escaping
|
|
68
|
+
- Regex DoS (ReDoS) patterns
|
|
69
|
+
|
|
70
|
+
#### Step 3: Check Sensitive File Handling
|
|
71
|
+
- Verify .gitignore covers: .env, credentials.json, *.pem, *.key, *.p12
|
|
72
|
+
- Check for sensitive files already tracked in git
|
|
73
|
+
- Flag any secrets that may have been committed historically
|
|
74
|
+
|
|
75
|
+
#### Step 4: Classify Findings
|
|
76
|
+
Rate each finding by severity:
|
|
77
|
+
- **CRITICAL**: Actively exploitable, data breach risk, hardcoded production secrets
|
|
78
|
+
- **HIGH**: Significant vulnerability requiring immediate attention
|
|
79
|
+
- **MEDIUM**: Security weakness that should be addressed
|
|
80
|
+
- **LOW**: Minor issue or best practice improvement
|
|
81
|
+
|
|
82
|
+
Maximum 50 findings per report.
|
|
83
|
+
|
|
84
|
+
#### Step 5: Generate Report
|
|
85
|
+
Output structured security report to conversation (READ-ONLY, no file modifications):
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
# Security Audit Report
|
|
89
|
+
Date: YYYY-MM-DD
|
|
90
|
+
Project: <project-name>
|
|
91
|
+
|
|
92
|
+
## Summary
|
|
93
|
+
- Critical: N | High: N | Medium: N | Low: N
|
|
94
|
+
- Files scanned: N
|
|
95
|
+
- Categories checked: N
|
|
96
|
+
|
|
97
|
+
## Critical Findings
|
|
98
|
+
### [C-001] <Title>
|
|
99
|
+
- **File**: path/to/file.ext:line
|
|
100
|
+
- **Category**: Injection / Auth / etc.
|
|
101
|
+
- **Description**: What the issue is
|
|
102
|
+
- **Impact**: What could happen if exploited
|
|
103
|
+
- **Fix**: How to remediate
|
|
104
|
+
|
|
105
|
+
## High Findings
|
|
106
|
+
...
|
|
107
|
+
|
|
108
|
+
## Medium Findings
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
## Low Findings
|
|
112
|
+
...
|
|
113
|
+
|
|
114
|
+
## Recommendations
|
|
115
|
+
1. Immediate actions (Critical + High)
|
|
116
|
+
2. Short-term improvements (Medium)
|
|
117
|
+
3. Long-term hardening (Low + best practices)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### Step 6: Suggest Fixes
|
|
121
|
+
For CRITICAL and HIGH findings:
|
|
122
|
+
- Provide specific code fix suggestions
|
|
123
|
+
- Reference security best practices
|
|
124
|
+
- Link to relevant documentation where applicable
|
|
125
|
+
|
|
126
|
+
#### Step 7: Record Findings (Optional)
|
|
127
|
+
If `.prizm-docs/` exists:
|
|
128
|
+
- Update affected module RULES with security conventions discovered
|
|
129
|
+
- Update affected module TRAPS with security pitfalls found
|
|
130
|
+
- Track security posture improvements over time via changelog.prizm
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-specify"
|
|
3
|
+
description: "Create structured feature specifications from natural language. Invoke when starting a new feature, user says 'specify', 'define feature', or 'write requirements'. (project)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PrizmKit Specify
|
|
7
|
+
|
|
8
|
+
Create structured feature specifications from natural language descriptions. This skill transforms a feature idea into a well-structured spec with user stories, acceptance criteria, and scope boundaries.
|
|
9
|
+
|
|
10
|
+
## Commands
|
|
11
|
+
|
|
12
|
+
### prizmkit.specify
|
|
13
|
+
|
|
14
|
+
Create a new feature specification.
|
|
15
|
+
|
|
16
|
+
**STEPS:**
|
|
17
|
+
|
|
18
|
+
1. Ask user for feature description (natural language)
|
|
19
|
+
2. Auto-generate 2-4 word feature slug from description
|
|
20
|
+
3. Determine next feature number by scanning `.prizmkit/specs/`
|
|
21
|
+
4. Create directory: `.prizmkit/specs/###-feature-name/`
|
|
22
|
+
5. Read Prizm docs (`.prizm-docs/root.prizm`) for project context
|
|
23
|
+
6. Generate `spec.md` from template (`${SKILL_DIR}/assets/spec-template.md`) focusing on:
|
|
24
|
+
- Feature title and description
|
|
25
|
+
- User stories (As a... I want... So that...)
|
|
26
|
+
- Acceptance criteria (Given/When/Then)
|
|
27
|
+
- Scope boundaries (In scope / Out of scope)
|
|
28
|
+
- Dependencies and constraints
|
|
29
|
+
- `[NEEDS CLARIFICATION]` markers for ambiguous items (max 3)
|
|
30
|
+
7. Run internal quality validation loop (max 3 iterations):
|
|
31
|
+
- Check: All user stories have acceptance criteria?
|
|
32
|
+
- Check: Scope boundaries clearly defined?
|
|
33
|
+
- Check: No more than 3 `[NEEDS CLARIFICATION]` markers?
|
|
34
|
+
8. Output: `spec.md` path and summary
|
|
35
|
+
|
|
36
|
+
**KEY RULES:**
|
|
37
|
+
- Focus on WHAT and WHY, never HOW (no tech stack details)
|
|
38
|
+
- Max 3 `[NEEDS CLARIFICATION]` markers
|
|
39
|
+
- Every user story MUST have at least one acceptance criterion in Given/When/Then format
|
|
40
|
+
- Scope boundaries MUST be explicitly defined
|
|
41
|
+
- Feature numbers are zero-padded to 3 digits (e.g., `001`, `012`)
|
|
42
|
+
|
|
43
|
+
**HANDOFF:** `prizmkit.plan` or `prizmkit.clarify`
|
|
44
|
+
|
|
45
|
+
## Template
|
|
46
|
+
|
|
47
|
+
The spec template is located at `${SKILL_DIR}/assets/spec-template.md`.
|
|
48
|
+
|
|
49
|
+
## Output
|
|
50
|
+
|
|
51
|
+
All outputs are written to `.prizmkit/specs/###-feature-name/`:
|
|
52
|
+
- `spec.md` — The feature specification
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Feature: [FEATURE_TITLE]
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
[One paragraph describing the feature purpose and business value]
|
|
5
|
+
|
|
6
|
+
## User Stories
|
|
7
|
+
|
|
8
|
+
### US1: [Story Title]
|
|
9
|
+
**As a** [role]
|
|
10
|
+
**I want** [capability]
|
|
11
|
+
**So that** [benefit]
|
|
12
|
+
|
|
13
|
+
**Acceptance Criteria:**
|
|
14
|
+
- [ ] Given [context], When [action], Then [expected result]
|
|
15
|
+
|
|
16
|
+
## Scope
|
|
17
|
+
|
|
18
|
+
### In Scope
|
|
19
|
+
- [Item 1]
|
|
20
|
+
|
|
21
|
+
### Out of Scope
|
|
22
|
+
- [Item 1]
|
|
23
|
+
|
|
24
|
+
## Dependencies
|
|
25
|
+
- [Dependency 1]: [Why needed]
|
|
26
|
+
|
|
27
|
+
## Constraints
|
|
28
|
+
- [Constraint 1]
|
|
29
|
+
|
|
30
|
+
## Clarifications
|
|
31
|
+
[NEEDS CLARIFICATION]: [Ambiguous item]
|
|
32
|
+
|
|
33
|
+
## Review Checklist
|
|
34
|
+
- [ ] All user stories have acceptance criteria
|
|
35
|
+
- [ ] Scope boundaries are clearly defined
|
|
36
|
+
- [ ] Dependencies are identified
|
|
37
|
+
- [ ] No implementation details (WHAT not HOW)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-summarize"
|
|
3
|
+
description: "Archive completed features to REGISTRY.md. Extracts metadata from specs, scans code, updates feature index. Invoke after code review passes or feature is done. (project)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PrizmKit Summarize
|
|
7
|
+
|
|
8
|
+
Archive completed features to the feature registry. Extracts metadata from specs and code, generates a registry entry, and appends a changelog record. Idempotent — re-running produces the same output.
|
|
9
|
+
|
|
10
|
+
## Commands
|
|
11
|
+
|
|
12
|
+
### prizmkit.summarize
|
|
13
|
+
|
|
14
|
+
Archive a completed feature to the registry.
|
|
15
|
+
|
|
16
|
+
**PRECONDITION:** `spec.md`, `plan.md`, `tasks.md` exist in `.prizmkit/specs/###-feature-name/`
|
|
17
|
+
|
|
18
|
+
**STEPS:**
|
|
19
|
+
|
|
20
|
+
1. Read `spec.md`, `plan.md`, `tasks.md`
|
|
21
|
+
2. Analyze `tasks.md` completion rate — warn if < 100%
|
|
22
|
+
3. Scan actual code directories for core file paths
|
|
23
|
+
4. Generate REGISTRY entry:
|
|
24
|
+
- Feature number and name
|
|
25
|
+
- Branch name
|
|
26
|
+
- Status (complete/partial)
|
|
27
|
+
- Key files and directories
|
|
28
|
+
- API endpoints added/modified
|
|
29
|
+
- Data model changes
|
|
30
|
+
- Completion date
|
|
31
|
+
5. Append to `.prizmkit/specs/REGISTRY.md` (create from template `${SKILL_DIR}/assets/registry-template.md` if not exists)
|
|
32
|
+
6. Append changelog entry
|
|
33
|
+
7. Output: registry entry summary
|
|
34
|
+
|
|
35
|
+
**KEY RULES:**
|
|
36
|
+
- Idempotent: same input MUST produce same output on re-run
|
|
37
|
+
- If `tasks.md` completion < 100%, status is "Partial" with warning
|
|
38
|
+
- REGISTRY.md is append-only — never modify existing entries
|
|
39
|
+
- Changelog entries use format: `YYYY-MM-DD | [###] [Feature Name] | [Status]`
|
|
40
|
+
- If REGISTRY.md does not exist, create it from template before appending
|
|
41
|
+
- **Bug fixes MUST NOT create new REGISTRY.md entries.** Bugs are refinements of incomplete existing features, not new functionality. Bug fix commits should only update the original feature's changelog, not generate a new registry entry. Do NOT invoke this skill for bug fix commits.
|
|
42
|
+
|
|
43
|
+
**HANDOFF:** `prizmkit.specify` (start next feature) or `prizmkit.retrospective` (extract lessons)
|
|
44
|
+
|
|
45
|
+
## Template
|
|
46
|
+
|
|
47
|
+
The registry template is located at `${SKILL_DIR}/assets/registry-template.md`.
|
|
48
|
+
|
|
49
|
+
## Output
|
|
50
|
+
|
|
51
|
+
- `.prizmkit/specs/REGISTRY.md` — Updated with new feature entry and changelog record
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# PrizmKit Feature Registry
|
|
2
|
+
|
|
3
|
+
> Auto-generated by prizmkit-summarize. Do not edit manually.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
### [###] [Feature Name]
|
|
8
|
+
- **Branch**: ###-feature-name
|
|
9
|
+
- **Status**: Complete | Partial
|
|
10
|
+
- **Date**: YYYY-MM-DD
|
|
11
|
+
- **Key Files**: [list]
|
|
12
|
+
- **API Changes**: [summary]
|
|
13
|
+
- **Data Changes**: [summary]
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Changelog
|
|
18
|
+
- YYYY-MM-DD | [###] [Feature Name] | [Status]
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-tasks"
|
|
3
|
+
description: "Generate executable task breakdown from implementation plan. Creates tasks.md with dependency ordering, parallel markers, and file paths. Invoke after 'plan'. (project)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PrizmKit Tasks
|
|
7
|
+
|
|
8
|
+
Generate an executable task breakdown from an implementation plan. Produces tasks.md organized by phases with dependency ordering, parallel execution markers, and target file paths.
|
|
9
|
+
|
|
10
|
+
## Commands
|
|
11
|
+
|
|
12
|
+
### prizmkit.tasks
|
|
13
|
+
|
|
14
|
+
Create a detailed task breakdown for implementation.
|
|
15
|
+
|
|
16
|
+
**PRECONDITION:** `spec.md` and `plan.md` exist in `.prizmkit/specs/###-feature-name/`
|
|
17
|
+
|
|
18
|
+
**STEPS:**
|
|
19
|
+
|
|
20
|
+
1. Read `spec.md`, `plan.md`, `data-model.md` (if exists), `contracts/` (if exists)
|
|
21
|
+
2. Generate `tasks.md` from template (`${SKILL_DIR}/assets/tasks-template.md`) organized by:
|
|
22
|
+
- Phase: Setup → Foundational → User Stories (US1→US2→...) → Polish
|
|
23
|
+
- Each task: `- [ ] [T-NNN] [P?] [US?] Description — file: path/to/file`
|
|
24
|
+
- `[P]` marker for tasks that can run in parallel
|
|
25
|
+
- Each user story section is independently implementable and testable
|
|
26
|
+
3. Implementation strategy selection (ask user):
|
|
27
|
+
- **MVP-first**: core features → iterate
|
|
28
|
+
- **Incremental**: story-by-story delivery
|
|
29
|
+
- **Parallel**: independent stories in parallel
|
|
30
|
+
4. Include checkpoint tasks between phases for validation
|
|
31
|
+
5. Output: `tasks.md` path and task count summary
|
|
32
|
+
|
|
33
|
+
**KEY RULES:**
|
|
34
|
+
- Task IDs use zero-padded numbering: `[T-001]`, `[T-010]`, `[T-100]`
|
|
35
|
+
- Setup tasks start at T-001, Foundational at T-010, User Stories at T-100+, Polish at T-900
|
|
36
|
+
- Every task MUST reference a target file path
|
|
37
|
+
- `[P]` marker indicates tasks that can execute in parallel within their phase
|
|
38
|
+
- Checkpoint tasks MUST appear between phases
|
|
39
|
+
- Each user story section MUST be independently testable
|
|
40
|
+
|
|
41
|
+
**HANDOFF:** `prizmkit.implement`
|
|
42
|
+
|
|
43
|
+
## Template
|
|
44
|
+
|
|
45
|
+
The tasks template is located at `${SKILL_DIR}/assets/tasks-template.md`.
|
|
46
|
+
|
|
47
|
+
## Output
|
|
48
|
+
|
|
49
|
+
All outputs are written to `.prizmkit/specs/###-feature-name/`:
|
|
50
|
+
- `tasks.md` — The task breakdown
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Tasks: [FEATURE_TITLE]
|
|
2
|
+
|
|
3
|
+
## Strategy: [MVP-first | Incremental | Parallel]
|
|
4
|
+
|
|
5
|
+
## Phase: Setup
|
|
6
|
+
- [ ] [T-001] Project scaffolding — file: [path]
|
|
7
|
+
|
|
8
|
+
## Phase: Foundational
|
|
9
|
+
- [ ] [T-010] [Data model / Schema changes] — file: [path]
|
|
10
|
+
|
|
11
|
+
## Phase: User Story 1 — [Title]
|
|
12
|
+
- [ ] [T-100] [P] [US1] [Task description] — file: [path]
|
|
13
|
+
|
|
14
|
+
## Phase: Polish
|
|
15
|
+
- [ ] [T-900] Final integration test
|
|
16
|
+
- [ ] [T-901] Documentation update
|
|
17
|
+
|
|
18
|
+
## Checkpoints
|
|
19
|
+
- [ ] [CP-1] After Setup: project builds and tests pass
|
|
20
|
+
- [ ] [CP-2] After Foundational: data model verified
|
|
21
|
+
- [ ] [CP-3] After each US: acceptance criteria pass
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-tech-debt-tracker"
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "[Tier 1] Identify and track technical debt via code pattern analysis. Scans TODOs, complexity hotspots, code smells. AI strength. (project)"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# PrizmKit Tech Debt Tracker
|
|
8
|
+
|
|
9
|
+
Systematic technical debt identification and tracking. Scans the codebase for code smells, TODO markers, complexity hotspots, missing tests, and other debt indicators. Generates a prioritized report with actionable recommendations.
|
|
10
|
+
|
|
11
|
+
### When to Use
|
|
12
|
+
- User says "tech debt", "code quality", "what needs cleanup"
|
|
13
|
+
- During sprint planning to identify maintenance work
|
|
14
|
+
- Before major refactoring efforts
|
|
15
|
+
- Periodically as part of codebase health monitoring
|
|
16
|
+
|
|
17
|
+
### prizmkit.tech-debt
|
|
18
|
+
|
|
19
|
+
### Steps
|
|
20
|
+
|
|
21
|
+
#### Step 1: Load Project Context
|
|
22
|
+
Read .prizm-docs/ for:
|
|
23
|
+
- Project structure and module boundaries
|
|
24
|
+
- Tech stack and language conventions
|
|
25
|
+
- Existing architecture documentation
|
|
26
|
+
|
|
27
|
+
#### Step 2: Scan for Debt Indicators
|
|
28
|
+
|
|
29
|
+
**TODO/FIXME/HACK/XXX Markers**
|
|
30
|
+
- Search all source files for marker comments
|
|
31
|
+
- Categorize by file and module
|
|
32
|
+
- Extract context (the comment text and surrounding code)
|
|
33
|
+
|
|
34
|
+
**Complexity Hotspots**
|
|
35
|
+
- Files exceeding 500 lines of code
|
|
36
|
+
- Deeply nested logic (4+ levels of nesting)
|
|
37
|
+
- Functions/methods exceeding 100 lines
|
|
38
|
+
- High cyclomatic complexity (many branches/conditions)
|
|
39
|
+
|
|
40
|
+
**Code Duplication**
|
|
41
|
+
- Similar code blocks appearing across multiple files
|
|
42
|
+
- Copy-pasted logic with minor variations
|
|
43
|
+
- Repeated patterns that could be abstracted
|
|
44
|
+
|
|
45
|
+
**Missing Tests**
|
|
46
|
+
- Source files without corresponding test files
|
|
47
|
+
- Public APIs without test coverage
|
|
48
|
+
- Critical paths without integration tests
|
|
49
|
+
|
|
50
|
+
**Outdated Patterns**
|
|
51
|
+
- Deprecated API usage
|
|
52
|
+
- Old language syntax (var instead of let/const, callbacks instead of async/await)
|
|
53
|
+
- Legacy framework patterns
|
|
54
|
+
|
|
55
|
+
**Dead Code**
|
|
56
|
+
- Unused imports and variables
|
|
57
|
+
- Unreachable code blocks
|
|
58
|
+
- Commented-out code blocks (>5 lines)
|
|
59
|
+
- Exported functions with no consumers
|
|
60
|
+
|
|
61
|
+
**Poor Naming**
|
|
62
|
+
- Single-letter variables outside of loops/lambdas
|
|
63
|
+
- Misleading names (obvious cases only)
|
|
64
|
+
- Inconsistent naming conventions within a module
|
|
65
|
+
|
|
66
|
+
**Missing Documentation**
|
|
67
|
+
- Public APIs without doc comments
|
|
68
|
+
- Complex functions without explanatory comments
|
|
69
|
+
- Missing README in significant directories
|
|
70
|
+
|
|
71
|
+
#### Step 3: Calculate Debt Score
|
|
72
|
+
Per module:
|
|
73
|
+
- CRITICAL issues: weight x4 (security-adjacent, data-loss risk)
|
|
74
|
+
- HIGH issues: weight x3 (maintainability blockers)
|
|
75
|
+
- MEDIUM issues: weight x2 (code quality)
|
|
76
|
+
- LOW issues: weight x1 (best practices)
|
|
77
|
+
|
|
78
|
+
Normalize by module size (lines of code) to get debt density.
|
|
79
|
+
|
|
80
|
+
#### Step 4: Generate Prioritized Report
|
|
81
|
+
Write to .prizmkit/tech-debt.md (overwrite each run):
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
# Technical Debt Report
|
|
85
|
+
Generated: YYYY-MM-DD
|
|
86
|
+
|
|
87
|
+
## Summary
|
|
88
|
+
- Total debt items: N
|
|
89
|
+
- Critical: N | High: N | Medium: N | Low: N
|
|
90
|
+
- Modules scanned: N
|
|
91
|
+
|
|
92
|
+
## Top 10 Hotspots (by debt score)
|
|
93
|
+
| Rank | Module/File | Score | Top Issues |
|
|
94
|
+
|------|-------------|-------|------------|
|
|
95
|
+
| 1 | path/file | 42 | complexity, missing tests |
|
|
96
|
+
|
|
97
|
+
## Debt by Category
|
|
98
|
+
| Category | Count | Severity Breakdown |
|
|
99
|
+
|----------|-------|--------------------|
|
|
100
|
+
| TODO markers | N | H:N M:N L:N |
|
|
101
|
+
| Complexity | N | C:N H:N M:N |
|
|
102
|
+
| Missing tests | N | H:N M:N |
|
|
103
|
+
| Dead code | N | M:N L:N |
|
|
104
|
+
| Duplication | N | M:N L:N |
|
|
105
|
+
| Documentation | N | L:N |
|
|
106
|
+
|
|
107
|
+
## Trend
|
|
108
|
+
(If previous report exists in .prizmkit/):
|
|
109
|
+
- Previous total: N → Current: N (improving/degrading)
|
|
110
|
+
- Categories improving: ...
|
|
111
|
+
- Categories degrading: ...
|
|
112
|
+
|
|
113
|
+
## Detailed Findings
|
|
114
|
+
|
|
115
|
+
### Critical
|
|
116
|
+
- [File:Line] Description | Impact | Suggested Fix
|
|
117
|
+
|
|
118
|
+
### High
|
|
119
|
+
- [File:Line] Description | Impact | Suggested Fix
|
|
120
|
+
|
|
121
|
+
### Medium
|
|
122
|
+
...
|
|
123
|
+
|
|
124
|
+
### Low
|
|
125
|
+
...
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### Step 5: Output Summary
|
|
129
|
+
Display to conversation:
|
|
130
|
+
- Overall debt score and trend
|
|
131
|
+
- Top 3 highest-impact items to address first
|
|
132
|
+
- Estimated effort categories (quick fix / medium effort / large refactor)
|
|
133
|
+
|
|
134
|
+
#### Step 6: Suggest Action Items
|
|
135
|
+
Recommend top 3 highest-impact debt items to address first, considering:
|
|
136
|
+
- Severity (critical > high > medium > low)
|
|
137
|
+
- Blast radius (how many modules affected)
|
|
138
|
+
- Effort to fix (prefer quick wins)
|
|
139
|
+
- Risk if left unaddressed
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "prizm-dev-team",
|
|
3
|
+
"team_name": "prizm-dev-team",
|
|
4
|
+
"description": "PrizmKit-integrated Multi-Agent software development team. 4 specialized agents (Coordinator, PM, Dev, Reviewer) following PrizmKit spec-driven workflow with 7-phase pipeline and 4 checkpoints.",
|
|
5
|
+
"lead": "team-lead",
|
|
6
|
+
"communication": {
|
|
7
|
+
"protocol": "SendMessage",
|
|
8
|
+
"routing": "mesh",
|
|
9
|
+
"note": "Teammates 间通过 SendMessage 直接通信,关键消息同时通知 Coordinator"
|
|
10
|
+
},
|
|
11
|
+
"members": [
|
|
12
|
+
{
|
|
13
|
+
"name": "team-lead",
|
|
14
|
+
"role": "lead",
|
|
15
|
+
"agentDefinition": "prizm-dev-team-coordinator",
|
|
16
|
+
"subscriptions": []
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "coordinator",
|
|
20
|
+
"role": "coordinator",
|
|
21
|
+
"agentDefinition": "prizm-dev-team-coordinator",
|
|
22
|
+
"prompt": "You are the Coordinator Agent of the prizm-dev-team. Orchestrate the 7-phase pipeline (init → specify+plan+tasks → analyze → implement → review → summarize → commit). Manage checkpoints CP-0 through CP-3, coordinate PM/Dev/Reviewer agents. Follow PrizmKit workflow.",
|
|
23
|
+
"subscriptions": ["*"]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "pm",
|
|
27
|
+
"role": "pm",
|
|
28
|
+
"agentDefinition": "prizm-dev-team-pm",
|
|
29
|
+
"prompt": "You are the PM Agent of the prizm-dev-team. In a single session, use prizmkit.specify/clarify/plan/tasks to create spec.md, plan.md, and tasks.md. All artifacts go under .prizmkit/specs/###-feature-name/.",
|
|
30
|
+
"subscriptions": ["*"]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "dev",
|
|
34
|
+
"role": "developer",
|
|
35
|
+
"agentDefinition": "prizm-dev-team-dev",
|
|
36
|
+
"prompt": "You are a Dev Agent of the prizm-dev-team. Follow prizmkit.implement workflow with TDD. Read tasks.md/plan.md/spec.md, implement task-by-task, mark completed tasks [x]. Check .prizm-docs/ TRAPS before implementing.",
|
|
37
|
+
"subscriptions": ["*"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "reviewer",
|
|
41
|
+
"role": "reviewer",
|
|
42
|
+
"agentDefinition": "prizm-dev-team-reviewer",
|
|
43
|
+
"prompt": "You are the Reviewer Agent of the prizm-dev-team. In Phase 4: run prizmkit.analyze for cross-document consistency. In Phase 6: run prizmkit.code-review for spec compliance and code quality, write and execute integration tests.",
|
|
44
|
+
"subscriptions": ["*"]
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## PrizmKit Documentation Framework
|
|
2
|
+
|
|
3
|
+
This project uses PrizmKit with the Prizm documentation system for AI-optimized progressive context loading.
|
|
4
|
+
|
|
5
|
+
### Progressive Loading Protocol
|
|
6
|
+
- ON SESSION START: Always read `.prizm-docs/root.prizm` first (L0 — project map)
|
|
7
|
+
- ON TASK: Read L1 (`.prizm-docs/<module>.prizm`) for relevant modules referenced in MODULE_INDEX
|
|
8
|
+
- ON FILE EDIT: Read L2 (`.prizm-docs/<module>/<submodule>.prizm`) before modifying files. Pay attention to TRAPS and DECISIONS.
|
|
9
|
+
- NEVER load all .prizm docs at once. Load only what is needed for the current task.
|
|
10
|
+
|
|
11
|
+
### Auto-Update Protocol
|
|
12
|
+
- BEFORE EVERY COMMIT: Update affected `.prizm-docs/` files
|
|
13
|
+
- The `.claude/rules/` files will enforce this automatically
|
|
14
|
+
- Use `/prizmkit-committer` command for the complete commit workflow
|
|
15
|
+
|
|
16
|
+
### Doc Format Rules
|
|
17
|
+
- All `.prizm` files use KEY: value format, not prose
|
|
18
|
+
- Size limits: L0 = 4KB, L1 = 3KB, L2 = 5KB
|
|
19
|
+
- Arrow notation (->) indicates load pointers to other .prizm docs
|
|
20
|
+
- DECISIONS and CHANGELOG are append-only (never delete entries)
|
|
21
|
+
|
|
22
|
+
### Creating New L2 Docs
|
|
23
|
+
- When you first modify files in a sub-module that has no L2 doc:
|
|
24
|
+
1. Read the source files in that sub-module
|
|
25
|
+
2. Generate a new L2 `.prizm` file following Prizm specification
|
|
26
|
+
3. Add a pointer in the parent L1 doc's SUBDIRS section
|
|
27
|
+
|
|
28
|
+
### Available Commands
|
|
29
|
+
Run `/prizm-kit` to see all available PrizmKit commands.
|
|
30
|
+
|
|
31
|
+
### Fast Path for Simple Changes
|
|
32
|
+
Not every change needs the full spec -> plan -> tasks workflow. Use fast path for:
|
|
33
|
+
- Bug fixes with clear root cause, config tweaks, typo fixes, simple refactors
|
|
34
|
+
- Documentation-only changes, test additions for existing code
|
|
35
|
+
- Directly use `/prizmkit-implement` with inline task description, then `/prizmkit-committer`
|
|
36
|
+
|
|
37
|
+
Use the full workflow (/prizmkit-specify -> /prizmkit-plan -> /prizmkit-tasks -> /prizmkit-analyze -> /prizmkit-implement) for:
|
|
38
|
+
- New features, multi-file coordinated changes, architectural decisions, data model or API changes
|