@aipper/aiws-spec 0.0.24 → 0.0.25

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 (191) hide show
  1. package/README.md +22 -0
  2. package/docs/aiws-bootstrap-routing-design.md +138 -0
  3. package/docs/aiws-governance-positioning.md +69 -0
  4. package/docs/cli-interface.md +87 -5
  5. package/docs/collaboration-artifacts.md +62 -0
  6. package/docs/opencode-omo-adapter.md +135 -0
  7. package/docs/opencode-omo-validation-checklist.md +90 -0
  8. package/docs/spec-contract.md +26 -11
  9. package/docs/superpowers-collaboration-adoption.md +92 -0
  10. package/docs/workflow-delegation-contracts.json +274 -0
  11. package/docs/workflow-delegation-contracts.md +248 -0
  12. package/docs/workflow-delegation-contracts.schema.json +176 -0
  13. package/docs/workflow-governance-rules.json +294 -0
  14. package/docs/workflow-governance-rules.md +63 -0
  15. package/docs/workflow-governance-rules.schema.json +182 -0
  16. package/docs/workflow-review-gates.json +72 -0
  17. package/docs/workflow-review-gates.md +36 -0
  18. package/docs/workflow-review-gates.schema.json +67 -0
  19. package/docs/workflow-router-rules.json +196 -0
  20. package/docs/workflow-router-rules.md +83 -0
  21. package/docs/workflow-router-rules.schema.json +119 -0
  22. package/docs/workflow-stage-contracts.json +148 -0
  23. package/docs/workflow-stage-contracts.md +70 -0
  24. package/docs/workflow-stage-contracts.schema.json +98 -0
  25. package/package.json +1 -1
  26. package/templates/workspace/.agents/skills/using-aiws/SKILL.md +83 -0
  27. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +23 -0
  28. package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +75 -0
  29. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +22 -0
  30. package/templates/workspace/.agents/skills/ws-dev/SKILL.md +35 -6
  31. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +24 -0
  32. package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +126 -0
  33. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +22 -1
  34. package/templates/workspace/.agents/skills/ws-plan/SKILL.md +25 -1
  35. package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +20 -0
  36. package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +23 -0
  37. package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +56 -0
  38. package/templates/workspace/.agents/skills/ws-review/SKILL.md +24 -0
  39. package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +57 -0
  40. package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +59 -0
  41. package/templates/workspace/.claude/commands/using-aiws.md +24 -0
  42. package/templates/workspace/.claude/commands/ws-quality-review.md +24 -0
  43. package/templates/workspace/.claude/commands/ws-spec-review.md +24 -0
  44. package/templates/workspace/.claude/commands/ws-verify-before-complete.md +24 -0
  45. package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +24 -0
  46. package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +24 -0
  47. package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +18 -0
  48. package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +26 -0
  49. package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +19 -0
  50. package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +33 -0
  51. package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +19 -0
  52. package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +19 -0
  53. package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  54. package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  55. package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +23 -0
  56. package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +30 -0
  57. package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +18 -0
  58. package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +27 -0
  59. package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +18 -0
  60. package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +26 -0
  61. package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +22 -0
  62. package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +37 -0
  63. package/templates/workspace/.claude/skills/using-aiws/SKILL.md +83 -0
  64. package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +26 -0
  65. package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +111 -0
  66. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +127 -0
  67. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +231 -0
  68. package/templates/workspace/.claude/skills/ws-dev/SKILL.md +168 -0
  69. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +220 -0
  70. package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +126 -0
  71. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +52 -0
  72. package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +54 -0
  73. package/templates/workspace/.claude/skills/ws-plan/SKILL.md +138 -0
  74. package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +61 -0
  75. package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +55 -0
  76. package/templates/workspace/.claude/skills/ws-pull/SKILL.md +119 -0
  77. package/templates/workspace/.claude/skills/ws-push/SKILL.md +110 -0
  78. package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +56 -0
  79. package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +41 -0
  80. package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +17 -0
  81. package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +12 -0
  82. package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +28 -0
  83. package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +32 -0
  84. package/templates/workspace/.claude/skills/ws-review/SKILL.md +50 -0
  85. package/templates/workspace/.claude/skills/ws-rule/SKILL.md +23 -0
  86. package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +57 -0
  87. package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +65 -0
  88. package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +59 -0
  89. package/templates/workspace/.opencode/command/using-aiws.md +29 -0
  90. package/templates/workspace/.opencode/command/ws-delegate.md +33 -0
  91. package/templates/workspace/.opencode/command/ws-plan.md +3 -0
  92. package/templates/workspace/.opencode/command/ws-preflight.md +4 -0
  93. package/templates/workspace/.opencode/command/ws-quality-review.md +30 -0
  94. package/templates/workspace/.opencode/command/ws-review.md +3 -0
  95. package/templates/workspace/.opencode/command/ws-spec-review.md +30 -0
  96. package/templates/workspace/.opencode/command/ws-verify-before-complete.md +27 -0
  97. package/templates/workspace/.opencode/commands/p-aiws-change-archive.md +27 -0
  98. package/templates/workspace/.opencode/commands/p-aiws-change-finish.md +27 -0
  99. package/templates/workspace/.opencode/commands/p-aiws-change-list.md +26 -0
  100. package/templates/workspace/.opencode/commands/p-aiws-change-new.md +27 -0
  101. package/templates/workspace/.opencode/commands/p-aiws-change-next.md +27 -0
  102. package/templates/workspace/.opencode/commands/p-aiws-change-start.md +27 -0
  103. package/templates/workspace/.opencode/commands/p-aiws-change-status.md +27 -0
  104. package/templates/workspace/.opencode/commands/p-aiws-change-sync.md +27 -0
  105. package/templates/workspace/.opencode/commands/p-aiws-change-templates-init.md +26 -0
  106. package/templates/workspace/.opencode/commands/p-aiws-change-templates-which.md +26 -0
  107. package/templates/workspace/.opencode/commands/p-aiws-change-validate.md +27 -0
  108. package/templates/workspace/.opencode/commands/p-aiws-hooks-install.md +26 -0
  109. package/templates/workspace/.opencode/commands/p-aiws-hooks-status.md +26 -0
  110. package/templates/workspace/.opencode/commands/p-aiws-init.md +23 -0
  111. package/templates/workspace/.opencode/commands/p-aiws-rollback.md +16 -0
  112. package/templates/workspace/.opencode/commands/p-aiws-update.md +22 -0
  113. package/templates/workspace/.opencode/commands/p-aiws-validate.md +17 -0
  114. package/templates/workspace/.opencode/commands/using-aiws.md +29 -0
  115. package/templates/workspace/.opencode/commands/ws-analyze.md +30 -0
  116. package/templates/workspace/.opencode/commands/ws-bugfix.md +35 -0
  117. package/templates/workspace/.opencode/commands/ws-commit.md +70 -0
  118. package/templates/workspace/.opencode/commands/ws-delegate.md +33 -0
  119. package/templates/workspace/.opencode/commands/ws-deliver.md +58 -0
  120. package/templates/workspace/.opencode/commands/ws-dev.md +36 -0
  121. package/templates/workspace/.opencode/commands/ws-finish.md +71 -0
  122. package/templates/workspace/.opencode/commands/ws-handoff.md +25 -0
  123. package/templates/workspace/.opencode/commands/ws-migrate.md +25 -0
  124. package/templates/workspace/.opencode/commands/ws-plan-verify.md +28 -0
  125. package/templates/workspace/.opencode/commands/ws-plan.md +27 -0
  126. package/templates/workspace/.opencode/commands/ws-preflight.md +34 -0
  127. package/templates/workspace/.opencode/commands/ws-pull.md +87 -0
  128. package/templates/workspace/.opencode/commands/ws-push.md +93 -0
  129. package/templates/workspace/.opencode/commands/ws-quality-review.md +30 -0
  130. package/templates/workspace/.opencode/commands/ws-req-change.md +45 -0
  131. package/templates/workspace/.opencode/commands/ws-req-contract-sync.md +21 -0
  132. package/templates/workspace/.opencode/commands/ws-req-contract-validate.md +16 -0
  133. package/templates/workspace/.opencode/commands/ws-req-flow-sync.md +23 -0
  134. package/templates/workspace/.opencode/commands/ws-req-review.md +36 -0
  135. package/templates/workspace/.opencode/commands/ws-review.md +33 -0
  136. package/templates/workspace/.opencode/commands/ws-rule.md +27 -0
  137. package/templates/workspace/.opencode/commands/ws-spec-review.md +30 -0
  138. package/templates/workspace/.opencode/commands/ws-submodule-setup.md +57 -0
  139. package/templates/workspace/.opencode/commands/ws-verify-before-complete.md +27 -0
  140. package/templates/workspace/.opencode/oh-my-opencode.json.example +17 -0
  141. package/templates/workspace/.opencode/skills/p-aiws-change-archive/SKILL.md +24 -0
  142. package/templates/workspace/.opencode/skills/p-aiws-change-finish/SKILL.md +24 -0
  143. package/templates/workspace/.opencode/skills/p-aiws-change-list/SKILL.md +18 -0
  144. package/templates/workspace/.opencode/skills/p-aiws-change-new/SKILL.md +26 -0
  145. package/templates/workspace/.opencode/skills/p-aiws-change-next/SKILL.md +19 -0
  146. package/templates/workspace/.opencode/skills/p-aiws-change-start/SKILL.md +33 -0
  147. package/templates/workspace/.opencode/skills/p-aiws-change-status/SKILL.md +19 -0
  148. package/templates/workspace/.opencode/skills/p-aiws-change-sync/SKILL.md +19 -0
  149. package/templates/workspace/.opencode/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  150. package/templates/workspace/.opencode/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  151. package/templates/workspace/.opencode/skills/p-aiws-change-validate/SKILL.md +23 -0
  152. package/templates/workspace/.opencode/skills/p-aiws-hooks-install/SKILL.md +30 -0
  153. package/templates/workspace/.opencode/skills/p-aiws-hooks-status/SKILL.md +18 -0
  154. package/templates/workspace/.opencode/skills/p-aiws-init/SKILL.md +27 -0
  155. package/templates/workspace/.opencode/skills/p-aiws-rollback/SKILL.md +18 -0
  156. package/templates/workspace/.opencode/skills/p-aiws-update/SKILL.md +26 -0
  157. package/templates/workspace/.opencode/skills/p-aiws-validate/SKILL.md +22 -0
  158. package/templates/workspace/.opencode/skills/p-tasks-plan/SKILL.md +37 -0
  159. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +87 -0
  160. package/templates/workspace/.opencode/skills/ws-analyze/SKILL.md +26 -0
  161. package/templates/workspace/.opencode/skills/ws-bugfix/SKILL.md +111 -0
  162. package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +127 -0
  163. package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +63 -0
  164. package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +231 -0
  165. package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +168 -0
  166. package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +220 -0
  167. package/templates/workspace/.opencode/skills/ws-frontend-design/SKILL.md +126 -0
  168. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +52 -0
  169. package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +54 -0
  170. package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +148 -0
  171. package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +61 -0
  172. package/templates/workspace/.opencode/skills/ws-preflight/SKILL.md +60 -0
  173. package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +119 -0
  174. package/templates/workspace/.opencode/skills/ws-push/SKILL.md +110 -0
  175. package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +63 -0
  176. package/templates/workspace/.opencode/skills/ws-req-change/SKILL.md +41 -0
  177. package/templates/workspace/.opencode/skills/ws-req-contract-sync/SKILL.md +17 -0
  178. package/templates/workspace/.opencode/skills/ws-req-contract-validate/SKILL.md +12 -0
  179. package/templates/workspace/.opencode/skills/ws-req-flow-sync/SKILL.md +28 -0
  180. package/templates/workspace/.opencode/skills/ws-req-review/SKILL.md +32 -0
  181. package/templates/workspace/.opencode/skills/ws-review/SKILL.md +57 -0
  182. package/templates/workspace/.opencode/skills/ws-rule/SKILL.md +23 -0
  183. package/templates/workspace/.opencode/skills/ws-spec-review/SKILL.md +64 -0
  184. package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +65 -0
  185. package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +59 -0
  186. package/templates/workspace/AGENTS.md +72 -30
  187. package/templates/workspace/changes/README.md +18 -0
  188. package/templates/workspace/changes/templates/proposal.md +15 -0
  189. package/templates/workspace/changes/templates/tasks.md +9 -2
  190. package/templates/workspace/manifest.json +277 -2
  191. package/templates/workspace/tools/ws_change_check.py +26 -4
