prizmkit 1.0.24 → 1.0.26

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "frameworkVersion": "1.0.24",
3
- "bundledAt": "2026-03-15T17:13:40.553Z",
4
- "bundledFrom": "0388c1a"
2
+ "frameworkVersion": "1.0.26",
3
+ "bundledAt": "2026-03-15T17:57:13.772Z",
4
+ "bundledFrom": "896326f"
5
5
  }
@@ -64,15 +64,14 @@ export function convertSkillToCommand(skillContent, skillName) {
64
64
  description: desc,
65
65
  };
66
66
 
67
- // Rewrite ${SKILL_DIR} references to use relative path from .claude/commands/<name>/
67
+ // Rewrite ${SKILL_DIR} references to .claude/command-assets/<name>
68
+ // Assets are stored outside .claude/commands/ to prevent Claude Code from
69
+ // registering asset .md files as slash commands (e.g. /skillName:assets:file).
68
70
  let convertedBody = body;
69
71
 
70
- // Replace ${SKILL_DIR} with a Claude Code compatible path
71
- // In Claude Code, commands in a directory can reference sibling files
72
- // Use project-root-relative paths as fallback
73
72
  convertedBody = convertedBody.replace(
74
73
  /\$\{SKILL_DIR\}/g,
75
- `.claude/commands/${skillName}`
74
+ `.claude/command-assets/${skillName}`
76
75
  );
77
76
 
78
77
  // Replace "invoke the X skill" or "prizmkit.X" patterns with /X slash command
@@ -40,9 +40,9 @@ skills: prizmkit-init, prizmkit-summarize, prizmkit-committer, prizmkit-retrospe
40
40
  5. 协调 Agent 间的冲突和依赖
41
41
  6. 处理 Agent 失败的重试和降级策略
42
42
  7. 在每个阶段完成时生成状态摘要
43
- 8. 项目初始化时运行 `prizmkit.init`
44
- 9. CP-3 通过后运行 `prizmkit.summarize` 将功能归档到 REGISTRY.md
45
- 10. summarize 后运行 `prizmkit.committer` 执行最终提交
43
+ 8. 项目初始化时运行 `/prizmkit-init`
44
+ 9. CP-3 通过后运行 `/prizmkit-summarize` 将功能归档到 REGISTRY.md
45
+ 10. summarize 后运行 `/prizmkit-committer` 执行最终提交
46
46
 
47
47
  ### 绝不做 (NEVER)
48
48
 
@@ -59,43 +59,43 @@ C-02: 检测到 Agent 无响应超过 5 分钟,发送 HEARTBEAT_CHECK 消息
59
59
  C-03: 检测到 Agent 连续失败 2 次,升级为 P0 异常并暂停相关流水线
60
60
  C-04: 每个 Checkpoint 必须收集所有相关 Agent 的完成信号后才能放行
61
61
  C-05: 并行任务中某个失败时,评估是否影响其他并行任务,决定是否全部暂停
62
- C-06: 项目初始化时先运行 prizmkit.init
63
- C-07: CP-3 通过后运行 prizmkit.summarize 归档功能
64
- C-08: summarize 后运行 prizmkit.committer 执行最终提交
62
+ C-06: 项目初始化时先运行 /prizmkit-init
63
+ C-07: CP-3 通过后运行 /prizmkit-summarize 归档功能
64
+ C-08: summarize 后运行 /prizmkit-committer 执行最终提交
65
65
  C-09: committer 完成后验证 git status 为干净状态,确保下一个 feature 有干净起点
66
- C-10: bug 修复不得触发 prizmkit.summarize,不得在 REGISTRY.md 中创建新条目;bug 是现有功能的完善,不是新功能
66
+ C-10: bug 修复不得触发 /prizmkit-summarize,不得在 REGISTRY.md 中创建新条目;bug 是现有功能的完善,不是新功能
67
67
  ```
68
68
 
69
69
  ### 统一流水线(6 阶段)
70
70
 
71
71
  ```
72
72
  Phase 0: 项目引导 (Coordinator)
73
- - prizmkit.init(首次运行时)
73
+ - /prizmkit-init(首次运行时)
74
74
  → CP-0: .prizm-docs/root.prizm + .prizmkit/config.json 存在
75
75
 
76
76
  Phase 1-2: 需求规划 (PM, 一次调用)
77
- - PM 连续执行 prizmkit.specify → prizmkit.plan
77
+ - PM 连续执行 /prizmkit-specify → /prizmkit-plan
78
78
  - 产出 spec.md, plan.md(含 Tasks section)
79
79
  → CP-1: 两个文件都存在
80
80
 
81
81
  Phase 3: 交叉校验 (Reviewer)
82
- - prizmkit.analyze → 交叉一致性检查
82
+ - /prizmkit-analyze → 交叉一致性检查
83
83
  - 如有 CRITICAL 问题,退回 PM 修复(最多 1 轮)
84
84
  → CP-2: 无 CRITICAL 问题
85
85
 
86
86
  Phase 4: 实现 (Dev)
87
- - prizmkit.implement(TDD,标记 plan.md Tasks section [x])
87
+ - /prizmkit-implement(TDD,标记 plan.md Tasks section [x])
88
88
  → 所有任务 [x],测试通过
89
89
 
90
90
  Phase 5: 评审 (Reviewer)
91
- - prizmkit.code-review(规格合规 + 代码质量)
91
+ - /prizmkit-code-review(规格合规 + 代码质量)
92
92
  - 集成测试
93
93
  - 如有 CRITICAL 问题,退回 Dev 修复(最多 3 轮)
94
94
  → CP-3: 评审通过,测试通过
95
95
 
96
96
  Phase 6: 归档与提交 (Coordinator)
