@specpow/framework 0.5.11 → 0.5.12

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.
Files changed (52) hide show
  1. package/builtin/schemas/bug-fix/schema.yaml +64 -0
  2. package/builtin/schemas/bug-fix/templates/analysis.md +43 -0
  3. package/builtin/schemas/bug-fix/templates/fix-plan.md +19 -0
  4. package/builtin/schemas/bug-fix/templates/proposal.md +30 -0
  5. package/builtin/schemas/crud-module/schema.yaml +65 -0
  6. package/builtin/schemas/crud-module/templates/design.md +36 -0
  7. package/builtin/schemas/crud-module/templates/proposal.md +30 -0
  8. package/builtin/schemas/crud-module/templates/spec.md +33 -0
  9. package/builtin/schemas/crud-module/templates/tasks.md +57 -0
  10. package/builtin/schemas/spec-driven/schema.yaml +87 -0
  11. package/builtin/schemas/spec-driven/templates/design.md +54 -0
  12. package/builtin/schemas/spec-driven/templates/proposal.md +31 -0
  13. package/builtin/schemas/spec-driven/templates/spec.md +42 -0
  14. package/builtin/schemas/spec-driven/templates/tasks.md +98 -0
  15. package/builtin/skills/business-code-review/SKILL.md +78 -0
  16. package/builtin/skills/business-db-design/SKILL.md +74 -0
  17. package/builtin/skills/business-deploy-check/SKILL.md +72 -0
  18. package/builtin/skills/business-doc-sync/SKILL.md +72 -0
  19. package/builtin/skills/business-java-codegen/SKILL.md +97 -0
  20. package/builtin/skills/business-menu-register/SKILL.md +63 -0
  21. package/builtin/skills/business-prd-writer/SKILL.md +80 -0
  22. package/builtin/skills/business-test-gen/SKILL.md +82 -0
  23. package/builtin/skills/business-ui-codegen/SKILL.md +104 -0
  24. package/builtin/skills/cli-router/SKILL.md +107 -0
  25. package/builtin/skills/execution-finish-branch/SKILL.md +58 -0
  26. package/builtin/skills/execution-git-worktrees/SKILL.md +48 -0
  27. package/builtin/skills/execution-parallel-agents/SKILL.md +46 -0
  28. package/builtin/skills/execution-receiving-review/SKILL.md +47 -0
  29. package/builtin/skills/execution-requesting-review/SKILL.md +51 -0
  30. package/builtin/skills/execution-sdd-orchestrator/SKILL.md +366 -0
  31. package/builtin/skills/execution-subagent-dispatch/SKILL.md +295 -0
  32. package/builtin/skills/execution-subagent-driven-dev/SKILL.md +143 -0
  33. package/builtin/skills/execution-systematic-debugging/SKILL.md +95 -0
  34. package/builtin/skills/execution-tdd/SKILL.md +74 -0
  35. package/builtin/skills/execution-verification-before-completion/SKILL.md +75 -0
  36. package/builtin/skills/meta-create-skill/SKILL.md +374 -0
  37. package/builtin/skills/meta-using-skills/SKILL.md +97 -0
  38. package/builtin/skills/meta-writing-skills/SKILL.md +66 -0
  39. package/builtin/skills/planning-apply-change/SKILL.md +194 -0
  40. package/builtin/skills/planning-archive-change/SKILL.md +53 -0
  41. package/builtin/skills/planning-explore/SKILL.md +99 -0
  42. package/builtin/skills/planning-onboard/SKILL.md +60 -0
  43. package/builtin/skills/planning-propose/SKILL.md +156 -0
  44. package/builtin/skills/planning-update-change/SKILL.md +45 -0
  45. package/builtin/skills/planning-verify-change/SKILL.md +72 -0
  46. package/builtin/skills/planning-write-design/SKILL.md +59 -0
  47. package/builtin/skills/planning-write-plans/SKILL.md +55 -0
  48. package/builtin/skills/planning-write-specs/SKILL.md +73 -0
  49. package/builtin/skills/using-specpow/SKILL.md +232 -0
  50. package/dist/commands/init.js +12 -14
  51. package/dist/commands/init.js.map +1 -1
  52. package/package.json +4 -5
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: business-ui-codegen
3
+ description: SpecPow business-ui-codegen skill
4
+ ---
5
+
6
+ # UI 代码生成
7
+
8
+ > 根据设计文档和接口定义,生成前端页面/UI 代码
9
+
10
+ ## 技术栈配置
11
+
12
+ 本技能的**默认**技术栈为 Vue2 + View Design,但会根据项目实际使用的框架自动适配:
13
+
14
+ - **前端框架** — 优先使用项目已有的框架(Vue2 / Vue3 / React / Angular)
15
+ - **UI 组件库** — 匹配项目已有组件库(View Design / Element / Ant Design / MUI)
16
+ - **状态管理** — 使用项目已有的状态管理(Vuex / Pinia / Redux / NgRx)
17
+ - **样式方案** — 沿用项目已有的 CSS 方案(CSS Modules / Scoped CSS / Tailwind / Less / SCSS)
18
+
19
+ 如果项目无已有前端代码,则在阶段 1 询问用户确认技术选型。
20
+
21
+ ## 触发条件
22
+
23
+ - 用户要求生成前端页面/UI 代码
24
+ - 执行 apply-change 时涉及前端任务
25
+ - 用户提到"生成页面"/"写组件"/"创建表单"
26
+
27
+ ## 铁律
28
+
29
+ 1. **接口先行** — 必须确认后端 API 已定义(路径、参数、返回值)
30
+ 2. **组件复用** — 优先使用 View Design 组件,不造轮子
31
+ 3. **样式规范** — 使用项目已有的 CSS 变量/mixin
32
+ 4. **响应式** — 表格、表单必须适配常见分辨率
33
+
34
+ ## 工作流
35
+
36
+ ### 阶段 1:上下文收集
37
+
38
+ 1. 读取 design.md 获取页面结构和交互设计
39
+ 2. 确认 API 接口定义(路径、Method、参数、响应)
40
+ 3. **扫描项目已有页面,识别技术栈**(框架、组件库、状态管理、样式方案)
41
+ 4. 如果项目无已有前端代码,询问用户确认技术选型
42
+ 5. 确认路由配置方式
43
+
44
+ ### 阶段 2:代码生成
45
+
46
+ 按以下顺序生成:
47
+
48
+ **2.1 API 接口文件**
49
+ ```
50
+ 文件: src/api/xxx.js
51
+ - 使用 axios 封装
52
+ - 每个接口一个导出函数
53
+ - 请求/响应拦截器统一处理
54
+ ```
55
+
56
+ **2.2 页面主文件**
57
+ ```
58
+ 文件: src/views/xxx/index.vue
59
+ - <template>: View Design 组件组合
60
+ - <script>: data/methods/computed/watch 标准结构
61
+ - <style scoped>: 局部样式
62
+ ```
63
+
64
+ **2.3 列表页模板**
65
+ ```
66
+ - 搜索表单(Form + FormItem)
67
+ - 操作按钮栏(新增/导出/批量操作)
68
+ - 数据表格(Table + columns 配置)
69
+ - 分页(Page 组件)
70
+ - 新增/编辑弹窗(Modal + Form)
71
+ ```
72
+
73
+ **2.4 表单页模板**
74
+ ```
75
+ - 表单验证规则(rules)
76
+ - 提交前校验
77
+ - 返回/重置按钮
78
+ ```
79
+
80
+ **2.5 路由配置**
81
+ ```
82
+ - 路由路径与菜单对应
83
+ - meta 包含 title、icon、权限
84
+ ```
85
+
86
+ ### 阶段 3:验证
87
+
88
+ 1. 语法检查:Vue 模板无报错
89
+ 2. 组件引用:所有使用的组件已注册
90
+ 3. API 调用:接口路径和参数与设计一致
91
+
92
+ ## 输出格式
93
+
94
+ ```
95
+ 文件: src/views/xxx/index.vue
96
+ 类型: 页面组件
97
+ 依赖: View Design, axios, 路由
98
+ ```
99
+
100
+ ## 红旗(立即停止)
101
+
102
+ - API 接口未定义 → 先完成后端
103
+ - 项目未使用 View Design → 确认 UI 框架
104
+ - 发现已有同名页面 → 报告冲突
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: cli-router
3
+ version: 1.0.0
4
+ trigger: on-demand
5
+ description: SpecPow CLI 命令路由 — 将用户意图映射到 CLI 命令执行
6
+ ---
7
+
8
+ # SpecPow CLI 路由技能
9
+
10
+ 当用户请求执行 SpecPow CLI 命令时,按以下规则执行。
11
+
12
+ ## 铁律
13
+
14
+ 1. **所有 CLI 命令通过 Bash 工具执行**,不在对话中模拟输出
15
+ 2. **先检查状态**:执行任何命令前先 `specpow status`
16
+ 3. **展示完整输出**:将命令输出完整展示给用户
17
+ 4. **链式引导**:执行完一步后建议下一步
18
+
19
+ ## 意图 → 命令映射表
20
+
21
+ | 用户说 | 执行命令 |
22
+ |--------|---------|
23
+ | "探索需求" / "explore" / "specpow explore" | `specpow explore "主题"` |
24
+ | "创建提案" / "propose" / "specpow propose" | `specpow propose <name>` |
25
+ | "执行" / "apply" / "实现" / "specpow apply" | `specpow apply` |
26
+ | "验证" / "verify" / "检查" / "specpow verify" | `specpow verify` |
27
+ | "归档" / "archive" / "specpow archive" | `specpow archive` |
28
+ | "状态" / "status" / "specpow status" | `specpow status` |
29
+ | "调试" / "debug" / "specpow debug" | `specpow debug "描述"` |
30
+ | "doctor" / "诊断" / "specpow doctor" | `specpow doctor` |
31
+ | "review" / "审查" / "specpow review" | `specpow review` |
32
+ | "schemas" / "schema 列表" | `specpow schemas` |
33
+ | "更新" / "update" / "specpow update" | `specpow update` |
34
+ | "配置" / "config" / "specpow config" | `specpow config` |
35
+
36
+ ## 执行规则
37
+
38
+ ### 交互式命令处理
39
+
40
+ `specpow explore` 是交互式命令(使用 readline),在 Claude Code 的 Bash 工具中无法交互。
41
+ 遇到此命令时:
42
+ 1. 告诉用户需要在终端中运行:`specpow explore "主题"`
43
+ 2. 或者尝试使用 `--json` 标志获取非交互式输出(如果支持)
44
+ 3. 如果用户坚持在 Claude Code 中执行,使用苏格拉底式提问手动模拟探索流程
45
+
46
+ ### 非交互式命令
47
+
48
+ 其他所有命令(propose/apply/verify/archive/status)都是非交互式的,直接通过 Bash 执行:
49
+
50
+ ```bash
51
+ # 示例:执行状态检查
52
+ specpow status
53
+
54
+ # 示例:创建变更提案
55
+ specpow propose add-login
56
+
57
+ # 示例:使用特定 schema
58
+ specpow propose fix-bug --schema bug-fix
59
+
60
+ # 示例:验证变更
61
+ specpow verify --change add-login
62
+
63
+ # 示例:归档变更
64
+ specpow archive --change add-login
65
+ ```
66
+
67
+ ### 错误处理
68
+
69
+ 命令失败时:
70
+ 1. 展示完整错误信息
71
+ 2. 分析可能的原因
72
+ 3. 建议解决方案
73
+ 4. 如果适用,运行 `specpow doctor` 进行诊断
74
+
75
+ ### 工作流引导
76
+
77
+ 根据当前阶段引导用户:
78
+
79
+ ```
80
+ [无变更] → propose → [有提案] → apply → [已实现] → verify → [已验证] → archive
81
+ ```
82
+
83
+ 每次执行 `specpow status` 后,根据阶段推荐下一步操作:
84
+ - 无活跃变更 → 建议 `/specpow-propose <name>`
85
+ - 有提案但工件未完成 → 建议编辑工件文件
86
+ - 工件已完成 → 建议 `/specpow-apply`
87
+ - 已实现 → 建议 `/specpow-verify`
88
+ - 已验证 → 建议 `/specpow-archive`
89
+
90
+ ## 合理化防御表
91
+
92
+ | 你以为的 | 实际应该做的 |
93
+ |---------|------------|
94
+ | "我可以直接告诉用户命令是什么" | 用 Bash 工具执行命令并展示结果 |
95
+ | "这个命令太简单了,不需要执行" | 仍然执行,展示实际输出 |
96
+ | "用户应该自己去终端运行" | 用户要求你执行,你就执行 |
97
+ | "explore 是交互式的,我模拟一下" | 告诉用户需要在终端运行,或手动模拟苏格拉底式提问 |
98
+
99
+ ## 红旗
100
+
101
+ 以下想法意味着 STOP:
102
+
103
+ | 想法 | 现实 |
104
+ |------|------|
105
+ | "我可以假装执行了命令" | 必须真正用 Bash 执行并展示输出 |
106
+ | "这个命令会改变什么,让我先确认" | 直接执行,展示结果让用户确认 |
107
+ | "用户可能不知道这个命令" | 执行命令后解释输出含义 |
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: execution-finish-branch
3
+ description: SpecPow execution-finish-branch skill
4
+ ---
5
+
6
+ # 完成分支
7
+
8
+ > 分支开发完成后的合并和清理流程
9
+
10
+ ## 触发条件
11
+
12
+ - 变更所有任务完成 — 准备合并到主分支
13
+ - 用户提到"完成分支"/"合并"/"清理"
14
+
15
+ ## 铁律
16
+
17
+ 1. **验证先行** — 合并前必须通过所有检查
18
+ 2. **squash 合并** — 保持主分支历史整洁
19
+ 3. **删除分支** — 合并后删除功能分支
20
+ 4. **更新状态** — 归档变更
21
+
22
+ ## 工作流
23
+
24
+ ### 1. 最终验证
25
+ ```bash
26
+ # 确保测试通过
27
+ pnpm test
28
+
29
+ # 确保构建通过
30
+ pnpm build
31
+
32
+ # 确保无未提交变更
33
+ git status
34
+ ```
35
+
36
+ ### 2. 合并
37
+ ```bash
38
+ git checkout main
39
+ git merge --squash feature-branch
40
+ git commit -m "feat: 变更描述"
41
+ ```
42
+
43
+ ### 3. 清理
44
+ ```bash
45
+ git branch -d feature-branch
46
+ git worktree remove ../project-feature # 如果使用了 worktree
47
+ ```
48
+
49
+ ### 4. 归档变更
50
+ ```bash
51
+ specpow archive <change-id>
52
+ ```
53
+
54
+ ## 红旗
55
+
56
+ - 测试未通过 → 不合并
57
+ - 有冲突未解决 → 先解决冲突
58
+ - 未归档变更 → 完成归档
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: execution-git-worktrees
3
+ description: SpecPow execution-git-worktrees skill
4
+ ---
5
+
6
+ # Git 工作树
7
+ > 使用 git worktree 管理多个并行开发分支
8
+
9
+ ## 触发条件
10
+
11
+ - 需要同时处理多个变更
12
+ - 用户提到"工作树"/"worktree"/"并行开发"
13
+
14
+ ## 铁律
15
+
16
+ 1. **一树一分支** — 每个 worktree 对应独立分支
17
+ 2. **不共享 node_modules** — 每个工作树独立安装依赖
18
+ 3. **完成后清理** — 合并后删除 worktree
19
+
20
+ ## 工作流
21
+
22
+ ### 创建 worktree
23
+ ```bash
24
+ git worktree add ../project-feature-a feature-a
25
+ cd ../project-feature-a
26
+ pnpm install
27
+ ```
28
+
29
+ ### 列出 worktree
30
+ ```bash
31
+ git worktree list
32
+ ```
33
+
34
+ ### 删除 worktree
35
+ ```bash
36
+ git worktree remove ../project-feature-a
37
+ ```
38
+
39
+ ## 适用场景
40
+
41
+ - 同时开发多个需求
42
+ - 紧急修复需要中断当前工作
43
+ - 对比不同分支的实现
44
+
45
+ ## 红旗
46
+
47
+ - worktree 超过 5 个 → 清理不用的
48
+ - 忘记切回主 worktree → 注意当前工作目录
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: execution-parallel-agents
3
+ description: 并行子代理调度。识别独立问题域,并行分发多个子代理同时处理。来自 Superpowers。
4
+ ---
5
+
6
+ # 并行代理调度
7
+
8
+ ## 何时使用
9
+
10
+ - 有多个独立的问题域
11
+ - 问题之间没有依赖关系
12
+ - 想要加速处理
13
+
14
+ ## 流程
15
+
16
+ ### 1. 识别独立性
17
+ 分析问题,识别可以独立处理的子问题:
18
+ - 不同的文件/模块
19
+ - 不同的功能点
20
+ - 不同的关注点(前端/后端/测试)
21
+
22
+ ### 2. 验证独立性
23
+ 确保子问题之间:
24
+ - 不修改同一个文件
25
+ - 不依赖彼此的输出
26
+ - 接口已经定义清楚
27
+
28
+ ### 3. 并行分发
29
+
30
+ 为每个子问题分发一个子代理:
31
+ - 每个子代理有独立的上下文
32
+ - 每个子代理有明确的范围
33
+ - 每个子代理有验证标准
34
+
35
+ ### 4. 合并结果
36
+
37
+ 所有子代理完成后:
38
+ - 检查是否有冲突
39
+ - 运行完整测试套件
40
+ - 集成验证
41
+
42
+ ## 注意事项
43
+
44
+ - **绝不**并行修改同一个文件
45
+ - 合并后必须运行完整测试
46
+ - 如果子代理之间有依赖,改用串行
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: execution-receiving-review
3
+ description: SpecPow execution-receiving-review skill
4
+ ---
5
+
6
+ # 接收审查
7
+
8
+ > 收到代码审查反馈后的正确处理流程
9
+
10
+ ## 触发条件
11
+
12
+ - 收到审查意见/评论
13
+ - PR/MR 有审查反馈
14
+ - 用户提到"处理审查"/"审查反馈"
15
+
16
+ ## 铁律
17
+
18
+ 1. **不辩解** — 审查意见是改进机会,不是攻击
19
+ 2. **逐条回应** — 每个 Finding 都要回复
20
+ 3. **修复优先** — Critical/Major 必须修复
21
+ 4. **不扩大范围** — 只修复审查指出的问题
22
+
23
+ ## 处理流程
24
+
25
+ ### 1. 分类反馈
26
+ - Critical → 立即修复
27
+ - Major → 本轮修复
28
+ - Minor → 本轮修复或标注后续处理
29
+ - Suggestion → 评估后决定
30
+
31
+ ### 2. 修复
32
+ - 每个修复单独 commit
33
+ - commit message 引用 Finding ID
34
+
35
+ ### 3. 回应
36
+ ```
37
+ ✅ [Critical] SQL 注入 → 已修复 (commit abc123)
38
+ ✅ [Major] 缺少事务 → 已修复 (commit def456)
39
+ ⏳ [Minor] 命名优化 → 下个迭代处理
40
+ 📝 [Suggestion] 重构 → 超出本次范围,记录到 backlog
41
+ ```
42
+
43
+ ## 红旗
44
+
45
+ - 忽略 Critical → 必须修复
46
+ - 反驳审查而不修改 → 重新评估
47
+ - 修复引入新问题 → 回退并重新修复
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: execution-requesting-review
3
+ description: SpecPow execution-requesting-review skill
4
+ ---
5
+
6
+ # 请求审查
7
+
8
+ > 在完成任务后,正确请求代码审查
9
+
10
+ ## 触发条件
11
+
12
+ - 任务完成后需要请求审查
13
+ - 准备提交 PR/MR
14
+ - 用户提到"请求审查"/"review"
15
+
16
+ ## 铁律
17
+
18
+ 1. **自审先行** — 先自己审查一遍再请求他人
19
+ 2. **上下文充分** — 提供变更背景和影响范围
20
+ 3. **范围明确** — 指明需要重点审查的部分
21
+
22
+ ## 审查请求模板
23
+
24
+ ```markdown
25
+ ## 审查请求
26
+
27
+ ### 变更概述
28
+ - 变更 ID: xxx
29
+ - 影响范围: [文件列表]
30
+ - 变更类型: [新功能/修复/重构]
31
+
32
+ ### 自审结果
33
+ - [ ] 代码编译通过
34
+ - [ ] 测试通过
35
+ - [ ] 无 lint 警告
36
+ - [ ] 文档已更新
37
+
38
+ ### 重点审查
39
+ 1. [文件:行号] — 请确认逻辑正确性
40
+ 2. [文件:行号] — 请确认性能可接受
41
+
42
+ ### 背景信息
43
+ - 相关需求: [链接]
44
+ - 技术决策: [说明]
45
+ ```
46
+
47
+ ## 红旗
48
+
49
+ - 未自审就请求审查 → 先自审
50
+ - 变更超过 500 行 → 拆分变更
51
+ - 无测试 → 补充测试后再请求