prizmkit 1.1.1 → 1.1.4
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/agent-adapter.js +18 -0
- package/bundled/adapters/claude/command-adapter.js +1 -27
- package/bundled/agents/prizm-dev-team-critic.md +2 -0
- package/bundled/agents/prizm-dev-team-dev.md +2 -0
- package/bundled/agents/prizm-dev-team-reviewer.md +2 -0
- package/bundled/dev-pipeline/README.md +63 -63
- package/bundled/dev-pipeline/assets/feature-list-example.json +1 -1
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
- package/bundled/dev-pipeline/{launch-daemon.sh → launch-feature-daemon.sh} +33 -33
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +454 -0
- package/bundled/dev-pipeline/lib/branch.sh +1 -1
- package/bundled/dev-pipeline/reset-feature.sh +3 -3
- package/bundled/dev-pipeline/reset-refactor.sh +312 -0
- package/bundled/dev-pipeline/{retry-bug.sh → retry-bugfix.sh} +47 -59
- package/bundled/dev-pipeline/retry-feature.sh +41 -54
- package/bundled/dev-pipeline/retry-refactor.sh +358 -0
- package/bundled/dev-pipeline/run-bugfix.sh +41 -0
- package/bundled/dev-pipeline/{run.sh → run-feature.sh} +64 -31
- package/bundled/dev-pipeline/run-refactor.sh +787 -0
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +398 -10
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +124 -0
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +419 -0
- package/bundled/dev-pipeline/scripts/init-refactor-pipeline.py +393 -0
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +726 -0
- package/bundled/dev-pipeline/templates/agent-prompts/critic-code-challenge.md +13 -0
- package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +7 -0
- package/bundled/dev-pipeline/templates/agent-prompts/dev-fix.md +7 -0
- package/bundled/dev-pipeline/templates/agent-prompts/dev-implement.md +27 -0
- package/bundled/dev-pipeline/templates/agent-prompts/dev-resume.md +5 -0
- package/bundled/dev-pipeline/templates/agent-prompts/reviewer-analyze.md +5 -0
- package/bundled/dev-pipeline/templates/agent-prompts/reviewer-review.md +12 -0
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +33 -2
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +13 -9
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +16 -12
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +22 -4
- package/bundled/dev-pipeline/templates/feature-list-schema.json +1 -1
- package/bundled/dev-pipeline/templates/refactor-list-schema.json +159 -0
- package/bundled/dev-pipeline/templates/sections/ac-verification-checklist.md +13 -0
- package/bundled/dev-pipeline/templates/sections/checkpoint-system.md +36 -0
- package/bundled/dev-pipeline/templates/sections/failure-log-check.md +2 -1
- package/bundled/dev-pipeline/templates/sections/feature-context.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-analyze-agent.md +11 -7
- package/bundled/dev-pipeline/templates/sections/phase-analyze-full.md +11 -7
- package/bundled/dev-pipeline/templates/sections/phase-browser-verification.md +5 -1
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-lite-suffix.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-critic-code.md +11 -10
- package/bundled/dev-pipeline/templates/sections/phase-critic-plan-full.md +12 -10
- package/bundled/dev-pipeline/templates/sections/phase-critic-plan.md +11 -9
- package/bundled/dev-pipeline/templates/sections/phase-deploy-verification.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +10 -10
- package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +12 -16
- package/bundled/dev-pipeline/templates/sections/phase-implement-lite.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-plan-agent.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-plan-lite.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase-review-agent.md +11 -13
- package/bundled/dev-pipeline/templates/sections/phase-review-full.md +12 -20
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase0-init.md +3 -0
- package/bundled/dev-pipeline/templates/sections/phase0-test-baseline.md +3 -0
- package/bundled/dev-pipeline/templates/sections/resume-header.md +4 -1
- package/bundled/dev-pipeline/templates/sections/test-failure-recovery.md +75 -0
- package/bundled/rules/prizm/prizm-commit-workflow.md +1 -0
- package/bundled/rules/prizm/prizm-documentation.md +15 -15
- package/bundled/rules/prizm/prizm-progressive-loading.md +2 -1
- package/bundled/skills/_metadata.json +33 -6
- package/bundled/skills/app-planner/SKILL.md +105 -320
- package/bundled/skills/app-planner/assets/app-design-guide.md +101 -0
- package/bundled/skills/app-planner/references/frontend-design-guide.md +1 -1
- package/bundled/skills/app-planner/references/project-brief-guide.md +49 -80
- package/bundled/skills/bug-fix-workflow/SKILL.md +2 -2
- package/bundled/skills/bug-planner/SKILL.md +68 -5
- package/bundled/skills/bug-planner/scripts/validate-bug-list.py +3 -2
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +19 -5
- package/bundled/skills/{dev-pipeline-launcher → feature-pipeline-launcher}/SKILL.md +32 -32
- package/bundled/skills/feature-planner/SKILL.md +337 -0
- package/bundled/skills/{app-planner → feature-planner}/assets/evaluation-guide.md +4 -4
- package/bundled/skills/{app-planner → feature-planner}/assets/planning-guide.md +3 -171
- package/bundled/skills/{app-planner → feature-planner}/references/browser-interaction.md +6 -5
- package/bundled/skills/feature-planner/references/decomposition-patterns.md +75 -0
- package/bundled/skills/{app-planner → feature-planner}/references/error-recovery.md +8 -8
- package/bundled/skills/{app-planner → feature-planner}/references/incremental-feature-planning.md +1 -1
- package/bundled/skills/{app-planner/references/new-app-planning.md → feature-planner/references/new-project-planning.md} +1 -1
- package/bundled/skills/{app-planner → feature-planner}/scripts/validate-and-generate.py +4 -4
- package/bundled/skills/feature-workflow/SKILL.md +23 -23
- package/bundled/skills/prizm-kit/SKILL.md +1 -3
- package/bundled/skills/prizm-kit/assets/project-memory-template.md +4 -2
- package/bundled/skills/prizmkit-analyze/SKILL.md +2 -5
- package/bundled/skills/prizmkit-code-review/SKILL.md +2 -2
- package/bundled/skills/prizmkit-committer/SKILL.md +32 -8
- package/bundled/skills/prizmkit-deploy/SKILL.md +1 -5
- package/bundled/skills/prizmkit-implement/SKILL.md +5 -51
- package/bundled/skills/prizmkit-init/SKILL.md +7 -78
- package/bundled/skills/prizmkit-plan/SKILL.md +1 -12
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +13 -28
- package/bundled/skills/prizmkit-prizm-docs/assets/PRIZM-SPEC.md +52 -1
- package/bundled/skills/prizmkit-retrospective/SKILL.md +12 -117
- package/bundled/skills/recovery-workflow/SKILL.md +168 -316
- package/bundled/skills/recovery-workflow/evals/evals.json +29 -13
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +232 -274
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +352 -0
- package/bundled/skills/refactor-planner/SKILL.md +436 -0
- package/bundled/skills/refactor-planner/assets/planning-guide.md +292 -0
- package/bundled/skills/refactor-planner/references/behavior-preservation.md +301 -0
- package/bundled/skills/refactor-planner/references/refactor-scoping-guide.md +221 -0
- package/bundled/skills/refactor-planner/scripts/validate-and-generate-refactor.py +786 -0
- package/bundled/skills/refactor-workflow/SKILL.md +299 -319
- package/bundled/team/prizm-dev-team.json +1 -1
- package/package.json +1 -1
- package/src/clean.js +3 -3
- package/src/scaffold.js +6 -6
- package/bundled/skills/prizmkit-plan/assets/spec-template.md +0 -56
- package/bundled/skills/prizmkit-plan/references/clarify-guide.md +0 -67
- package/src/config.js +0 -504
- package/src/prompts.js +0 -210
- /package/bundled/skills/{dev-pipeline-launcher → feature-pipeline-launcher}/scripts/preflight-check.py +0 -0
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"members": [
|
|
12
12
|
{
|
|
13
13
|
"name": "dev",
|
|
14
|
-
"role": "developer",
|
|
14
|
+
"role": "developer",
|
|
15
15
|
"agentDefinition": "prizm-dev-team-dev",
|
|
16
16
|
"prompt": "You are a Dev Agent of the prizm-dev-team. Follow /prizmkit-implement workflow with TDD. Read plan.md/spec.md, implement task-by-task, mark completed tasks [x]. Check .prizm-docs/ TRAPS before implementing.",
|
|
17
17
|
"subscriptions": ["*"]
|
package/package.json
CHANGED
package/src/clean.js
CHANGED
|
@@ -119,10 +119,10 @@ export async function runClean(directory, options = {}) {
|
|
|
119
119
|
'.prizm-docs', // AI-generated project context docs
|
|
120
120
|
'CODEBUDDY.md',
|
|
121
121
|
'CLAUDE.md',
|
|
122
|
-
'feature-list.json', //
|
|
122
|
+
'feature-list.json', // feature-planner output
|
|
123
123
|
'bug-fix-list.json', // bug-planner output
|
|
124
|
-
'project-brief.md', //
|
|
125
|
-
'project-conventions.json', //
|
|
124
|
+
'project-brief.md', // feature-planner project brief
|
|
125
|
+
'project-conventions.json', // feature-planner coding conventions
|
|
126
126
|
path.join('.codebuddy', 'settings.json'),
|
|
127
127
|
path.join('.claude', 'settings.json'),
|
|
128
128
|
path.join('.claude', 'team-info.json'),
|
package/src/scaffold.js
CHANGED
|
@@ -109,7 +109,7 @@ export async function installSkills(platform, skills, projectRoot, dryRun) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
for (const skillName of skills) {
|
|
112
|
-
// Determine the category subdirectory (prizmkit-skill,
|
|
112
|
+
// Determine the category subdirectory (prizmkit-skill, orchestration-skill)
|
|
113
113
|
const category = skillCategories[skillName];
|
|
114
114
|
if (!category) {
|
|
115
115
|
console.warn(` ⚠ Skill ${skillName} has no category mapping in metadata, skipping`);
|
|
@@ -414,7 +414,7 @@ export async function installSettings(platform, projectRoot, options, dryRun) {
|
|
|
414
414
|
'Bash(jq *)',
|
|
415
415
|
];
|
|
416
416
|
if (options.pipeline) {
|
|
417
|
-
permissions.push('Bash(./dev-pipeline/run.sh *)', 'Bash(./dev-pipeline/launch-daemon.sh *)');
|
|
417
|
+
permissions.push('Bash(./dev-pipeline/run-feature.sh *)', 'Bash(./dev-pipeline/launch-feature-daemon.sh *)');
|
|
418
418
|
}
|
|
419
419
|
|
|
420
420
|
const settings = {
|
|
@@ -601,8 +601,8 @@ export function resolvePipelineFileList() {
|
|
|
601
601
|
if (!pipelineSource || !fs.pathExistsSync(pipelineSource)) return [];
|
|
602
602
|
|
|
603
603
|
const items = [
|
|
604
|
-
'run.sh', 'retry-feature.sh', 'reset-feature.sh', 'launch-daemon.sh',
|
|
605
|
-
'run-bugfix.sh', 'retry-
|
|
604
|
+
'run-feature.sh', 'retry-feature.sh', 'reset-feature.sh', 'launch-feature-daemon.sh',
|
|
605
|
+
'run-bugfix.sh', 'retry-bugfix.sh', 'launch-bugfix-daemon.sh',
|
|
606
606
|
'lib', 'scripts', 'templates', 'assets', 'README.md', '.gitignore',
|
|
607
607
|
];
|
|
608
608
|
|
|
@@ -638,8 +638,8 @@ export async function installPipeline(projectRoot, dryRun, { forceOverwrite = fa
|
|
|
638
638
|
|
|
639
639
|
// 需要安装的 Pipeline 文件和目录
|
|
640
640
|
const items = [
|
|
641
|
-
'run.sh', 'retry-feature.sh', 'reset-feature.sh', 'launch-daemon.sh',
|
|
642
|
-
'run-bugfix.sh', 'retry-
|
|
641
|
+
'run-feature.sh', 'retry-feature.sh', 'reset-feature.sh', 'launch-feature-daemon.sh',
|
|
642
|
+
'run-bugfix.sh', 'retry-bugfix.sh', 'launch-bugfix-daemon.sh',
|
|
643
643
|
'lib', 'scripts', 'templates', 'assets', 'README.md', '.gitignore',
|
|
644
644
|
];
|
|
645
645
|
|
|
@@ -1,56 +0,0 @@
|
|
|
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
|
-
## 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
|
-
|
|
46
|
-
## Constraints
|
|
47
|
-
- [Constraint 1]
|
|
48
|
-
|
|
49
|
-
## Clarifications
|
|
50
|
-
[NEEDS CLARIFICATION]: [Ambiguous item]
|
|
51
|
-
|
|
52
|
-
## Review Checklist
|
|
53
|
-
- [ ] All user stories have acceptance criteria
|
|
54
|
-
- [ ] Scope boundaries are clearly defined
|
|
55
|
-
- [ ] Dependencies are identified
|
|
56
|
-
- [ ] No implementation details (WHAT not HOW)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Clarification Phase — Execution Guide
|
|
2
|
-
|
|
3
|
-
Invoked automatically during `/prizmkit-plan` Phase 0 (specify) when `[NEEDS CLARIFICATION]` markers exist, or during Phase 1 (design) when data model ambiguities arise.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Question Strategy
|
|
8
|
-
|
|
9
|
-
**Ask one question at a time.** Batching questions produces lower-quality answers.
|
|
10
|
-
|
|
11
|
-
For each question:
|
|
12
|
-
1. Cite the exact location in spec.md (e.g., "§3.2 says...")
|
|
13
|
-
2. State what is ambiguous and why it matters for implementation
|
|
14
|
-
3. Provide a **recommended answer** with rationale — gives the user a concrete starting point to accept, modify, or reject
|
|
15
|
-
|
|
16
|
-
**Prioritize by implementation impact** (highest first):
|
|
17
|
-
1. Data model (entities, relationships, field types, constraints, naming) — **hardest to change after code is written**
|
|
18
|
-
2. Functional scope boundaries
|
|
19
|
-
3. UX flow and error handling
|
|
20
|
-
4. Non-functional requirements (performance, security)
|
|
21
|
-
5. Edge cases and integration points
|
|
22
|
-
|
|
23
|
-
## Update Discipline
|
|
24
|
-
|
|
25
|
-
After **each** user answer:
|
|
26
|
-
- Immediately update `spec.md` (do not batch at the end)
|
|
27
|
-
- Remove the resolved `[NEEDS CLARIFICATION]` marker
|
|
28
|
-
- Re-evaluate for new ambiguities exposed by the answer
|
|
29
|
-
|
|
30
|
-
## No Limits Policy
|
|
31
|
-
|
|
32
|
-
**There is no cap on rounds or questions.** Keep asking until:
|
|
33
|
-
- All `[NEEDS CLARIFICATION]` markers are removed, AND
|
|
34
|
-
- No vague or underspecified areas remain, AND
|
|
35
|
-
- You are fully confident about the requirements
|
|
36
|
-
|
|
37
|
-
If the user's answer raises new questions — ask those too. If a previously-resolved item needs revisiting due to new context — go back.
|
|
38
|
-
|
|
39
|
-
## Early Termination
|
|
40
|
-
|
|
41
|
-
If the user says "done", "stop", or "enough" — end immediately and output a summary of:
|
|
42
|
-
- What was resolved
|
|
43
|
-
- What remains unclear (list any open `[NEEDS CLARIFICATION]` items)
|
|
44
|
-
|
|
45
|
-
## Example Exchange
|
|
46
|
-
|
|
47
|
-
**Question:**
|
|
48
|
-
> §3.2 says "User can upload files" but doesn't specify file types or size limits.
|
|
49
|
-
>
|
|
50
|
-
> **Recommended:** Accept JPEG, PNG, PDF up to 10MB — covers common use cases without straining storage.
|
|
51
|
-
>
|
|
52
|
-
> Do you agree, or different constraints?
|
|
53
|
-
|
|
54
|
-
**User:** "Also allow SVG, make it 25MB"
|
|
55
|
-
|
|
56
|
-
**Action:** Update spec.md §3.2 → `File upload: JPEG, PNG, PDF, SVG. Max 25MB per file.` Remove marker.
|
|
57
|
-
|
|
58
|
-
**Follow-up question triggered by answer:**
|
|
59
|
-
> SVGs can contain embedded scripts (XSS risk). Should uploaded SVGs be sanitized (strip `<script>` + event handlers), or restricted to trusted users only?
|
|
60
|
-
>
|
|
61
|
-
> **Recommended:** Sanitize all SVG uploads — allows all users to upload safely.
|
|
62
|
-
|
|
63
|
-
## Guidelines
|
|
64
|
-
|
|
65
|
-
- Stay at WHAT/WHY level — no implementation details (HOW) in spec
|
|
66
|
-
- If an answer contradicts an existing requirement, surface the conflict and ask which takes precedence
|
|
67
|
-
- If the user seems fatigued: "I have N more questions — continue now or later?" — but never silently stop with unresolved ambiguities
|