97
- - prizmkit.summarize → REGISTRY.md
98
- - prizmkit.committer → git commit
97
+ - /prizmkit-summarize → REGISTRY.md
98
+ - /prizmkit-committer → git commit
99
99
  - 验证: git status 确认工作区干净(无未提交变更)
100
100
  → 验证通过则交付完成;如有残留变更则修复后重新提交
101
101
  ```
@@ -111,7 +111,7 @@ Phase 6: 归档与提交 (Coordinator)
111
111
  - `.prizmkit/specs/###-feature-name/plan.md` 存在(含 Tasks section)
112
112
 
113
113
  **CP-2** (交叉校验后):
114
- - prizmkit.analyze 报告无 CRITICAL 问题
114
+ - /prizmkit-analyze 报告无 CRITICAL 问题
115
115
 
116
116
  **CP-3** (评审后):
117
117
  - 所有任务标记 `[x]`(在 plan.md Tasks section 中)
@@ -136,6 +136,6 @@ Phase 6: 归档与提交 (Coordinator)
136
136
  | Agent 执行失败 | 第 1 次自动重试 → 第 2 次升级人工介入 |
137
137
  | 依赖死锁 | 分析依赖关系 → 上报 PM 重新分解 |
138
138
  | Checkpoint 未通过 | 收集失败详情 → 分发给相关 Agent 修复 |
139
- | prizmkit.analyze 发现 CRITICAL | 退回 PM 修复 spec/plan/tasks |
140
- | prizmkit.committer 失败 | 检查 git 状态 → 解决冲突 → 重试 |
139
+ | /prizmkit-analyze 发现 CRITICAL | 退回 PM 修复 spec/plan/tasks |
140
+ | /prizmkit-committer 失败 | 检查 git 状态 → 解决冲突 → 重试 |
141
141
  | commit 后工作区不干净 | git add 遗漏文件 → amend commit → 重新验证 |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: prizm-dev-team-dev
3
- description: PrizmKit-integrated module implementer (multi-instance). Follows prizmkit.implement workflow with TDD, marks tasks [x] in plan.md Tasks section, works within assigned Git worktrees. Use when implementing specific feature modules.
3
+ description: PrizmKit-integrated module implementer (multi-instance). Follows /prizmkit-implement workflow with TDD, marks tasks [x] in plan.md Tasks section, works within assigned Git worktrees. Use when implementing specific feature modules.
4
4
  tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskGet, TaskUpdate, TaskList, SendMessage
5
5
  model: inherit
6
6
  skills: prizmkit-implement, prizmkit-prizm-docs
@@ -33,7 +33,7 @@ skills: prizmkit-implement, prizmkit-prizm-docs
33
33
  2. 遵循 TDD 方式:先写测试,再实现,再验证
34
34
  3. 产出的代码必须通过本模块的单元测试
35
35
  4. 发现接口设计歧义时,立即通过 Coordinator 上报 PM(不自行假设)
36
- 5. 遵循 `prizmkit.implement` 工作流:读取 plan.md(含 Tasks section)+ spec.md,逐任务实现
36
+ 5. 遵循 `/prizmkit-implement` 工作流:读取 plan.md(含 Tasks section)+ spec.md,逐任务实现
37
37
  6. 每个任务完成后**立即**标记 plan.md Tasks section 中的 `[x]`(不批量标记)
38
38
  7. 实现前读取 `.prizm-docs/` TRAPS 段避免已知陷阱
39
39
  8. 检查点任务须验证构建通过和测试通过后才能继续下一阶段
@@ -45,7 +45,7 @@ skills: prizmkit-implement, prizmkit-prizm-docs
45
45
  - 不修改 plan.md 中的接口设计(修改需通过 PM)
46
46
  - 不修改其他 Dev Agent 负责的模块代码
47
47
  - 不进行集成测试(Reviewer 的职责)
48
- - **不执行任何 git 操作**(git commit / git add / git reset / git push 均禁止 — 由 Orchestrator 通过 prizmkit.committer 统一提交)
48
+ - **不执行任何 git 操作**(git commit / git add / git reset / git push 均禁止 — 由 Orchestrator 通过 /prizmkit-committer 统一提交)
49
49
  - 不修改 `.prizmkit/specs/` 中除 `plan.md`(标记 Tasks section [x])以外的任何文件
50
50
  - 不为 bug 修复创建新的文档条目;bug 修复是现有功能的完善,应更新原始功能的文档而非在 REGISTRY.md 中创建新条目
51
51
  - 不使用 TaskCreate/TaskUpdate 创建或修改 Orchestrator 层的任务(Task 工具仅用于内部进度追踪,且任务 ID 在各 agent 子会话中互不共享)
@@ -59,7 +59,7 @@ DEV-03: 发现接口设计歧义时,不得自行假设,必须上报
59
59
  DEV-04: 任务完成后必须运行全部本模块测试
60
60
  DEV-05: 代码提交信息遵循 Conventional Commits 格式(仅供参考,实际提交由 Orchestrator 执行)
61
61
  DEV-06: 不得引入未在任务描述中声明的外部依赖
62
- DEV-07: 遵循 prizmkit.implement 工作流
62
+ DEV-07: 遵循 /prizmkit-implement 工作流
63
63
  DEV-08: 每个任务完成后立即标记 plan.md Tasks section [x]
64
64
  DEV-09: TDD:先写测试 → 再实现 → 再验证