@@ -18,6 +18,30 @@ description: 规划(生成可落盘 plan/ 工件;供 ws-dev 执行)
18
18
  - 未运行不声称已运行;验证命令要写清“预期结果”
19
19
  - 若存在 `changes/<change-id>/proposal.md`,计划与 proposal 的绑定字段必须保持一致(不一致时先修正再继续)
20
20
 
21
+ 阶段定位:
22
+ - planning 阶段;负责把用户目标收敛为 change 绑定、计划文件和验证入口。
23
+
24
+ 必需输入:
25
+ - 当前任务描述
26
+ - 真值文件:`AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`
27
+ - 若已存在:`changes/<change-id>/proposal.md`
28
+ - 若已有计划:当前 `plan/...` 文件
29
+
30
+ 必需输出:
31
+ - `Plan file:` 实际写入的 `plan/...`
32
+ - `Change context:` 当前生效的 `change/<change-id>` 分支或 worktree
33
+ - `Bindings:` `Change_ID` / `Req_ID|Problem_ID` / `Contract_Row` / `Plan_File` / `Evidence_Path`
34
+ - `Verify:` 可复现验证命令与预期
35
+ - `Next:` 先 `$ws-plan-verify`,通过后再 `$ws-dev`
36
+
37
+ 阻断条件:
38
+ - 任务目标或归因绑定不清晰
39
+ - 当前工作区 dirty 且尚未进入可复用的 change 上下文
40
+ - 无法把计划实际写盘
41
+
42
+ 完成判定:
43
+ - 计划已落盘、绑定已同步、验证入口明确,后续实现可以直接按计划推进。
44
+
21
45
  执行步骤(建议):
