prizmkit 1.0.147 → 1.0.149
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/VERSION.json +3 -3
- package/bundled/adapters/claude/command-adapter.js +3 -2
- package/bundled/dev-pipeline/run.sh +54 -1
- package/bundled/dev-pipeline/scripts/update-feature-status.py +287 -7
- package/bundled/dev-pipeline/templates/feature-list-schema.json +1 -1
- package/bundled/dev-pipeline/tests/conftest.py +1 -0
- package/bundled/dev-pipeline/tests/test_auto_skip.py +446 -0
- package/bundled/skills/_metadata.json +9 -1
- package/bundled/skills/app-planner/SKILL.md +110 -28
- package/bundled/skills/app-planner/references/architecture-decisions.md +48 -0
- package/bundled/skills/app-planner/references/brainstorm-guide.md +101 -0
- package/bundled/skills/app-planner/references/browser-interaction.md +34 -0
- package/bundled/skills/app-planner/references/error-recovery.md +109 -0
- package/bundled/skills/app-planner/references/frontend-design-guide.md +71 -0
- package/bundled/skills/app-planner/references/incremental-feature-planning.md +112 -0
- package/bundled/skills/app-planner/references/new-app-planning.md +85 -0
- package/bundled/skills/app-planner/references/project-conventions.md +93 -0
- package/bundled/skills/app-planner/references/red-team-checklist.md +40 -0
- package/bundled/skills/app-planner/scripts/validate-and-generate.py +1 -1
- package/bundled/skills/prizm-kit/SKILL.md +3 -1
- package/bundled/skills/prizmkit-committer/SKILL.md +1 -1
- package/bundled/skills/prizmkit-deploy/SKILL.md +112 -0
- package/bundled/skills/prizmkit-deploy/assets/deploy-template.md +108 -0
- package/bundled/skills/prizmkit-plan/SKILL.md +30 -8
- package/bundled/skills/prizmkit-plan/assets/plan-template.md +19 -0
- package/bundled/skills/prizmkit-retrospective/SKILL.md +3 -1
- package/package.json +1 -1
- package/src/scaffold.js +5 -4
|
@@ -57,6 +57,25 @@
|
|
|
57
57
|
|------|--------|------------|
|
|
58
58
|
| [Risk] | [H/M/L] | [Plan] |
|
|
59
59
|
|
|
60
|
+
## Deployment Considerations
|
|
61
|
+
<!-- Skip this section if the feature does not affect deployment (no new services, infra, or environment changes) -->
|
|
62
|
+
<!-- Only fill when: new external service added, new database/cache introduced, new env vars required, or infra topology changes -->
|
|
63
|
+
|
|
64
|
+
### New Infrastructure Requirements
|
|
65
|
+
- [Component]: [Deployment target from config deploy_strategy] — [any special config needed]
|
|
66
|
+
|
|
67
|
+
### New Environment Variables
|
|
68
|
+
| Variable | Required | Description | Example |
|
|
69
|
+
|----------|----------|-------------|---------|
|
|
70
|
+
| [VAR_NAME] | yes/no | [Purpose] | [example value] |
|
|
71
|
+
|
|
72
|
+
### Deployment Impact
|
|
73
|
+
- [ ] No infrastructure changes needed (skip this section)
|
|
74
|
+
- [ ] New service/container required
|
|
75
|
+
- [ ] New environment variables added
|
|
76
|
+
- [ ] Database migration required in production
|
|
77
|
+
- [ ] CI/CD pipeline update needed
|
|
78
|
+
|
|
60
79
|
## Pre-Implementation Gates
|
|
61
80
|
- [ ] Spec coverage: all user stories mapped to components
|
|
62
81
|
- [ ] Data model reviewed — existing schema conventions documented and followed
|
|
@@ -185,7 +185,9 @@ The pipeline enforces a **docs pass condition**: `.prizm-docs/` must show change
|
|
|
185
185
|
| From | To | Condition |
|
|
186
186
|
|------|----|-----------|
|
|
187
187
|
| `prizmkit-code-review` | **this skill** | Review passes or work is complete |
|
|
188
|
-
| **this skill** | `prizmkit-
|
|
188
|
+
| **this skill** | `prizmkit-deploy` (conditional) | Architecture synced; deploy only if new tech stack detected |
|
|
189
|
+
| **this skill** | `prizmkit-committer` (direct) | Architecture synced, no deployment doc update needed |
|
|
190
|
+
| `prizmkit-deploy` | `prizmkit-committer` | Deploy docs updated, ready to commit |
|
|
189
191
|
| `prizmkit-committer` | — | Committed |
|
|
190
192
|
|
|
191
193
|
## Output
|
package/package.json
CHANGED
package/src/scaffold.js
CHANGED
|
@@ -156,8 +156,8 @@ export async function installSkills(platform, skills, projectRoot, dryRun) {
|
|
|
156
156
|
if (!frontmatter.name) frontmatter.name = skillName;
|
|
157
157
|
await fs.writeFile(path.join(targetDir, 'SKILL.md'), buildMarkdown(frontmatter, body));
|
|
158
158
|
|
|
159
|
-
// 复制 assets/ 和
|
|
160
|
-
for (const subdir of ['assets', 'scripts']) {
|
|
159
|
+
// 复制 assets/、scripts/ 和 references/
|
|
160
|
+
for (const subdir of ['assets', 'scripts', 'references']) {
|
|
161
161
|
const srcSubdir = path.join(corePath, subdir);
|
|
162
162
|
if (await fs.pathExists(srcSubdir)) {
|
|
163
163
|
await fs.copy(srcSubdir, path.join(targetDir, subdir));
|
|
@@ -172,6 +172,7 @@ export async function installSkills(platform, skills, projectRoot, dryRun) {
|
|
|
172
172
|
|
|
173
173
|
const hasAssets = await fs.pathExists(path.join(corePath, 'assets'));
|
|
174
174
|
const hasScripts = await fs.pathExists(path.join(corePath, 'scripts'));
|
|
175
|
+
const hasReferences = await fs.pathExists(path.join(corePath, 'references'));
|
|
175
176
|
|
|
176
177
|
// Always write the command file at the flat level (.claude/commands/skillName.md)
|
|
177
178
|
// so Claude Code shows it as /skillName (not /skillName:skillName).
|
|
@@ -184,12 +185,12 @@ export async function installSkills(platform, skills, projectRoot, dryRun) {
|
|
|
184
185
|
await fs.ensureDir(commandsDir);
|
|
185
186
|
await fs.writeFile(path.join(commandsDir, `${skillName}.md`), converted);
|
|
186
187
|
|
|
187
|
-
if (hasAssets || hasScripts) {
|
|
188
|
+
if (hasAssets || hasScripts || hasReferences) {
|
|
188
189
|
// Place assets/scripts outside .claude/commands/ to prevent Claude Code
|
|
189
190
|
// from registering them as slash commands (e.g. /skillName:assets:file).
|
|
190
191
|
const assetTargetDir = path.join(projectRoot, '.claude', 'command-assets', skillName);
|
|
191
192
|
await fs.ensureDir(assetTargetDir);
|
|
192
|
-
for (const subdir of ['assets', 'scripts']) {
|
|
193
|
+
for (const subdir of ['assets', 'scripts', 'references']) {
|
|
193
194
|
const srcSubdir = path.join(corePath, subdir);
|
|
194
195
|
if (await fs.pathExists(srcSubdir)) {
|
|
195
196
|
await fs.copy(srcSubdir, path.join(assetTargetDir, subdir));
|