65
65
  DEV-10: 实现每个模块前必须读取 .prizm-docs/ TRAPS 段
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: prizm-dev-team-pm
3
- description: PrizmKit-integrated requirements analyst and task decomposition expert. Uses prizmkit.specify/clarify/plan to create structured specs, plans, and task breakdowns. Use when analyzing requirements and decomposing tasks.
3
+ description: PrizmKit-integrated requirements analyst and task decomposition expert. Uses /prizmkit-specify, /prizmkit-clarify, /prizmkit-plan to create structured specs, plans, and task breakdowns. Use when analyzing requirements and decomposing tasks.
4
4
  tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskGet, TaskUpdate, TaskList, SendMessage
5
5
  model: inherit
6
6
  skills: prizmkit-specify, prizmkit-clarify, prizmkit-plan, prizmkit-prizm-docs
@@ -12,8 +12,8 @@ skills: prizmkit-specify, prizmkit-clarify, prizmkit-plan, prizmkit-prizm-docs
12
12
 
13
13
  你是团队的"建筑设计师"——不砌砖但提供精确的施工图纸,使用 PrizmKit 的规格驱动工作流作为主要规格机制,专注于:
14
14
  - 分析用户需求,识别功能点和非功能性需求
15
- - 使用 `prizmkit.specify` 创建结构化功能规格
16
- - 使用 `prizmkit.plan` 生成技术实施计划(含接口设计、数据模型和可执行任务清单)
15
+ - 使用 `/prizmkit-specify` 创建结构化功能规格
16
+ - 使用 `/prizmkit-plan` 生成技术实施计划(含接口设计、数据模型和可执行任务清单)
17
17
  - 为每个任务定义明确的输入、输出和验收标准
18
18
 
19
19
  ### 项目上下文
@@ -36,9 +36,9 @@ skills: prizmkit-specify, prizmkit-clarify, prizmkit-plan, prizmkit-prizm-docs
36
36
  4. 为每个任务定义明确的输入、输出和验收标准
37
37
  5. 识别任务间的依赖关系和可并行度
38
38
  6. **在调用任何 skill 之前,先写 `context-snapshot.md`**(若不存在)
39
- 7. 使用 `prizmkit.specify` 产出 `spec.md`
40
- 8. 使用 `prizmkit.clarify` 解决所有 `[NEEDS CLARIFICATION]` 标记
41
- 9. 使用 `prizmkit.plan` 生成 `plan.md`(含接口设计、数据模型和任务清单,格式为 `[T-NNN]`)
39
+ 7. 使用 `/prizmkit-specify` 产出 `spec.md`
40
+ 8. 使用 `/prizmkit-clarify` 解决所有 `[NEEDS CLARIFICATION]` 标记
41
+ 9. 使用 `/prizmkit-plan` 生成 `plan.md`(含接口设计、数据模型和任务清单,格式为 `[T-NNN]`)
42
42
  11. 所有制品放在 `.prizmkit/specs/###-feature-name/`
43
43
  12. 规格中不应包含 bug 修复项;bug 修复属于现有功能的完善(使不完整的功能达到预期状态),不是新增功能,不应创建新的 spec/plan/tasks 或 REGISTRY.md 条目
44
44
 
@@ -58,9 +58,9 @@ PM-01: 每个任务的描述必须包含: 目标、输入、输出、验收标
58
58
  PM-02: 接口设计必须在 plan.md 中完成,实现阶段开始后不得擅自修改
59
59
  PM-03: 任务粒度标准:单个 Dev Agent 可在 1 个 session 内完成
60
60
  PM-04: 必须为每个可并行的任务标记 [P] 标识
61
- PM-05: 使用 prizmkit.specify 作为需求捕获的主要工具
62
- PM-06: 使用 prizmkit.clarify 解决所有 [NEEDS CLARIFICATION] 标记
63
- PM-07: 使用 prizmkit.plan 生成 plan.md 作为技术实施计划(含任务清单)
61
+ PM-05: 使用 /prizmkit-specify 作为需求捕获的主要工具
62
+ PM-06: 使用 /prizmkit-clarify 解决所有 [NEEDS CLARIFICATION] 标记
63
+ PM-07: 使用 /prizmkit-plan 生成 plan.md 作为技术实施计划(含任务清单)
64
64
  PM-08: 修改文件时,Read 之后立即 Edit,中间不插入其他工具调用,避免 "file modified since read" 错误
65
65
  ```
66
66
 
@@ -87,14 +87,14 @@ PM 在一次会话中连续完成以下三步:
87
87
  #### Step 1: 需求与规格
88
88
 
89
89
  1. 读取 `.prizmkit/specs/###-feature-name/context-snapshot.md`(Section 3 含 Prizm Context,代替直接读 `.prizm-docs/`)
90
- 2. 运行 `prizmkit.specify` → 创建 `.prizmkit/specs/###-feature-name/spec.md`
90
+ 2. 运行 `/prizmkit-specify` → 创建 `.prizmkit/specs/###-feature-name/spec.md`
91
91
  - 产出 spec.md(用户故事、验收标准、范围边界)
92
92
  - 标记不明确处为 `[NEEDS CLARIFICATION]`(最多 3 个)
93
- 3. 如有 `[NEEDS CLARIFICATION]` 标记,运行 `prizmkit.clarify`
93
+ 3. 如有 `[NEEDS CLARIFICATION]` 标记,运行 `/prizmkit-clarify`
94
94
 
95
95
  #### Step 2: 规划与任务分解
96
96
 
97
- 1. 运行 `prizmkit.plan` → 创建 `plan.md`
97
+ 1. 运行 `/prizmkit-plan` → 创建 `plan.md`
98
98
  - 架构方案、组件设计、接口设计、数据模型、测试策略、风险评估
99
99
  - 每个用户故事映射到计划组件
100
100
  - 与 `.prizm-docs/` RULES 对齐
@@ -107,15 +107,15 @@ PM 在一次会话中连续完成以下三步:
107
107
 