22
46
  1) 先运行 `$ws-preflight`(读取真值文件并输出约束摘要)。
23
47
  2) 若用户任务描述不清:先问 1-3 个关键澄清问题(不要猜)。
@@ -66,7 +90,7 @@ fi
66
90
  - `Bindings`:`Change_ID` / `Req_ID` / `Problem_ID` / `Contract_Row` / `Plan_File` / `Evidence_Path`
67
91
  - `Goal`:要达成什么
68
92
  - `Non-goals`:明确不做什么(避免 scope creep)
69
- - `Scope`:将改动的文件/目录清单(不确定就写 `TBD` 并说明如何确定)
93
+ - `Scope`:默认写成 `## Scope` 或 `## 影响范围(Scope)`,并包含 `### In Scope` / `### Out of Scope`;`In Scope` 下列出允许修改的文件/目录清单(支持 glob,不确定就写 `TBD` 并说明如何确定)
70
94
  - `Plan`:分步执行(每步尽量落到具体文件/命令;必要时拆 Phase)
71
95
  - `Submodules`(当存在 `.gitmodules` 且声明了 submodule 条目时,强制):声明“本次 change 的 submodule 目标分支真值”(用于同一 superproject 分支内的多渠道交付;也避免仅靠 `.gitmodules` 默认分支导致交付推送到错误分支)
72
96
  - `Verify`:可复现命令 + 期望结果(优先引用 `AI_WORKSPACE.md` 的入口;必要时补充 e2e)
