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,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "dev-pipeline-launcher"
|
|
3
|
+
description: "Launch and manage the dev-pipeline from within a cbc session. Start pipeline in background, monitor logs, check status, stop pipeline. Invoke when user wants to start building features, run the pipeline, or check pipeline progress. (project)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Dev-Pipeline Launcher
|
|
7
|
+
|
|
8
|
+
Launch the autonomous development pipeline from within a cbc conversation. The pipeline runs as a fully detached background process -- closing the cbc session does NOT stop the pipeline.
|
|
9
|
+
|
|
10
|
+
### When to Use
|
|
11
|
+
|
|
12
|
+
**Start pipeline** -- User says:
|
|
13
|
+
- "run pipeline", "start pipeline", "start building", "launch dev-pipeline"
|
|
14
|
+
- "run the features", "execute feature list", "start implementing"
|
|
15
|
+
- "启动流水线", "开始实现", "运行流水线", "开始自动开发"
|
|
16
|
+
- "实现接下来的步骤", "执行 feature list", "开始构建"
|
|
17
|
+
- After app-planner completes: "go", "start", "build it", "开始吧"
|
|
18
|
+
|
|
19
|
+
**Check status** -- User says:
|
|
20
|
+
- "pipeline status", "check pipeline", "how's it going", "progress"
|
|
21
|
+
- "流水线状态", "查看进度", "现在什么情况"
|
|
22
|
+
|
|
23
|
+
**Stop pipeline** -- User says:
|
|
24
|
+
- "stop pipeline", "kill pipeline", "halt", "pause"
|
|
25
|
+
- "停止流水线", "暂停流水线"
|
|
26
|
+
|
|
27
|
+
**Show logs** -- User says:
|
|
28
|
+
- "show logs", "pipeline logs", "tail logs", "what's happening"
|
|
29
|
+
- "查看日志", "流水线日志", "看看日志"
|
|
30
|
+
|
|
31
|
+
**Do NOT use this skill when:**
|
|
32
|
+
- User wants to plan features (use `app-planner` instead)
|
|
33
|
+
- User wants to implement a single feature manually within current session (use `prizmkit-implement`)
|
|
34
|
+
- User wants to define specs/plan (use `prizmkit-specify` / `prizmkit-plan`)
|
|
35
|
+
|
|
36
|
+
### Prerequisites
|
|
37
|
+
|
|
38
|
+
Before any action, validate:
|
|
39
|
+
|
|
40
|
+
1. **dev-pipeline exists**: Confirm `dev-pipeline/launch-daemon.sh` is present and executable
|
|
41
|
+
2. **For start**: `feature-list.json` must exist in project root (or user-specified path)
|
|
42
|
+
3. **Dependencies**: `jq`, `python3`, `cbc` must be in PATH
|
|
43
|
+
|
|
44
|
+
Quick check:
|
|
45
|
+
```bash
|
|
46
|
+
command -v jq && command -v python3 && command -v cbc && echo "All dependencies OK"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
If `feature-list.json` is missing, inform user:
|
|
50
|
+
> "No feature-list.json found. Run the `app-planner` skill first to generate one, or provide a path to your feature list."
|
|
51
|
+
|
|
52
|
+
### Workflow
|
|
53
|
+
|
|
54
|
+
Detect user intent from their message, then follow the corresponding workflow:
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
#### Intent A: Start Pipeline
|
|
59
|
+
|
|
60
|
+
1. **Check prerequisites**:
|
|
61
|
+
```bash
|
|
62
|
+
ls feature-list.json 2>/dev/null && echo "Found" || echo "Missing"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
2. **Check not already running**:
|
|
66
|
+
```bash
|
|
67
|
+
dev-pipeline/launch-daemon.sh status 2>/dev/null
|
|
68
|
+
```
|
|
69
|
+
If running, inform user and ask: "Pipeline is already running. Want to restart it, check status, or view logs?"
|
|
70
|
+
|
|
71
|
+
3. **Show feature summary** (so user knows what will be built):
|
|
72
|
+
```bash
|
|
73
|
+
python3 -c "
|
|
74
|
+
import json
|
|
75
|
+
with open('feature-list.json') as f:
|
|
76
|
+
data = json.load(f)
|
|
77
|
+
features = data.get('features', [])
|
|
78
|
+
print(f'Total features: {len(features)}')
|
|
79
|
+
for f in features:
|
|
80
|
+
print(f\" {f['id']}: {f.get('title', 'untitled')}\")
|
|
81
|
+
"
|
|
82
|
+
```
|
|
83
|
+
If pipeline state already exists, use the status command instead:
|
|
84
|
+
```bash
|
|
85
|
+
python3 dev-pipeline/scripts/update-feature-status.py \
|
|
86
|
+
--feature-list feature-list.json \
|
|
87
|
+
--state-dir dev-pipeline/state \
|
|
88
|
+
--action status 2>/dev/null
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
4. **Ask user to confirm**: "Ready to launch the pipeline? It will process N features in the background."
|
|
92
|
+
|
|
93
|
+
5. **Launch**:
|
|
94
|
+
```bash
|
|
95
|
+
dev-pipeline/launch-daemon.sh start feature-list.json
|
|
96
|
+
```
|
|
97
|
+
If user specified environment overrides (e.g. timeout, retries, verbose):
|
|
98
|
+
```bash
|
|
99
|
+
dev-pipeline/launch-daemon.sh start feature-list.json --env "SESSION_TIMEOUT=7200 MAX_RETRIES=5"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
6. **Verify launch**:
|
|
103
|
+
```bash
|
|
104
|
+
dev-pipeline/launch-daemon.sh status
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
7. **Start log monitoring** -- Use the Bash tool with `run_in_background: true`:
|
|
108
|
+
```bash
|
|
109
|
+
tail -f dev-pipeline/state/pipeline-daemon.log
|
|
110
|
+
```
|
|
111
|
+
This runs in background so you can continue interacting with the user.
|
|
112
|
+
|
|
113
|
+
8. **Report to user**:
|
|
114
|
+
- Pipeline PID
|
|
115
|
+
- Log file location
|
|
116
|
+
- "You can ask me 'pipeline status' or 'show logs' at any time"
|
|
117
|
+
- "Closing this session will NOT stop the pipeline"
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
#### Intent B: Check Status
|
|
122
|
+
|
|
123
|
+
1. **Check daemon status**:
|
|
124
|
+
```bash
|
|
125
|
+
dev-pipeline/launch-daemon.sh status
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
2. **Show feature-level progress**:
|
|
129
|
+
```bash
|
|
130
|
+
python3 dev-pipeline/scripts/update-feature-status.py \
|
|
131
|
+
--feature-list feature-list.json \
|
|
132
|
+
--state-dir dev-pipeline/state \
|
|
133
|
+
--action status
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
3. **Show recent log activity** (last 20 lines):
|
|
137
|
+
```bash
|
|
138
|
+
tail -20 dev-pipeline/state/pipeline-daemon.log
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
4. **Summarize** to user: total features, completed, in-progress, failed, pending.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
#### Intent C: Stop Pipeline
|
|
146
|
+
|
|
147
|
+
1. **Stop the daemon**:
|
|
148
|
+
```bash
|
|
149
|
+
dev-pipeline/launch-daemon.sh stop
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
2. **Verify stopped**:
|
|
153
|
+
```bash
|
|
154
|
+
dev-pipeline/launch-daemon.sh status 2>/dev/null || true
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
3. **Inform user**: "Pipeline stopped. State is preserved -- you can resume later with 'start pipeline' and it will pick up where it left off."
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
#### Intent D: Show Logs
|
|
162
|
+
|
|
163
|
+
1. **Check if running**:
|
|
164
|
+
```bash
|
|
165
|
+
dev-pipeline/launch-daemon.sh status 2>/dev/null
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
2. **If running** -- Start live tail with Bash tool `run_in_background: true`:
|
|
169
|
+
```bash
|
|
170
|
+
tail -f dev-pipeline/state/pipeline-daemon.log
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
3. **If not running** -- Show last 50 lines:
|
|
174
|
+
```bash
|
|
175
|
+
tail -50 dev-pipeline/state/pipeline-daemon.log
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
4. **For per-feature session logs** (when user asks about a specific feature):
|
|
179
|
+
```bash
|
|
180
|
+
# Find current/recent session
|
|
181
|
+
cat dev-pipeline/state/current-session.json 2>/dev/null
|
|
182
|
+
# Then tail that feature's session log
|
|
183
|
+
tail -100 dev-pipeline/state/features/<FEATURE_ID>/sessions/<SESSION_ID>/logs/session.log
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
#### Intent E: Custom Parameters
|
|
189
|
+
|
|
190
|
+
When user specifies custom settings, map to environment variables:
|
|
191
|
+
|
|
192
|
+
| User says | Environment variable |
|
|
193
|
+
|-----------|---------------------|
|
|
194
|
+
| "timeout 2 hours" / "超时2小时" | `SESSION_TIMEOUT=7200` |
|
|
195
|
+
| "max 5 retries" / "最多重试5次" | `MAX_RETRIES=5` |
|
|
196
|
+
| "verbose mode" / "详细模式" | `VERBOSE=1` |
|
|
197
|
+
| "heartbeat every 60s" | `HEARTBEAT_INTERVAL=60` |
|
|
198
|
+
|
|
199
|
+
Pass via `--env`:
|
|
200
|
+
```bash
|
|
201
|
+
dev-pipeline/launch-daemon.sh start feature-list.json --env "SESSION_TIMEOUT=7200 MAX_RETRIES=5 VERBOSE=1"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Error Handling
|
|
205
|
+
|
|
206
|
+
| Error | Action |
|
|
207
|
+
|-------|--------|
|
|
208
|
+
| `feature-list.json` not found | Tell user to run `app-planner` skill first |
|
|
209
|
+
| `jq` not installed | Suggest: `brew install jq` |
|
|
210
|
+
| `cbc` not in PATH | Check CodeBuddy CLI installation |
|
|
211
|
+
| Pipeline already running | Show status, ask if user wants to stop and restart |
|
|
212
|
+
| PID file stale (process dead) | `launch-daemon.sh` auto-cleans, retry start |
|
|
213
|
+
| Launch failed (process died immediately) | Show last 20 lines of log: `tail -20 dev-pipeline/state/pipeline-daemon.log` |
|
|
214
|
+
| All features blocked/failed | Show status, suggest resetting failed features: `dev-pipeline/run.sh run <F-XXX> --clean` |
|
|
215
|
+
| Permission denied on script | Run `chmod +x dev-pipeline/launch-daemon.sh dev-pipeline/run.sh` |
|
|
216
|
+
|
|
217
|
+
### Integration Notes
|
|
218
|
+
|
|
219
|
+
- **After app-planner**: This is the natural next step. When user finishes planning and has `feature-list.json`, suggest launching the pipeline.
|
|
220
|
+
- **Session independence**: The pipeline runs completely detached. User can close cbc, open a new session later, and use this skill to check progress or stop the pipeline.
|
|
221
|
+
- **Single instance**: Only one pipeline can run at a time. The PID file prevents duplicates.
|
|
222
|
+
- **State preservation**: Stopping and restarting the pipeline resumes from where it left off -- completed features are not re-run.
|
|
223
|
+
- **HANDOFF**: After pipeline completes all features, suggest running `prizmkit-code-review` for overall review, or `prizmkit-summarize` to archive.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizm-kit"
|
|
3
|
+
description: "Full-lifecycle dev toolkit. Covers spec-driven development, Prizm context docs, code quality, debugging, deployment, and knowledge management. Use 'prizmkit.*' for help. (project)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PrizmKit — Full-Lifecycle Development Toolkit
|
|
7
|
+
|
|
8
|
+
PrizmKit is a comprehensive, independent AI development toolkit that covers the complete development lifecycle from project inception to delivery and maintenance. It can take over any project and keep documentation in sync with code.
|
|
9
|
+
|
|
10
|
+
## Quick Start
|
|
11
|
+
|
|
12
|
+
**CodeBuddy:**
|
|
13
|
+
```
|
|
14
|
+
prizmkit.init # Take over a project (scan, assess, generate docs)
|
|
15
|
+
prizmkit.specify # Create feature specification
|
|
16
|
+
prizmkit.plan # Generate implementation plan
|
|
17
|
+
prizmkit.tasks # Break down into executable tasks
|
|
18
|
+
prizmkit.analyze # Cross-document consistency check (recommended)
|
|
19
|
+
prizmkit.implement # Execute implementation
|
|
20
|
+
prizmkit.commit # Commit with auto doc update
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Claude Code:**
|
|
24
|
+
```
|
|
25
|
+
/prizmkit-init # Take over a project (scan, assess, generate docs)
|
|
26
|
+
/prizmkit-specify # Create feature specification
|
|
27
|
+
/prizmkit-plan # Generate implementation plan
|
|
28
|
+
/prizmkit-tasks # Break down into executable tasks
|
|
29
|
+
/prizmkit-analyze # Cross-document consistency check (recommended)
|
|
30
|
+
/prizmkit-implement # Execute implementation
|
|
31
|
+
/prizmkit-committer # Commit with auto doc update
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## When to Use the Full Workflow
|
|
35
|
+
|
|
36
|
+
**Use full workflow (specify -> plan -> tasks -> implement):**
|
|
37
|
+
- New features or user-facing capabilities
|
|
38
|
+
- Multi-file coordinated changes
|
|
39
|
+
- Architectural decisions
|
|
40
|
+
- Data model or API changes
|
|
41
|
+
|
|
42
|
+
**Use fast path (implement -> commit directly):**
|
|
43
|
+
- Bug fixes with clear root cause
|
|
44
|
+
- Single-file config or typo fixes
|
|
45
|
+
- Simple refactors (rename, extract)
|
|
46
|
+
- Documentation-only changes
|
|
47
|
+
- Test additions for existing code
|
|
48
|
+
|
|
49
|
+
For fast-path changes, you can directly use the implement command with inline task description, then the commit command.
|
|
50
|
+
- CodeBuddy: `prizmkit.implement` → `prizmkit.commit`
|
|
51
|
+
- Claude Code: `/prizmkit-implement` → `/prizmkit-committer`
|
|
52
|
+
|
|
53
|
+
### Bug Fix Documentation Policy
|
|
54
|
+
|
|
55
|
+
**Bug fixes MUST NOT create new documentation entries.** Bug fixes are refinements of incomplete existing features — they complete what was already planned, not introduce new functionality. Specifically:
|
|
56
|
+
|
|
57
|
+
- Do NOT run `prizmkit.summarize` for bug fix commits (no new REGISTRY.md entries)
|
|
58
|
+
- Do NOT create new spec/plan/tasks under `.prizmkit/specs/` for bug fixes
|
|
59
|
+
- Do NOT update `.prizm-docs/` module docs for pure bug fixes (no interface/dependency change)
|
|
60
|
+
- Bug fix commits use `fix(<scope>):` prefix in Conventional Commits, not `feat:`
|
|
61
|
+
|
|
62
|
+
All documentation records are for: features, projects, code logic, and module indexes. Bug fixes do not alter the system's functional scope — they bring existing features to their intended state.
|
|
63
|
+
|
|
64
|
+
## Architecture
|
|
65
|
+
|
|
66
|
+
PrizmKit produces two complementary knowledge layers:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
.prizm-docs/ → Project "what is" (static: structure, interfaces, rules, traps, decisions)
|
|
70
|
+
.prizmkit/specs/ → Feature "what to do" (workflow: spec → plan → tasks → code)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Skill Inventory (32 skills)
|
|
74
|
+
|
|
75
|
+
### Foundation (3)
|
|
76
|
+
- **prizm-kit** — Full-lifecycle dev toolkit entry point
|
|
77
|
+
- **prizmkit-init** — Project takeover: scan → assess → generate docs → initialize
|
|
78
|
+
- **prizmkit-prizm-docs** — Prizm documentation framework: `prizmkit.doc.init`, `prizmkit.doc.update`, `prizmkit.doc.status`, `prizmkit.doc.rebuild`, `prizmkit.doc.validate`, `prizmkit.doc.migrate`
|
|
79
|
+
|
|
80
|
+
### Spec-Driven Workflow (10)
|
|
81
|
+
- **prizmkit-specify** — Create structured feature specifications from natural language
|
|
82
|
+
- **prizmkit-clarify** — Interactive requirement clarification
|
|
83
|
+
- **prizmkit-plan** — Generate technical plan + data model + API contracts
|
|
84
|
+
- **prizmkit-tasks** — Break plan into executable task list
|
|
85
|
+
- **prizmkit-analyze** — Cross-document consistency analysis (spec ↔ plan ↔ tasks)
|
|
86
|
+
- **prizmkit-implement** — Execute tasks following TDD approach
|
|
87
|
+
- **prizmkit-code-review** — Review code against spec and plan
|
|
88
|
+
- **prizmkit-summarize** — Archive completed features to REGISTRY.md
|
|
89
|
+
- **prizmkit-committer** — Commit workflow with automatic Prizm doc update
|
|
90
|
+
- **prizmkit-retrospective** — Post-feature learning: extract lessons → update Prizm docs
|
|
91
|
+
|
|
92
|
+
### Quality Assurance (5)
|
|
93
|
+
- **prizmkit-tech-debt-tracker** — [Tier 1] Technical debt identification and tracking via code pattern analysis
|
|
94
|
+
- **prizmkit-bug-reproducer** — [Tier 1] Generate minimal reproduction scripts and test cases
|
|
95
|
+
- **prizmkit-adr-manager** — [Tier 1] Architecture Decision Records management
|
|
96
|
+
- **prizmkit-security-audit** — [Tier 2] AI-assisted security review checklist via static analysis
|
|
97
|
+
- **prizmkit-dependency-health** — [Tier 2] Dependency review based on manifest files
|
|
98
|
+
|
|
99
|
+
### Operations & Deployment (4)
|
|
100
|
+
- **prizmkit-ci-cd-generator** — [Tier 2] Generate CI/CD pipeline config templates
|
|
101
|
+
- **prizmkit-deployment-strategy** — [Tier 2] Deployment planning with rollback procedures
|
|
102
|
+
- **prizmkit-db-migration** — [Tier 2] Database migration script generation
|
|
103
|
+
- **prizmkit-monitoring-setup** — [Tier 2] Generate monitoring config templates
|
|
104
|
+
|
|
105
|
+
### Debugging & Troubleshooting (3)
|
|
106
|
+
- **prizmkit-error-triage** — [Tier 2] Error categorization and root cause analysis
|
|
107
|
+
- **prizmkit-log-analyzer** — [Tier 2] Log pattern recognition via text analysis
|
|
108
|
+
- **prizmkit-perf-profiler** — [Tier 2] Static analysis for performance issues
|
|
109
|
+
|
|
110
|
+
### Documentation (2)
|
|
111
|
+
- **prizmkit-onboarding-generator** — [Tier 2] Generate developer onboarding guides
|
|
112
|
+
- **prizmkit-api-doc-generator** — [Tier 2] Extract API documentation from source code
|
|
113
|
+
|
|
114
|
+
### Pipeline & Companion (5)
|
|
115
|
+
- **prizmkit-bug-fix-workflow** — [Tier 1] End-to-end bug fix workflow: triage → reproduce → fix → verify → commit
|
|
116
|
+
- **app-planner** — Interactive app planning that produces feature-list.json for dev-pipeline
|
|
117
|
+
- **bug-planner** — Interactive bug planning that produces bug-fix-list.json for bugfix-pipeline
|
|
118
|
+
- **dev-pipeline-launcher** — Launch and manage the dev-pipeline from within a CLI session
|
|
119
|
+
- **bugfix-pipeline-launcher** — Launch and manage the bugfix pipeline from within a CLI session
|
|
120
|
+
|
|
121
|
+
### Tier Definitions
|
|
122
|
+
|
|
123
|
+
- **Tier 1**: AI can perform well independently — these tasks align with AI's core strengths (documentation, code pattern analysis, test generation)
|
|
124
|
+
- **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)
|
|
125
|
+
- **Core skills** (no tier label): The 12 foundational, documentation, spec-driven workflow, and commit skills that form PrizmKit's primary value
|
|
126
|
+
|
|
127
|
+
## Installation
|
|
128
|
+
|
|
129
|
+
**Option 1: npm CLI (recommended — works for both platforms)**
|
|
130
|
+
```bash
|
|
131
|
+
npx prizmkit init
|
|
132
|
+
```
|
|
133
|
+
Interactive installer auto-detects your platform and guides you through configuration.
|
|
134
|
+
|
|
135
|
+
**Option 2: Claude Code Plugin**
|
|
136
|
+
Install the `prizmkit` plugin via Claude Code's plugin system, then run `/prizmkit-init`.
|
|
137
|
+
|
|
138
|
+
**Option 3: Manual Install (CodeBuddy)**
|
|
139
|
+
```bash
|
|
140
|
+
python3 ${SKILL_DIR}/scripts/install-prizmkit.py --target <project-skills-dir>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Hook / Rules Configuration
|
|
144
|
+
|
|
145
|
+
**CodeBuddy:** Uses native `type: prompt` hooks for automatic doc updates before commits.
|
|
146
|
+
The hook is configured automatically by `prizmkit-init`. See `assets/hooks/prizm-commit-hook.json`.
|
|
147
|
+
|
|
148
|
+
**Claude Code:** Uses `.claude/rules/` glob-scoped markdown files for automatic enforcement.
|
|
149
|
+
Rules are created automatically by `prizmkit-init` (or `/prizmkit-init`). See:
|
|
150
|
+
- `assets/claude-md-template.md` for the project memory template
|
|
151
|
+
- The init skill creates `prizm-documentation.md` and `prizm-commit-workflow.md` rules
|
|
@@ -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
|
|
@@ -0,0 +1,35 @@
|
|
|
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 UserPromptSubmit hook will remind you automatically
|
|
14
|
+
- Use `prizmkit-committer` skill 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
|
+
### Fast Path for Simple Changes
|
|
29
|
+
Not every change needs the full spec -> plan -> tasks workflow. Use fast path for:
|
|
30
|
+
- Bug fixes with clear root cause, config tweaks, typo fixes, simple refactors
|
|
31
|
+
- Documentation-only changes, test additions for existing code
|
|
32
|
+
- Directly use `prizmkit.implement` with inline task description, then `prizmkit.commit`
|
|
33
|
+
|
|
34
|
+
Use the full workflow (specify -> plan -> tasks -> analyze -> implement) for:
|
|
35
|
+
- New features, multi-file coordinated changes, architectural decisions, data model or API changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"UserPromptSubmit": [
|
|
4
|
+
{
|
|
5
|
+
"hooks": [
|
|
6
|
+
{
|
|
7
|
+
"type": "prompt",
|
|
8
|
+
"prompt": "You are a commit-intent detector for PrizmKit. Analyze the user prompt and determine if the user intends to COMMIT, PUSH, FINISH, SHIP, MERGE, or create a PULL REQUEST.\n\nUser prompt: $ARGUMENTS\n\nIF commit intent detected, respond with:\n{\"ok\": true, \"reason\": \"PRIZMKIT_DOC_UPDATE_REQUIRED: Before committing, you MUST update .prizm-docs/ per Prizm auto-update protocol. Steps: 1) Run git diff --cached --name-status. 2) Map changed files to modules via root.prizm MODULE_INDEX. 3) Read and update affected .prizm files (only changed sections). 4) Append to changelog.prizm. 5) Stage .prizm files with git add .prizm-docs/. 6) Then proceed with commit using prizmkit-committer workflow. RULES: Never rewrite entire .prizm files. Never add prose. Only update affected sections.\"}\n\nIF no commit intent, respond with:\n{\"ok\": true}\n\nRespond with JSON only. No explanation.",
|
|
9
|
+
"timeout": 10
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "prizmkit-adr-manager"
|
|
3
|
+
tier: 1
|
|
4
|
+
description: "[Tier 1] Manage Architecture Decision Records. Create, list, and supersede ADRs with full context. AI excels at documentation tasks. (project)"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# PrizmKit ADR Manager
|
|
8
|
+
|
|
9
|
+
Manage Architecture Decision Records (ADRs) to document and track architectural decisions with full context, alternatives, and consequences.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
### prizmkit.adr.new \<title\>
|
|
14
|
+
|
|
15
|
+
Create a new Architecture Decision Record.
|
|
16
|
+
|
|
17
|
+
**STEPS:**
|
|
18
|
+
|
|
19
|
+
1. Determine next ADR number from `docs/adr/` directory (scan existing files, increment highest number)
|
|
20
|
+
2. Generate ADR from template (`${SKILL_DIR}/assets/adr-template.md`):
|
|
21
|
+
- **Title**: Provided by user
|
|
22
|
+
- **Date**: Current date
|
|
23
|
+
- **Status**: Proposed
|
|
24
|
+
- **Context**: Ask user what issue is motivating this decision
|
|
25
|
+
- **Decision**: Ask user what change is being proposed
|
|
26
|
+
- **Consequences**: Identify positive and negative consequences
|
|
27
|
+
- **Alternatives considered**: Ask user about alternatives and why they were rejected
|
|
28
|
+
3. Write to `docs/adr/NNNN-title.md` (zero-padded number, kebab-case title)
|
|
29
|
+
4. Also record in `.prizm-docs/` DECISIONS section of relevant module doc
|
|
30
|
+
|
|
31
|
+
### prizmkit.adr.list
|
|
32
|
+
|
|
33
|
+
Show all ADRs with their current status.
|
|
34
|
+
|
|
35
|
+
**STEPS:**
|
|
36
|
+
|
|
37
|
+
1. Scan `docs/adr/` directory for ADR files
|
|
38
|
+
2. Parse each file for number, title, and status
|
|
39
|
+
3. Display table:
|
|
40
|
+
- Number | Title | Status | Date
|
|
41
|
+
- Status values: Proposed, Accepted, Deprecated, Superseded
|
|
42
|
+
4. Highlight any ADRs in Proposed status that may need review
|
|
43
|
+
|
|
44
|
+
### prizmkit.adr.supersede \<number\> \<new-title\>
|
|
45
|
+
|
|
46
|
+
Mark an existing ADR as superseded and create a replacement.
|
|
47
|
+
|
|
48
|
+
**STEPS:**
|
|
49
|
+
|
|
50
|
+
1. Read the existing ADR with the given number from `docs/adr/`
|
|
51
|
+
2. Update its status to "Superseded by [ADR-NNNN]" (the new ADR number)
|
|
52
|
+
3. Create a new ADR using the `prizmkit.adr.new` flow:
|
|
53
|
+
- Pre-populate context with reference to the superseded ADR
|
|
54
|
+
- Include "Supersedes [ADR-NNNN]" in the new ADR
|
|
55
|
+
4. Write both updated files
|
|
56
|
+
|
|
57
|
+
## Template
|
|
58
|
+
|
|
59
|
+
The ADR template is located at `${SKILL_DIR}/assets/adr-template.md` and follows the standard ADR format with Context, Decision, Consequences, and Alternatives sections.
|
|
60
|
+
|
|
61
|
+
## Path References
|
|
62
|
+
|
|
63
|
+
All internal asset paths MUST use `${SKILL_DIR}` placeholder for cross-IDE compatibility.
|
|
64
|
+
|
|
65
|
+
## Output
|
|
66
|
+
|
|
67
|
+
- ADR files in `docs/adr/` directory
|
|
68
|
+
- Updated DECISIONS section in relevant `.prizm-docs/` module doc
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# [NUMBER]. [TITLE]
|
|
2
|
+
|
|
3
|
+
**Date**: YYYY-MM-DD
|
|
4
|
+
**Status**: Proposed | Accepted | Deprecated | Superseded by [ADR-NNNN]
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
[What is the issue that we're seeing that is motivating this decision or change?]
|
|
9
|
+
|
|
10
|
+
## Decision
|
|
11
|
+
|
|
12
|
+
[What is the change that we're proposing and/or doing?]
|
|
13
|
+
|
|
14
|
+
## Consequences
|
|
15
|
+
|
|
16
|
+
### Positive
|
|
17
|
+
- [Consequence 1]
|
|
18
|
+
|
|
19
|
+
### Negative
|
|
20
|
+
- [Consequence 1]
|
|
21
|
+
|
|
22
|
+
## Alternatives Considered
|
|
23
|
+
|
|
24
|
+
### [Alternative 1]
|
|
25
|
+
- **Description**: [What it is]
|
|
26
|
+
- **Reason rejected**: [Why not chosen]
|