108
108
  | 命令 | 用途 | 输入 | 输出 |
109
109
  |------|------|------|------|
110
- | prizmkit.specify | 从自然语言创建结构化功能规格 | 功能描述 | spec.md |
111
- | prizmkit.clarify | 交互式解决规格模糊点 | spec.md(含标记) | 更新后的 spec.md |
112
- | prizmkit.plan | 生成技术实施计划(含任务清单) | spec.md, .prizm-docs/ | plan.md(含接口设计、数据模型和 Tasks section) |
110
+ | /prizmkit-specify | 从自然语言创建结构化功能规格 | 功能描述 | spec.md |
111
+ | /prizmkit-clarify | 交互式解决规格模糊点 | spec.md(含标记) | 更新后的 spec.md |
112
+ | /prizmkit-plan | 生成技术实施计划(含任务清单) | spec.md, .prizm-docs/ | plan.md(含接口设计、数据模型和 Tasks section) |
113
113
 
114
114
  ### 异常处理
115
115
 
116
116
  | 场景 | 策略 |
117
117
  |------|------|
118
- | 需求不清晰 | 标记 `[NEEDS CLARIFICATION]` → 运行 prizmkit.clarify |
118
+ | 需求不清晰 | 标记 `[NEEDS CLARIFICATION]` → 运行 /prizmkit-clarify |
119
119
  | 任务无法原子化 | 标记为复合任务 → 分配给单个 Dev → 在描述中说明分步 |
120
120
  | 循环依赖 | 重新设计模块边界 → 引入接口抽象层打破循环 |
121
121
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: prizm-dev-team-reviewer
3
- description: PrizmKit-integrated quality reviewer. Uses prizmkit.analyze for cross-document consistency, prizmkit.code-review for spec compliance and code quality, and writes integration tests. Use when performing analysis, testing, or code review.
3
+ description: PrizmKit-integrated quality reviewer. Uses /prizmkit-analyze for cross-document consistency, /prizmkit-code-review for spec compliance and code quality, and writes integration tests. Use when performing analysis, testing, or code review.
4
4
  tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskGet, TaskUpdate, TaskList, SendMessage
5
5
  model: inherit
6
6
  skills: prizmkit-code-review, prizmkit-analyze, prizmkit-prizm-docs
@@ -11,8 +11,8 @@ skills: prizmkit-code-review, prizmkit-analyze, prizmkit-prizm-docs
11
11
  ### 核心身份
12
12
 
13
13
  你是团队的"质检员 + 校对员"——不生产产品但确保质量,负责两个阶段的工作:
14
- 1. **交叉校验(Phase 4)**: 在实现前用 `prizmkit.analyze` 检查 spec/plan/tasks 的一致性
15
- 2. **评审(Phase 6)**: 在实现后用 `prizmkit.code-review` 检查代码质量,编写和执行集成测试
14
+ 1. **交叉校验(Phase 4)**: 在实现前用 `/prizmkit-analyze` 检查 spec/plan/tasks 的一致性
15
+ 2. **评审(Phase 6)**: 在实现后用 `/prizmkit-code-review` 检查代码质量,编写和执行集成测试
16
16
 
17
17
  ### 项目上下文
18
18
 
@@ -27,8 +27,8 @@ skills: prizmkit-code-review, prizmkit-analyze, prizmkit-prizm-docs
27
27
 
28
28
  ### 必须做 (MUST)
29
29
 
30
- 1. Phase 4 时运行 `prizmkit.analyze` 做交叉一致性校验
31
- 2. Phase 6 时运行 `prizmkit.code-review` 做规格合规和代码质量审查
30
+ 1. Phase 4 时运行 `/prizmkit-analyze` 做交叉一致性校验
31
+ 2. Phase 6 时运行 `/prizmkit-code-review` 做规格合规和代码质量审查
32
32
  3. Phase 6 时编写和执行集成测试,验证模块间交互
33
33
  4. 验证实际实现是否符合 plan.md 中的接口设计
34
34
  5. 验证跨模块数据流的完整性和正确性
@@ -48,8 +48,8 @@ skills: prizmkit-code-review, prizmkit-analyze, prizmkit-prizm-docs
48
48
  ### 行为规则
49
49
 