@@ -14,6 +14,26 @@ description: 计划质检(执行前检查计划是否过长/跑偏,并给出
14
14
  - 已执行过 `$ws-plan`,且准备开始编码
15
15
  - 或用户反馈“计划太长/容易跑偏”,需要先压缩并对齐
16
16
 
17
+ 阶段定位:
18
+ - planning gate;负责在编码前检查计划是否满足 change 严格契约。
19
+
20
+ 必需输入:
21
+ - 当前 `plan/...`
22
+ - `changes/<change-id>/proposal.md`
23
+ - 当前 change 上下文
24
+
25
+ 必需输出:
26
+ - `Quality gate:` pass/fail
27
+ - `Fix list:` 最小修正项
28
+ - `Next:` 通过则 `$ws-dev`,未通过则继续修正并复跑
29
+
30
+ 阻断条件:
31
+ - 无法定位当前 change 或计划文件
32
+ - `aiws change validate <change-id> --strict` 未通过
33
+
34
+ 完成判定:
35
+ - 计划满足严格门禁,且后续实现可以在不补需求/补绑定的情况下直接开始。
36
+
17
37
  执行步骤(建议):
18
38
  1) 先运行 `$ws-preflight`。
19
39
  2) 识别 change 上下文:
@@ -7,6 +7,29 @@ description: 预检(提交前快速检查与建议)
7
7
 
8
8
  目标:在开始任何“写代码/改配置/落盘文件”之前,对齐工作区真值文件,避免规则漂移。
9
9
 
10
+ 阶段定位:
11
+ - workflow 入口阶段;负责判断当前仓库是否具备继续执行其它 `ws-*` 阶段的前置条件。
12
+
13
+ 必需输入:
14
+ - 当前项目根目录候选路径
15
+ - `AI_PROJECT.md`
16
+ - `REQUIREMENTS.md`
17
+ - `AI_WORKSPACE.md`
18
+
19
+ 必需输出:
20
+ - `Root:` 当前项目根
21
+ - `Found:` 实际读取到的真值文件
22
+ - `Missing:` 缺失项
23
+ - `Key rules:` 3-8 条约束摘要
24
+ - `Next:` 若真值齐全,建议进入 `$ws-plan` 或 `$ws-dev`;若缺失,建议先 `aiws init .`
25
+
26
+ 阻断条件:
27
+ - 无法确定项目根目录
28
+ - 缺失任一真值文件
29
+
30
+ 完成判定:
31
+ - 使用者已经知道当前仓库能否继续进入后续阶段,以及必须遵守的约束与下一步入口。
32
+
10
33
  执行步骤(强制):
11
34
  1) 定位项目根目录:
12
35
  - 优先:`git rev-parse --show-toplevel`
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: ws-quality-review
3
+ description: 质量审查(行为回归 / 测试覆盖 / 实现质量)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:
9
+ - 审查当前改动的行为正确性、边界条件、测试覆盖和实现质量
10
+ - 把“代码/行为层 findings”优先落盘到 `changes/<change-id>/review/quality-review.md`
11
+
12
+ 阶段定位:
13
+ - review 子 gate;负责实现质量、行为回归与验证覆盖审查。
14
+
15
+ 必需输入:
16
+ - 当前 `git diff`
17
+ - 已执行的验证结果
18
+ - 相关代码 / 配置 / 测试文件
19
+ - 若存在:`changes/<change-id>/analysis/`、`patches/`、已有 review 文件
20
+
21
+ 必需输出:
22
+ - `证据(Evidence):` `changes/<change-id>/review/quality-review.md` 或回退 `.agentdocs/tmp/review/quality-review.md`
23
+ - `主要发现(Findings):` 高到低排序的问题 / 风险 / 缺失测试
24
+ - `下一步(Next):` 最小修复项与回归命令
25
+
26
+ 阻断条件:
27
+ - 没有可审改动
28
+ - 没有任何验证上下文
29
+ - 无法写 review 证据
30
+
31
+ 完成判定:
32
+ - 已落盘 quality review 证据,且 findings / 测试缺口 / next 明确。
33
+
34
+ 步骤(建议):
35
+ 1) 先读取 `git diff`、验证结果与相关代码。
36
+ 2) 检查:
37
+ - 行为是否可能回归
38
+ - 边界条件 / 失败路径是否覆盖
39
+ - 测试是否足以支撑改动
40
+ - 是否存在明显复杂度、耦合、可维护性或性能问题
41
+ 3) 将结论落盘到:
42
+ - 默认:`changes/<change-id>/review/quality-review.md`
43
+ - 回退:`.agentdocs/tmp/review/quality-review.md`
44
+ 4) 输出:
45
+ - `证据(Evidence):`
46
+ - `主要发现(Findings):`
47
+ - `测试缺口(Gaps):`
48
+ - `下一步(Next):`
49
+
50
+ 重点:
51
+ - 这是质量 / 回归 review,不替代 requirements / gate review。
52
+ - 若发现流程、归因、evidence 缺口,转交给 `$ws-spec-review`。
53
+
54
+ 安全:
55
+ - 不打印 secrets。
56
+ - 不执行破坏性命令。
@@ -7,15 +7,39 @@ description: 评审(提交前审计与证据落盘)
7
7
 