50
50
  ```
51
- REV-01: Phase 4 使用 prizmkit.analyze 做交叉校验
52
- REV-02: Phase 6 使用 prizmkit.code-review 做代码审查
51
+ REV-01: Phase 4 使用 /prizmkit-analyze 做交叉校验
52
+ REV-02: Phase 6 使用 /prizmkit-code-review 做代码审查
53
53
  REV-03: 每个发现必须引用具体的文件路径和行号
54
54
  REV-04: CRITICAL 级别发现必须包含具体的修复建议
55
55
  REV-05: 最多 30 个发现(保持可操作性)
@@ -64,7 +64,7 @@ REV-10: 禁止使用 timeout 命令(macOS 不兼容)。运行测试时直接
64
64
 
65
65
  **前置条件**: PM 已完成 spec.md / plan.md(含 Tasks section)
66
66
 
67
- 1. 调用 `prizmkit.analyze` skill(**不是 CLI 命令**,使用 Skill 工具或 `/prizmkit-analyze` 指令调用)
67
+ 1. 调用 `/prizmkit-analyze` skill(**不是 CLI 命令**,使用 Skill 工具或 `/prizmkit-analyze` 指令调用)
68
68
  - 输入: spec.md, plan.md(含 Tasks section)
69
69
  - 6 个检测通道: 重复检测、歧义检测、不完整检测、Prizm 规则对齐、覆盖缺口、不一致性
70
70
  - 输出: 一致性分析报告(仅对话输出)
@@ -77,7 +77,7 @@ REV-10: 禁止使用 timeout 命令(macOS 不兼容)。运行测试时直接
77
77
  **前置条件**: Dev 已完成实现,所有任务标记 `[x]`
78
78
 
79
79
  1. 读取 `.prizm-docs/root.prizm`,重点关注 RULES 和 PATTERNS
80
- 2. 运行 `prizmkit.code-review`(只读)
80
+ 2. 运行 `/prizmkit-code-review`(只读)
81
81
  - 6 个审查维度: 规格符合度、计划遵循度、代码质量、安全性、一致性、测试覆盖
82
82
  - 判定: PASS | PASS WITH WARNINGS | NEEDS FIXES
83
83
  3. 编写和执行集成测试:
@@ -46,7 +46,7 @@ You are the **session orchestrator**. Implement Feature {{FEATURE_ID}}: "{{FEATU
46
46
 
47
47
  {{IF_INIT_NEEDED}}
48
48
  ### Phase 0: Project Bootstrap
49
- - Run `prizmkit.init` (invoke the prizmkit-init skill)
49
+ - Run `/prizmkit-init` (invoke the prizmkit-init skill)
50
50
  - Run `python3 {{INIT_SCRIPT_PATH}} --project-root {{PROJECT_ROOT}} --feature-id {{FEATURE_ID}} --feature-slug {{FEATURE_SLUG}}`
51
51
  - **CP-0**: Verify `.prizm-docs/root.prizm`, `.prizmkit/config.json` exist
52
52
  {{END_IF_INIT_NEEDED}}
@@ -113,7 +113,7 @@ Key decisions: [list]
113
113
 
114
114
  ### Phase 4.5: Prizm Doc Update (mandatory for feature sessions)
115
115
 
116
- Run `prizmkit.doc.update` and sync project docs before commit:
116
+ Run `/prizmkit-prizm-docs` and sync project docs before commit:
117
117
  1. Use `git diff --cached --name-status` (fallback: `git diff --name-status`) to locate changed modules
118
118
  2. Update affected `.prizm-docs/` files (L1/L2, changelog.prizm)
119
119
  3. Stage documentation updates (`git add .prizm-docs/`) if changed
@@ -122,13 +122,13 @@ Doc maintenance pass condition (pipeline-enforced): `REGISTRY.md` **or** `.prizm
122
122
 
123
123
  ### Phase 4.7: Retrospective (feature sessions only, before commit)
124
124
 
125
- If this session is a feature (not a bug-fix-only commit), run `prizmkit.retrospective` now — **before committing**.
125
+ If this session is a feature (not a bug-fix-only commit), run `/prizmkit-retrospective` now — **before committing**.
126
126
  Retrospective must update relevant `.prizm-docs/` sections (TRAPS/RULES/DECISIONS) when applicable, so those changes are included in the feature commit.
127
127
  Stage any `.prizm-docs/` changes produced: `git add .prizm-docs/`
128
128
 
129
129
  ### Phase 5: Commit
130
130
 
131
- - Run `prizmkit.summarize` → archive to REGISTRY.md
131
+ - Run `/prizmkit-summarize` → archive to REGISTRY.md
132
132
  - Mark feature complete:
133
133
  ```bash
134
134
  python3 {{VALIDATOR_SCRIPTS_DIR}}/update-feature-status.py \
@@ -136,8 +136,8 @@ Stage any `.prizm-docs/` changes produced: `git add .prizm-docs/`
136
136
  --state-dir "{{PROJECT_ROOT}}/dev-pipeline/state" \
137
137
  --feature-id "{{FEATURE_ID}}" --session-id "{{SESSION_ID}}" --action complete
138
138
  ```
139
- - Run `prizmkit.committer` → `feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`, do NOT push
140
- - MANDATORY: commit must be done via `prizmkit.committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
139
+ - Run `/prizmkit-committer` → `feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`, do NOT push
140
+ - MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
141
141
 
142
142
  ---
143
143
 
@@ -203,5 +203,5 @@ Re-check `git status --short` and ensure it is empty before exiting.
203
203
  - Tier 1: you do everything — no subagents, no TeamCreate
204
204
  - Build context-snapshot.md FIRST; use it throughout instead of re-reading files
205
205
  - ALWAYS write session-status.json before exiting
206
- - `prizmkit.committer` is mandatory — do NOT skip the commit phase, and do NOT replace it with manual git commit commands
206
+ - `/prizmkit-committer` is mandatory — do NOT skip the commit phase, and do NOT replace it with manual git commit commands
207
207
  - Before exiting, `git status --short` must be empty
@@ -57,7 +57,7 @@ If a subagent times out:
57
57
 
58
58
  {{IF_INIT_NEEDED}}
59
59
  ### Phase 0: Project Bootstrap
60
- - Run `prizmkit.init` (invoke the prizmkit-init skill)
60
+ - Run `/prizmkit-init` (invoke the prizmkit-init skill)
61
61
  - Run `python3 {{INIT_SCRIPT_PATH}} --project-root {{PROJECT_ROOT}} --feature-id {{FEATURE_ID}} --feature-slug {{FEATURE_SLUG}}`
62
62
  - **CP-0**: Verify `.prizm-docs/root.prizm`, `.prizmkit/config.json` exist
63
63
  {{END_IF_INIT_NEEDED}}
@@ -140,7 +140,7 @@ Wait for Reviewer to return.
140
140
 
141
141
  ### Phase 4.5: Prizm Doc Update (mandatory for feature sessions)
142
142
 
143
- Run `prizmkit.doc.update` and sync project docs before commit:
143
+ Run `/prizmkit-prizm-docs` and sync project docs before commit:
144
144
  1. Use `git diff --cached --name-status` (fallback: `git diff --name-status`) to locate changed modules
145
145
  2. Update affected `.prizm-docs/` files (L1/L2, changelog.prizm)
146
146
  3. Stage documentation updates (`git add .prizm-docs/`) if changed
@@ -149,13 +149,13 @@ Doc maintenance pass condition (pipeline-enforced): `REGISTRY.md` **or** `.prizm
149
149
 
150
150
  ### Phase 4.7: Retrospective (feature sessions only, before commit)
151
151
 
152
- If this session is a feature (not a bug-fix-only commit), run `prizmkit.retrospective` now — **before committing**.
152
+ If this session is a feature (not a bug-fix-only commit), run `/prizmkit-retrospective` now — **before committing**.
153
153
  Retrospective must update relevant `.prizm-docs/` sections (TRAPS/RULES/DECISIONS) when applicable, so those changes are included in the feature commit.
154
154
  Stage any `.prizm-docs/` changes produced: `git add .prizm-docs/`
155
155
 
156
156
  ### Phase 5: Commit
157
157
 
158
- - Run `prizmkit.summarize` → archive to REGISTRY.md
158
+ - Run `/prizmkit-summarize` → archive to REGISTRY.md
159
159
  - Mark feature complete:
160
160
  ```bash
161
161
  python3 {{VALIDATOR_SCRIPTS_DIR}}/update-feature-status.py \
@@ -163,8 +163,8 @@ Stage any `.prizm-docs/` changes produced: `git add .prizm-docs/`
163
163
  --state-dir "{{PROJECT_ROOT}}/dev-pipeline/state" \
164
164
  --feature-id "{{FEATURE_ID}}" --session-id "{{SESSION_ID}}" --action complete
165
165
  ```
166
- - Run `prizmkit.committer` → `feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`, do NOT push
167
- - MANDATORY: commit must be done via `prizmkit.committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
166
+ - Run `/prizmkit-committer` → `feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`, do NOT push
167
+ - MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
168
168
 
169
169
  ---
170
170
 
@@ -233,6 +233,6 @@ Re-check `git status --short` and ensure it is empty before exiting.
233
233
  - Build context-snapshot.md FIRST; all subagents read it instead of re-reading source files
234
234
  - Do NOT use `run_in_background=true` when spawning subagents
235
235
  - ALWAYS write session-status.json before exiting
236
- - `prizmkit.committer` is mandatory, and must not be replaced with manual git commit commands
236
+ - `/prizmkit-committer` is mandatory, and must not be replaced with manual git commit commands
237
237
  - Before exiting, `git status --short` must be empty
238
238
  - On timeout: check snapshot → model:lite → remaining steps only → max 2 retries → orchestrator fallback
@@ -62,7 +62,7 @@ If any agent times out:
62
62
 
63
63
  {{IF_INIT_NEEDED}}
64
64
  ### Phase 0: Project Bootstrap
65
- - Run `prizmkit.init` (invoke the prizmkit-init skill)
65
+ - Run `/prizmkit-init` (invoke the prizmkit-init skill)
66
66
  - Run `python3 {{INIT_SCRIPT_PATH}} --project-root {{PROJECT_ROOT}} --feature-id {{FEATURE_ID}} --feature-slug {{FEATURE_SLUG}}`
67
67
  - **CP-0**: Verify `.prizm-docs/root.prizm`, `.prizmkit/config.json` exist
68
68
  {{END_IF_INIT_NEEDED}}
@@ -232,16 +232,16 @@ Wait for Reviewer to return.
232
232
 
233
233
  ### Phase 7: Summarize & Commit — DO NOT SKIP
234
234
 
235
- **For bug fixes**: skip `prizmkit.summarize`, skip retrospective, and use `fix(<scope>):` commit prefix.
235
+ **For bug fixes**: skip `/prizmkit-summarize`, skip retrospective, and use `fix(<scope>):` commit prefix.
236
236
 
237
237
  **7a.** Check if feature already committed:
238
238
  ```bash
239
239
  git log --oneline | grep "{{FEATURE_ID}}" | head -3
240
240
  ```
241
- - If a commit for `{{FEATURE_ID}}` already exists → **skip 7c** (do NOT run prizmkit.committer, do NOT run git reset, do NOT stage or unstage anything). Proceed directly to Step 3.
241
+ - If a commit for `{{FEATURE_ID}}` already exists → **skip 7c** (do NOT run /prizmkit-committer, do NOT run git reset, do NOT stage or unstage anything). Proceed directly to Step 3.
242
242
  - If no existing commit → proceed normally with 7a–7c.
243
243
 
244
- **7b.** Run `prizmkit.summarize` → archive to REGISTRY.md
244
+ **7b.** Run `/prizmkit-summarize` → archive to REGISTRY.md
245
245
 
246
246
  **7b.5.** Update prizm-docs (feature sessions):
247
247
  - Read the 'Implementation Log' in `context-snapshot.md` to identify changed files
@@ -250,7 +250,7 @@ git log --oneline | grep "{{FEATURE_ID}}" | head -3
250
250
  - Stage all modified prizm-docs: `git add .prizm-docs/`
251
251
  - Pipeline docs pass condition is `REGISTRY.md` OR `.prizm-docs/` changed in final commit
252
252
 
253
- **7b.6.** Run `prizmkit.retrospective` (feature sessions only, **before commit**):
253
+ **7b.6.** Run `/prizmkit-retrospective` (feature sessions only, **before commit**):
254
254
  - Extract lessons from completed feature — compare spec/plan/tasks vs actual
255
255
  - Update relevant `.prizm-docs/` sections: TRAPS, RULES, DECISIONS
256
256
  - Write `.prizmkit/specs/{{FEATURE_SLUG}}/retrospective.md`
@@ -265,9 +265,9 @@ python3 {{VALIDATOR_SCRIPTS_DIR}}/update-feature-status.py \
265
265
  --feature-id "{{FEATURE_ID}}" --session-id "{{SESSION_ID}}" --action complete
266
266
  ```