8
8
  目标:在提交/交付前审计当前改动,对照真值文件检查是否越界,并把审计证据优先落盘到 `changes/<change-id>/review/`(若无法确定 `change-id` 再回退 `.agentdocs/tmp/review/`)。
9
9
 
10
+ 阶段定位:
11
+ - review 阶段;负责对当前改动做规范、风险和验证完整性的审计。
12
+
13
+ 必需输入:
14
+ - 当前 `git status` / `git diff`
15
+ - 已执行的验证结果
16
+ - 真值文件:`AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`
17
+ - 当前 `change/<change-id>` 上下文(若能识别)
18
+ - 若存在:`changes/<change-id>/analysis/`、`patches/`、已有 `review/` 文件
19
+
20
+ 必需输出:
21
+ - 审计文件:`changes/<change-id>/review/codex-review.md` 或回退 `.agentdocs/tmp/review/codex-review.md`
22
+ - `主要风险(Top risks):` 3-8 条
23
+ - `下一步(Next):` 最小修复清单 + 最小验证命令
24
+
25
+ 阻断条件:
26
+ - 没有可审计的改动或验证上下文
27
+ - 审计证据无法写盘
28
+
29
+ 完成判定:
30
+ - 审计证据已落盘,主要风险和下一步已明确,可作为 commit/deliver 前置输入。
31
+
10
32
  步骤(建议):