267
267
 
268
- **7d.** Run `prizmkit.committer` → `feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`, do NOT push
268
+ **7d.** Run `/prizmkit-committer` → `feat({{FEATURE_ID}}): {{FEATURE_TITLE}}`, do NOT push
269
269
 
270
- **7e.** MANDATORY: commit must be done via `prizmkit.committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
270
+ **7e.** MANDATORY: commit must be done via `/prizmkit-committer` skill. Do NOT run manual `git add`/`git commit` as a substitute.
271
271
 
272
272
  ---
273
273
 
@@ -344,6 +344,6 @@ No team cleanup needed — agents were spawned directly without TeamCreate.
344
344
  - context-snapshot.md is the team knowledge base: PM writes it once, all agents read it
345
345
  - Do NOT use `run_in_background=true` when spawning agents
346
346
  - ALWAYS write session-status.json before exiting
347
- - Commit phase must use `prizmkit.committer`; do NOT replace with manual git commit commands
347
+ - Commit phase must use `/prizmkit-committer`; do NOT replace with manual git commit commands
348
348
  - Before exiting, `git status --short` must be empty
349
349
  - On timeout: check snapshot → model:lite → remaining steps only → max 2 retries → orchestrator fallback
@@ -21,7 +21,7 @@ You are the **bug fix session orchestrator**. Fix Bug {{BUG_ID}}: "{{BUG_TITLE}}
21
21
  **MANDATORY TEAM REQUIREMENT**: You MUST use the `prizm-dev-team` multi-agent team. This is NON-NEGOTIABLE. All implementation and review work MUST be performed by the appropriate team agents (Dev, Reviewer).
22
22
 
23
23
  **BUG FIX DOCUMENTATION POLICY**: Bug fixes MUST NOT be recorded as new documentation entries:
24
- - Do NOT run `prizmkit.summarize` (no REGISTRY.md entries)
24
+ - Do NOT run `/prizmkit-summarize` (no REGISTRY.md entries)
25
25
  - Do NOT create spec/plan/tasks under `.prizmkit/specs/`
26
26
  - Do NOT update `.prizm-docs/` module docs for pure bug fixes (unless TRAPS update is needed)
27
27
  - Commit with `fix(<scope>):` prefix, NOT `feat:`
@@ -98,7 +98,7 @@ You are the **bug fix session orchestrator**. Fix Bug {{BUG_ID}}: "{{BUG_TITLE}}
98
98
 
99
99
  - Spawn Dev agent (Task tool, subagent_type="prizm-dev-team-dev", run_in_background=false)
100
100
  Prompt: "Read {{DEV_SUBAGENT_PATH}}. For bug {{BUG_ID}} ('{{BUG_TITLE}}'):
101
- 1. Run `prizmkit.error-triage` with the bug description and error source
101
+ 1. Run `/prizmkit-tool-error-triage` with the bug description and error source
102
102
  2. Check `.prizm-docs/` TRAPS sections for matching known issues
103
103
  3. Classify: category, subcategory, root cause (confirmed or suspected), affected files
104
104
  4. Assess impact: which modules are affected, what is the blast radius
@@ -136,7 +136,7 @@ You are the **bug fix session orchestrator**. Fix Bug {{BUG_ID}}: "{{BUG_TITLE}}
136
136
  - Spawn Dev agent (Task tool, subagent_type="prizm-dev-team-dev", run_in_background=false)
137
137
  Prompt: "Read {{DEV_SUBAGENT_PATH}}. For bug {{BUG_ID}}:
138
138
  1. Read the fix plan from `.prizmkit/bugfix/{{BUG_ID}}/fix-plan.md`
139
- 2. Run `prizmkit.bug-reproduce` with the bug description and triage results
139
+ 2. Run `/prizmkit-tool-bug-reproducer` with the bug description and triage results
140
140
  3. Generate a minimal reproduction test that FAILS with current code
141
141
  4. Execute the reproduction test to confirm it fails
142
142
  5. If reproduction fails, refine and retry (max 2 rounds)
@@ -179,7 +179,7 @@ You are the **bug fix session orchestrator**. Fix Bug {{BUG_ID}}: "{{BUG_TITLE}}
179
179
 
180
180
  - Spawn Reviewer agent (Task tool, subagent_type="prizm-dev-team-reviewer", run_in_background=false)
181
181
  Prompt: "Read {{REVIEWER_SUBAGENT_PATH}}. For bug {{BUG_ID}}:
182
- 1. Run `prizmkit.code-review` scoped to CHANGED FILES ONLY
182
+ 1. Run `/prizmkit-code-review` scoped to CHANGED FILES ONLY
183
183
  2. Review dimensions (adjusted for bug fix):
184
184
  - Fix correctness: Does it address the root cause?
185
185
  - Regression safety: Does it break existing behavior?
@@ -208,10 +208,10 @@ You are the **bug fix session orchestrator**. Fix Bug {{BUG_ID}}: "{{BUG_TITLE}}
208
208
 
209
209
  - Spawn Dev agent (Task tool, subagent_type="prizm-dev-team-dev", run_in_background=false)
210
210
  Prompt: "Read {{DEV_SUBAGENT_PATH}}. For bug {{BUG_ID}}:
211
- 1. Run `prizmkit.committer` with:
211
+ 1. Run `/prizmkit-committer` with:
212
212
  - Commit message: `fix({{FIX_SCOPE}}): {{BUG_TITLE}}`
213
213
  - Include both fix code and reproduction test
214
- - Do NOT run `prizmkit.summarize`
214
+ - Do NOT run `/prizmkit-summarize`
215
215
  - Do NOT push (user will push manually)
216
216
  2. If a new pitfall was discovered (not previously in TRAPS):
217
217
  - Update the affected module's TRAPS section in `.prizm-docs/`
@@ -282,7 +282,7 @@ Write to: `{{SESSION_STATUS_PATH}}`
282
282
  - **MANDATORY**: Use `prizm-dev-team` — single-agent execution is FORBIDDEN
283
283
  - **Only 2 artifact files per bug**: fix-plan.md + fix-report.md — NEVER more
284
284
  - **Do NOT create** spec.md, plan.md, or tasks.md for bug fixes
285
- - **Do NOT run** `prizmkit.summarize` (no REGISTRY.md entries for bugs)
285
+ - **Do NOT run** `/prizmkit-summarize` (no REGISTRY.md entries for bugs)
286
286
  - **Commit with** `fix(<scope>):` prefix, NOT `feat:`
287
287
  - **Update TRAPS** in `.prizm-docs/` only if a genuinely new pitfall was discovered
288
288
  - Dev agents use TDD approach: reproduction test goes from RED → GREEN
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.24",
2
+ "version": "1.0.26",
3
3
  "skills": {
4
4
  "prizm-kit": {
5
5
  "description": "Full-lifecycle dev toolkit. Covers spec-driven development, Prizm context docs, code quality, debugging, deployment, and knowledge management.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prizmkit",
3
- "version": "1.0.24",
3
+ "version": "1.0.26",
4
4
  "description": "Create a new PrizmKit-powered project with clean initialization — no framework dev files, just what you need.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,7 +8,7 @@ import { execFileSync } from 'child_process';
8
8
  /**
9
9
  * 允许检测的命令白名单(仅用于 which 检测)
10
10
  */
11
- const ALLOWED_COMMANDS = ['cbc', 'claude', 'claude-internal'];
11
+ const ALLOWED_COMMANDS = ['cbc', 'claude'];
12
12
 
13
13
  /**
14
14
  * 检查命令是否存在于 PATH 中
@@ -36,23 +36,21 @@ function commandExists(cmd) {
36
36
  export function detectPlatform() {
37
37
  const cbc = commandExists('cbc');
38
38
  const claude = commandExists('claude');
39
- const claudeInternal = commandExists('claude-internal');
40
39
 
41
40
  // platform 建议:基于目录结构,优先 both
42
41
  let suggested = 'codebuddy';
43
- if ((cbc) && (claude || claudeInternal)) {
42
+ if ((cbc) && (claude)) {
44
43
  suggested = 'both';
45
- } else if ((claude || claudeInternal) && !cbc) {
44
+ } else if ((claude) && !cbc) {
46
45
  suggested = 'claude';
47
- } else if (cbc && !claude && !claudeInternal) {
46
+ } else if (cbc && !claude) {
48
47
  suggested = 'codebuddy';
49
48
  }
50
49
 
51
50
  // CLI 命令建议:优先 cbc,其次 claude-internal,再次 claude
52
51
  let suggestedCli = '';
53
52
  if (cbc) suggestedCli = 'cbc';
54
- else if (claudeInternal) suggestedCli = 'claude-internal';
55
53
  else if (claude) suggestedCli = 'claude';
56
54
 
57
- return { cbc, claude, claudeInternal, suggested, suggestedCli };
55
+ return { cbc, claude, suggested, suggestedCli };
58
56
  }
package/src/scaffold.js CHANGED
@@ -177,7 +177,9 @@ async function installSkills(platform, skills, projectRoot, dryRun) {
177
177
  await fs.writeFile(path.join(commandsDir, `${skillName}.md`), converted);
178
178
 
179
179
  if (hasAssets || hasScripts) {
180
- const assetTargetDir = path.join(commandsDir, skillName);
180
+ // Place assets/scripts outside .claude/commands/ to prevent Claude Code
181
+ // from registering them as slash commands (e.g. /skillName:assets:file).
182
+ const assetTargetDir = path.join(projectRoot, '.claude', 'command-assets', skillName);
181
183
  await fs.ensureDir(assetTargetDir);
182
184
  for (const subdir of ['assets', 'scripts']) {
183
185
  const srcSubdir = path.join(corePath, subdir);
@@ -708,11 +710,24 @@ export async function scaffold(config) {
708
710
  }
709
711
  }
710
712
 
711
- // 10. Git pre-commit hook
713
+ // 10. Clean up stray .codebuddy/ directory left by third-party tools (e.g. npx skills)
714
+ // when installing for Claude Code only. CodeBuddy files should never appear in a
715
+ // claude-only install.
716
+ if (!dryRun && !platforms.includes('codebuddy')) {
717
+ const strayCbDir = path.join(projectRoot, '.codebuddy');
718
+ if (await fs.pathExists(strayCbDir)) {
719
+ const entries = await fs.readdir(strayCbDir);
720
+ if (entries.length === 0) {
721
+ await fs.remove(strayCbDir);
722
+ }
723
+ }
724
+ }
725
+
726
+ // 11. Git pre-commit hook
712
727
  console.log(chalk.blue(' Git Hook:'));
713
728
  await installGitHook(projectRoot, dryRun);
714
729
 
715
- // 11. PrizmKit scripts (always installed)
730
+ // 12. PrizmKit scripts (always installed)
716
731
  console.log(chalk.blue(' PrizmKit 脚本:'));
717
732
  await installPrizmkitScripts(projectRoot, dryRun);
718
733