11
33
  1) 先做 preflight:定位项目根目录,读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`,输出约束摘要。
12
34
  2) 基于 `git status` / `git diff`(以及你实际运行过的测试结果),对照 `AI_PROJECT.md` 与 `REQUIREMENTS.md` 检查:
13
35
  - 是否存在越界目录改动/危险操作
14
36
  - 是否有可复现验证命令与证据
15
37
  - 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
38
+ - 若存在 `analysis/` / `patches/`:审查这些委托工件是否已被主 agent 理解、是否需要采用/拒绝,并把结论写入 review 文件
16
39
  3) 将审计落盘到(目录不存在则创建):
17
40
  - 默认:`changes/<change-id>/review/codex-review.md`
18
41
  - 回退:`.agentdocs/tmp/review/codex-review.md`(仅在无法确定 `change-id` 时使用)
42
+ - 若已有其它 reviewer 文件:不要覆盖它们;当前 reviewer 应写自己的文件或更新自己的汇总文件
19
43
  4) 回复中输出:
20
44
  - `证据(Evidence):` 证据文件路径
21
45
  - `主要风险(Top risks):` 3–8 条(高→低)
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: ws-spec-review
3
+ description: 规范审查(requirements / plan / evidence / gate 完整性)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:
9
+ - 审查当前改动是否满足真值文件、change 绑定、证据路径和 gate 完整性要求
10
+ - 把“流程/规范层 blocker”与“代码层问题”区分开,优先落盘到 `changes/<change-id>/review/spec-review.md`
11
+
12
+ 阶段定位:
13
+ - review 子 gate;负责 requirements / plan / evidence / workflow gate 完整性审查。
14
+
15
+ 必需输入:
16
+ - `AI_PROJECT.md`
17
+ - `REQUIREMENTS.md`
18
+ - `AI_WORKSPACE.md`
19
+ - 当前 `git diff`
20
+ - 若存在:`plan/...`、`changes/<change-id>/proposal.md`、`tasks.md`、`review/`、`evidence/`
21
+
22
+ 必需输出:
23
+ - `证据(Evidence):` `changes/<change-id>/review/spec-review.md` 或回退 `.agentdocs/tmp/review/spec-review.md`
24
+ - `阻断项(Blockers):` requirements 归因 / gate / evidence 缺口
25
+ - `下一步(Next):` 修复项与最小验证命令
26
+
27
+ 阻断条件:
28
+ - 无法定位项目根或真值文件
29
+ - 无法判断当前 change / 归因上下文
30
+ - 无法写 review 证据
31
+
32
+ 完成判定:
33
+ - 已落盘 spec review 证据,且明确指出 blocker / warning / next。
34
+
35
+ 步骤(建议):
36
+ 1) 先运行 `$ws-preflight`。
37
+ 2) 对照 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 检查:
38
+ - 当前改动能否归因到 `Req_ID` / `Problem_ID`
39
+ - `plan/...`、`proposal.md`、`tasks.md`、`evidence/` 是否与改动保持一致
40
+ - 是否存在越界目录改动、危险操作、未声明的非目标扩张
41
+ - 是否已经准备好可复现验证入口
42
+ 3) 把结论落盘到:
43
+ - 默认:`changes/<change-id>/review/spec-review.md`
44
+ - 回退:`.agentdocs/tmp/review/spec-review.md`
45
+ 4) 输出:
46
+ - `证据(Evidence):`
47
+ - `阻断项(Blockers):`
48
+ - `警告(Warnings):`
49
+ - `下一步(Next):`
50
+
51
+ 重点:
52
+ - 这是 spec / gate review,不是代码质量 review。
53
+ - 若发现实现质量或回归问题,转交给 `$ws-quality-review`。
54
+
55
+ 安全:
56
+ - 不打印 secrets。
57
+ - 不执行破坏性命令。
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: ws-verify-before-complete
3
+ description: 完成前验证(finish / handoff 前检查双审查与 validate/evidence 是否齐全)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:
9
+ - 在进入 `$ws-finish` / `$ws-handoff` 前,检查 review、validate stamp 和证据是否齐全
10
+ - 输出明确的 pass/fail 结论,避免“看起来完成了但 gate 没过”的伪完成
11
+
12
+ 阶段定位:
13
+ - finish 前 gate;负责 completion readiness 检查,不直接做 merge / push / handoff。
14
+
15
+ 必需输入:
16
+ - `changes/<change-id>/review/spec-review.md`
17
+ - `changes/<change-id>/review/quality-review.md`
18
+ - `.agentdocs/tmp/aiws-validate/*.json`
19
+ - 若存在:`changes/<change-id>/evidence/...`、`git status`
20
+
21
+ 必需输出:
22
+ - `证据(Evidence):` `changes/<change-id>/evidence/verify-before-complete.md` 或回退 `.agentdocs/tmp/review/verify-before-complete.md`
23
+ - `结论(Result):` pass / fail
24
+ - `缺失项(Missing):` 未满足的 gate
25
+ - `下一步(Next):` 进入 `$ws-finish` / `$ws-handoff`,或回退前置 gate
26
+
27
+ 阻断条件:
28
+ - 缺少 spec review
29
+ - 缺少 quality review
30
+ - 缺少 validate stamp
31
+ - review 中仍有未关闭 blocker
32
+ - 无法写 verification 证据
33
+
34
+ 完成判定:
35
+ - 已落盘 verify-before-complete 证据,并明确能否进入 `$ws-finish` / `$ws-handoff`。
36
+
37
+ 步骤(建议):
38
+ 1) 识别当前 `change/<change-id>`。
39
+ 2) 检查以下最小 gate:
40
+ - `changes/<change-id>/review/spec-review.md`
41
+ - `changes/<change-id>/review/quality-review.md`
42
+ - `.agentdocs/tmp/aiws-validate/*.json`
43
+ 3) 若存在 `changes/<change-id>/evidence/`,检查是否已经收敛 review / validate / collaboration summary。
44
+ 4) 将结果落盘到:
45
+ - 默认:`changes/<change-id>/evidence/verify-before-complete.md`
46
+ - 回退:`.agentdocs/tmp/review/verify-before-complete.md`
47
+ 5) 输出:
48
+ - `证据(Evidence):`
49
+ - `结论(Result): pass|fail`
50
+ - `缺失项(Missing):`
51
+ - `下一步(Next):`
52
+
53
+ 重点:
54
+ - 这个 gate 不替代 `$ws-finish`;它只判断“是否具备进入 finish / handoff 的前置条件”。
55
+ - 若 fail,必须明确回退到哪个 gate:`$ws-spec-review`、`$ws-quality-review`、`aiws validate . --stamp` 或 `aiws change evidence <change-id>`。
56
+
57
+ 安全:
58
+ - 不打印 secrets。
59
+ - 不执行破坏性命令。
@@ -0,0 +1,24 @@
1
+ <!-- AIWS_MANAGED_BEGIN:claude:using-aiws -->
2
+ # using aiws
3
+
4
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
5
+
6
+ 目标:
7
+ - 把当前任务先路由到正确的 AIWS workflow,而不是直接跳进实现。
8
+
9
+ 执行建议:
10
+ 1) 先读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`。
11
+ 2) 若缺失任一真值文件:先 `/ws-preflight`,必要时运行 `aiws init .`,不要继续实现。
12
+ 3) 若任务意图、归因或验证入口不明确:先提 1-3 个关键澄清问题并停止。
13
+ 4) 路由规则:
14
+ - 需求/验收/合同变更:`/ws-req-review`
15
+ - 中大型实现或需要 change/worktree:`/ws-plan`
16
+ - 小步明确实现:`/ws-dev`
17
+ - 评审/审计:`/ws-review`
18
+ - finish / merge / push / cleanup:`/ws-finish`
19
+ - handoff / archive summary:`/ws-handoff`
20
+ 5) 输出 `Task intent:` / `Binding:` / `Route:` / `Why:` / `Next:`。
21
+ 6) 除非用户只要路由判断,否则给出 route 后继续遵循对应入口的契约。
22
+ <!-- AIWS_MANAGED_END:claude:using-aiws -->
23
+
24
+ 可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
@@ -0,0 +1,24 @@
1
+ <!-- AIWS_MANAGED_BEGIN:claude:ws-quality-review -->
2
+ # ws quality review
3
+
4
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
5
+
6
+ 目标:审查行为回归、边界条件、测试覆盖与实现质量。
7
+
8
+ 步骤(建议):
9
+ 1) 读取 `git diff`、已执行的验证结果和相关代码。
10
+ 2) 检查:
11
+ - 是否存在行为回归或明显 bug 风险
12
+ - 边界条件 / 失败路径是否覆盖
13
+ - 测试是否足以支撑当前改动
14
+ 3) 将结论落盘到:
15
+ - 默认:`changes/<change-id>/review/quality-review.md`
16
+ - 回退:`.agentdocs/tmp/review/quality-review.md`
17
+ 4) 输出:
18
+ - `证据(Evidence):`
19
+ - `主要发现(Findings):`
20
+ - `测试缺口(Gaps):`
21
+ - `下一步(Next):`
22
+ <!-- AIWS_MANAGED_END:claude:ws-quality-review -->
23
+
24
+ 可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
@@ -0,0 +1,24 @@
1
+ <!-- AIWS_MANAGED_BEGIN:claude:ws-spec-review -->
2
+ # ws spec review
3
+
4
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
5
+
6
+ 目标:审查 requirements 归因、plan/change 绑定、evidence 与 workflow gate 完整性。
7
+
8
+ 步骤(建议):
9
+ 1) 先运行 `/ws-preflight`。
10
+ 2) 对照 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 检查:
11
+ - 当前改动是否能归因到 `Req_ID` / `Problem_ID`
12
+ - `plan/...`、`proposal.md`、`tasks.md`、`evidence/` 是否保持一致
13
+ - 是否存在越界改动、危险操作或缺失 gate
14
+ 3) 将结论落盘到:
15
+ - 默认:`changes/<change-id>/review/spec-review.md`
16
+ - 回退:`.agentdocs/tmp/review/spec-review.md`
17
+ 4) 输出:
18
+ - `证据(Evidence):`
19
+ - `阻断项(Blockers):`
20
+ - `警告(Warnings):`
21
+ - `下一步(Next):`
22
+ <!-- AIWS_MANAGED_END:claude:ws-spec-review -->
23
+
24
+ 可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
@@ -0,0 +1,24 @@
1
+ <!-- AIWS_MANAGED_BEGIN:claude:ws-verify-before-complete -->
2
+ # ws verify before complete
3
+
4
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
5
+
6
+ 目标:在 `/ws-finish` 或 `/ws-handoff` 前检查双审查、validate stamp 与 evidence 是否齐全。
7
+
8
+ 步骤(建议):
9
+ 1) 检查以下最小 gate:
10
+ - `changes/<change-id>/review/spec-review.md`
11
+ - `changes/<change-id>/review/quality-review.md`
12
+ - `.agentdocs/tmp/aiws-validate/*.json`
13
+ 2) 若存在 `changes/<change-id>/evidence/`,检查 review / validate / collaboration summary 是否已收敛。
14
+ 3) 将结果落盘到:
15
+ - 默认:`changes/<change-id>/evidence/verify-before-complete.md`
16
+ - 回退:`.agentdocs/tmp/review/verify-before-complete.md`
17
+ 4) 输出:
18
+ - `证据(Evidence):`
19
+ - `结论(Result): pass|fail`
20
+ - `缺失项(Missing):`
21
+ - `下一步(Next):`
22
+ <!-- AIWS_MANAGED_END:claude:ws-verify-before-complete -->
23
+
24
+ 可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: p-aiws-change-archive
3
+ description: 私有:归档变更工件(会先做严格校验并生成 handoff.md)
4
+ ---
5
+
6
+ 目标:
7
+ - 将 `changes/<change-id>/` 归档到 `changes/archive/<YYYY-MM-DD>/...`
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ change_id="<change-id>"
12
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
13
+ ./node_modules/.bin/aiws change archive "$change_id"
14
+ elif command -v aiws >/dev/null 2>&1; then
15
+ aiws change archive "$change_id"
16
+ else
17
+ npx @aipper/aiws change archive "$change_id"
18
+ fi
19
+ ```
20
+
21
+ 说明:
22
+ - `archive` 默认会先跑严格校验并要求 tasks 全部勾选
23
+ - `--force` 会绕过部分门禁(不推荐)
24
+ - 归档后会生成交接文档:`changes/archive/<date>-<change-id>/handoff.md`
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: p-aiws-change-finish
3
+ description: 私有:安全合并 change/<change-id> 回目标分支(默认 fast-forward)
4
+ ---
5
+
6
+ 目标:
7
+ - 将 `change/<change-id>` fast-forward 合并回目标分支,减少手输分支名导致的错误
8
+
9
+ 执行(在目标分支所在 worktree 的仓库根目录):
10
+ ```bash
11
+ change_id="<change-id>"
12
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
13
+ ./node_modules/.bin/aiws change finish "$change_id"
14
+ elif command -v aiws >/dev/null 2>&1; then
15
+ aiws change finish "$change_id"
16
+ else
17
+ npx @aipper/aiws change finish "$change_id"
18
+ fi
19
+ ```
20
+
21
+ 说明:
22
+ - 默认等价于:`git merge --ff-only change/<change-id>`
23
+ - 若你当前就在 `change/<change-id>` 分支上,`finish` 会尝试读取 `changes/<change-id>/.ws-change.json` 的 `base_branch` 作为目标分支
24
+ - 若无法 fast-forward:先在 change 分支(或对应 worktree)里 `git rebase <target-branch>`,再重试 `aiws change finish`
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: p-aiws-change-list
3
+ description: 私有:列出 changes 工件(只读)
4
+ ---
5
+
6
+ 目标:
7
+ - 列出当前仓库的变更工件与状态
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
12
+ ./node_modules/.bin/aiws change list
13
+ elif command -v aiws >/dev/null 2>&1; then
14
+ aiws change list
15
+ else
16
+ npx @aipper/aiws change list
17
+ fi
18
+ ```
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: p-aiws-change-new
3
+ description: 私有:创建 changes/<change-id> 工件
4
+ ---
5
+
6
+ 目标:
7
+ - 创建 `changes/<change-id>/` 工件目录与基础文件(proposal/tasks/可选 design)
8
+
9
+ 要求:
10
+ - `change-id` 必须是 kebab-case:`^[a-z0-9]+(-[a-z0-9]+)*$`
11
+
12
+ 执行(在仓库根目录):
13
+ ```bash
14
+ change_id="<change-id>"
15
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
16
+ ./node_modules/.bin/aiws change new "$change_id"
17
+ elif command -v aiws >/dev/null 2>&1; then
18
+ aiws change new "$change_id"
19
+ else
20
+ npx @aipper/aiws change new "$change_id"
21
+ fi
22
+ ```
23
+
24
+ 可选参数:
25
+ - `--title <title>`:写入标题
26
+ - `--no-design`:不生成 design.md
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: p-aiws-change-next
3
+ description: 私有:给出下一步建议(只读)
4
+ ---
5
+
6
+ 目标:
7
+ - 基于当前仓库与 changes 工件状态,输出最小下一步建议
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ change_id="<change-id>"
12
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
13
+ ./node_modules/.bin/aiws change next "$change_id"
14
+ elif command -v aiws >/dev/null 2>&1; then
15
+ aiws change next "$change_id"
16
+ else
17
+ npx @aipper/aiws change next "$change_id"
18
+ fi
19
+ ```
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: p-aiws-change-start
3
+ description: 私有:切分支并初始化变更工件(可选安装 hooks)
4
+ ---
5
+
6
+ 目标:
7
+ - 切到分支 `change/<change-id>` 并初始化 `changes/<change-id>/` 工件
8
+ - 若检测到 `.gitmodules`(git submodules),默认优先使用 `--worktree`(失败则回退为 `--no-switch`),避免切走 superproject 分支导致 submodule 状态混乱
9
+
10
+ 要求:
11
+ - 需要 git 仓库;若不是 git 仓库先 `git init`
12
+
13
+ 执行(在仓库根目录):
14
+ ```bash
15
+ change_id="<change-id>"
16
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
17
+ ./node_modules/.bin/aiws change start "$change_id"
18
+ elif command -v aiws >/dev/null 2>&1; then
19
+ aiws change start "$change_id"
20
+ else
21
+ npx @aipper/aiws change start "$change_id"
22
+ fi
23
+ ```
24
+
25
+ 可选参数:
26
+ - `--hooks`:同时执行 `aiws hooks install .`
27
+ - `--title <title>`:写入标题
28
+ - `--no-design`:不生成 design.md
29
+ - `--switch`:显式允许切换 superproject 分支(仅在存在 `.gitmodules` 时有意义)
30
+ - `--no-switch`:不切换当前分支(仅确保 `change/<change-id>` 分支存在并初始化工件);适用于 superproject + submodule 场景
31
+ - `--worktree`:用 `git worktree` 创建独立工作区并在其中 checkout `change/<change-id>`(推荐用于 superproject + submodule)
32
+ - `--worktree-dir <path>`:覆盖 worktree 目录
33
+ - `--submodules`:在 worktree 内执行 `git submodule update --init --recursive`
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: p-aiws-change-status
3
+ description: 私有:查看单个变更工件状态(只读)
4
+ ---
5
+
6
+ 目标:
7
+ - 查看指定 `change-id` 的工件状态与下一步建议
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ change_id="<change-id>"
12
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
13
+ ./node_modules/.bin/aiws change status "$change_id"
14
+ elif command -v aiws >/dev/null 2>&1; then
15
+ aiws change status "$change_id"
16
+ else
17
+ npx @aipper/aiws change status "$change_id"
18
+ fi
19
+ ```
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: p-aiws-change-sync
3
+ description: 私有:同步真值基线到 changes/<change-id>(写入 .ws-change.json)
4
+ ---
5
+
6
+ 目标:
7
+ - 将当前真值文件(`AI_PROJECT.md` / `AI_WORKSPACE.md` / `REQUIREMENTS.md`)的 hash 快照同步到 `changes/<change-id>/.ws-change.json`
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ change_id="<change-id>"
12
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
13
+ ./node_modules/.bin/aiws change sync "$change_id"
14
+ elif command -v aiws >/dev/null 2>&1; then
15
+ aiws change sync "$change_id"
16
+ else
17
+ npx @aipper/aiws change sync "$change_id"
18
+ fi
19
+ ```
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: p-aiws-change-templates-init
3
+ description: 私有:在仓库内初始化 change templates(写入 changes/templates)
4
+ ---
5
+
6
+ 目标:
7
+ - 初始化 `changes/templates/`(用于在仓库内自定义 proposal/tasks/design 模板)
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
12
+ ./node_modules/.bin/aiws change templates init
13
+ elif command -v aiws >/dev/null 2>&1; then
14
+ aiws change templates init
15
+ else
16
+ npx @aipper/aiws change templates init
17
+ fi
18
+ ```
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: p-aiws-change-templates-which
3
+ description: 私有:查看当前 change templates 来源(只读)
4
+ ---
5
+
6
+ 目标:
7
+ - 输出当前仓库 change templates 的解析来源与路径(用于排查模板来自哪里)
8
+
9
+ 执行(在仓库根目录):
10
+ ```bash
11
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
12
+ ./node_modules/.bin/aiws change templates which
13
+ elif command -v aiws >/dev/null 2>&1; then
14
+ aiws change templates which
15
+ else
16
+ npx @aipper/aiws change templates which
17
+ fi
18
+ ```