@aipper/aiws-spec 0.0.23 → 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 (210) 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-bugfix/SKILL.md +30 -7
  28. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +26 -1
  29. package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +75 -0
  30. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +46 -9
  31. package/templates/workspace/.agents/skills/ws-dev/SKILL.md +81 -11
  32. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +101 -60
  33. package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +126 -0
  34. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +22 -1
  35. package/templates/workspace/.agents/skills/ws-plan/SKILL.md +61 -2
  36. package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +20 -0
  37. package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +23 -0
  38. package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +56 -0
  39. package/templates/workspace/.agents/skills/ws-review/SKILL.md +24 -0
  40. package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +57 -0
  41. package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +59 -0
  42. package/templates/workspace/.claude/commands/using-aiws.md +24 -0
  43. package/templates/workspace/.claude/commands/ws-bugfix.md +11 -6
  44. package/templates/workspace/.claude/commands/ws-commit.md +2 -1
  45. package/templates/workspace/.claude/commands/ws-deliver.md +6 -2
  46. package/templates/workspace/.claude/commands/ws-dev.md +5 -2
  47. package/templates/workspace/.claude/commands/ws-finish.md +19 -19
  48. package/templates/workspace/.claude/commands/ws-plan.md +9 -5
  49. package/templates/workspace/.claude/commands/ws-quality-review.md +24 -0
  50. package/templates/workspace/.claude/commands/ws-spec-review.md +24 -0
  51. package/templates/workspace/.claude/commands/ws-verify-before-complete.md +24 -0
  52. package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +24 -0
  53. package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +24 -0
  54. package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +18 -0
  55. package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +26 -0
  56. package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +19 -0
  57. package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +33 -0
  58. package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +19 -0
  59. package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +19 -0
  60. package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  61. package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  62. package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +23 -0
  63. package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +30 -0
  64. package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +18 -0
  65. package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +27 -0
  66. package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +18 -0
  67. package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +26 -0
  68. package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +22 -0
  69. package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +37 -0
  70. package/templates/workspace/.claude/skills/using-aiws/SKILL.md +83 -0
  71. package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +26 -0
  72. package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +111 -0
  73. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +127 -0
  74. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +231 -0
  75. package/templates/workspace/.claude/skills/ws-dev/SKILL.md +168 -0
  76. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +220 -0
  77. package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +126 -0
  78. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +52 -0
  79. package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +54 -0
  80. package/templates/workspace/.claude/skills/ws-plan/SKILL.md +138 -0
  81. package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +61 -0
  82. package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +55 -0
  83. package/templates/workspace/.claude/skills/ws-pull/SKILL.md +119 -0
  84. package/templates/workspace/.claude/skills/ws-push/SKILL.md +110 -0
  85. package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +56 -0
  86. package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +41 -0
  87. package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +17 -0
  88. package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +12 -0
  89. package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +28 -0
  90. package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +32 -0
  91. package/templates/workspace/.claude/skills/ws-review/SKILL.md +50 -0
  92. package/templates/workspace/.claude/skills/ws-rule/SKILL.md +23 -0
  93. package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +57 -0
  94. package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +65 -0
  95. package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +59 -0
  96. package/templates/workspace/.codex/prompts/ws-dev.md +5 -1
  97. package/templates/workspace/.githooks/commit-msg +109 -0
  98. package/templates/workspace/.iflow/commands/ws-commit.toml +2 -1
  99. package/templates/workspace/.iflow/commands/ws-deliver.toml +6 -2
  100. package/templates/workspace/.iflow/commands/ws-finish.toml +19 -19
  101. package/templates/workspace/.opencode/command/using-aiws.md +29 -0
  102. package/templates/workspace/.opencode/command/ws-bugfix.md +11 -6
  103. package/templates/workspace/.opencode/command/ws-commit.md +2 -1
  104. package/templates/workspace/.opencode/command/ws-delegate.md +33 -0
  105. package/templates/workspace/.opencode/command/ws-deliver.md +6 -2
  106. package/templates/workspace/.opencode/command/ws-dev.md +5 -2
  107. package/templates/workspace/.opencode/command/ws-finish.md +19 -19
  108. package/templates/workspace/.opencode/command/ws-plan.md +12 -5
  109. package/templates/workspace/.opencode/command/ws-preflight.md +4 -0
  110. package/templates/workspace/.opencode/command/ws-quality-review.md +30 -0
  111. package/templates/workspace/.opencode/command/ws-review.md +3 -0
  112. package/templates/workspace/.opencode/command/ws-spec-review.md +30 -0
  113. package/templates/workspace/.opencode/command/ws-verify-before-complete.md +27 -0
  114. package/templates/workspace/.opencode/commands/p-aiws-change-archive.md +27 -0
  115. package/templates/workspace/.opencode/commands/p-aiws-change-finish.md +27 -0
  116. package/templates/workspace/.opencode/commands/p-aiws-change-list.md +26 -0
  117. package/templates/workspace/.opencode/commands/p-aiws-change-new.md +27 -0
  118. package/templates/workspace/.opencode/commands/p-aiws-change-next.md +27 -0
  119. package/templates/workspace/.opencode/commands/p-aiws-change-start.md +27 -0
  120. package/templates/workspace/.opencode/commands/p-aiws-change-status.md +27 -0
  121. package/templates/workspace/.opencode/commands/p-aiws-change-sync.md +27 -0
  122. package/templates/workspace/.opencode/commands/p-aiws-change-templates-init.md +26 -0
  123. package/templates/workspace/.opencode/commands/p-aiws-change-templates-which.md +26 -0
  124. package/templates/workspace/.opencode/commands/p-aiws-change-validate.md +27 -0
  125. package/templates/workspace/.opencode/commands/p-aiws-hooks-install.md +26 -0
  126. package/templates/workspace/.opencode/commands/p-aiws-hooks-status.md +26 -0
  127. package/templates/workspace/.opencode/commands/p-aiws-init.md +23 -0
  128. package/templates/workspace/.opencode/commands/p-aiws-rollback.md +16 -0
  129. package/templates/workspace/.opencode/commands/p-aiws-update.md +22 -0
  130. package/templates/workspace/.opencode/commands/p-aiws-validate.md +17 -0
  131. package/templates/workspace/.opencode/commands/using-aiws.md +29 -0
  132. package/templates/workspace/.opencode/commands/ws-analyze.md +30 -0
  133. package/templates/workspace/.opencode/commands/ws-bugfix.md +35 -0
  134. package/templates/workspace/.opencode/commands/ws-commit.md +70 -0
  135. package/templates/workspace/.opencode/commands/ws-delegate.md +33 -0
  136. package/templates/workspace/.opencode/commands/ws-deliver.md +58 -0
  137. package/templates/workspace/.opencode/commands/ws-dev.md +36 -0
  138. package/templates/workspace/.opencode/commands/ws-finish.md +71 -0
  139. package/templates/workspace/.opencode/commands/ws-handoff.md +25 -0
  140. package/templates/workspace/.opencode/commands/ws-migrate.md +25 -0
  141. package/templates/workspace/.opencode/commands/ws-plan-verify.md +28 -0
  142. package/templates/workspace/.opencode/commands/ws-plan.md +27 -0
  143. package/templates/workspace/.opencode/commands/ws-preflight.md +34 -0
  144. package/templates/workspace/.opencode/commands/ws-pull.md +87 -0
  145. package/templates/workspace/.opencode/commands/ws-push.md +93 -0
  146. package/templates/workspace/.opencode/commands/ws-quality-review.md +30 -0
  147. package/templates/workspace/.opencode/commands/ws-req-change.md +45 -0
  148. package/templates/workspace/.opencode/commands/ws-req-contract-sync.md +21 -0
  149. package/templates/workspace/.opencode/commands/ws-req-contract-validate.md +16 -0
  150. package/templates/workspace/.opencode/commands/ws-req-flow-sync.md +23 -0
  151. package/templates/workspace/.opencode/commands/ws-req-review.md +36 -0
  152. package/templates/workspace/.opencode/commands/ws-review.md +33 -0
  153. package/templates/workspace/.opencode/commands/ws-rule.md +27 -0
  154. package/templates/workspace/.opencode/commands/ws-spec-review.md +30 -0
  155. package/templates/workspace/.opencode/commands/ws-submodule-setup.md +57 -0
  156. package/templates/workspace/.opencode/commands/ws-verify-before-complete.md +27 -0
  157. package/templates/workspace/.opencode/oh-my-opencode.json.example +17 -0
  158. package/templates/workspace/.opencode/skills/p-aiws-change-archive/SKILL.md +24 -0
  159. package/templates/workspace/.opencode/skills/p-aiws-change-finish/SKILL.md +24 -0
  160. package/templates/workspace/.opencode/skills/p-aiws-change-list/SKILL.md +18 -0
  161. package/templates/workspace/.opencode/skills/p-aiws-change-new/SKILL.md +26 -0
  162. package/templates/workspace/.opencode/skills/p-aiws-change-next/SKILL.md +19 -0
  163. package/templates/workspace/.opencode/skills/p-aiws-change-start/SKILL.md +33 -0
  164. package/templates/workspace/.opencode/skills/p-aiws-change-status/SKILL.md +19 -0
  165. package/templates/workspace/.opencode/skills/p-aiws-change-sync/SKILL.md +19 -0
  166. package/templates/workspace/.opencode/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  167. package/templates/workspace/.opencode/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  168. package/templates/workspace/.opencode/skills/p-aiws-change-validate/SKILL.md +23 -0
  169. package/templates/workspace/.opencode/skills/p-aiws-hooks-install/SKILL.md +30 -0
  170. package/templates/workspace/.opencode/skills/p-aiws-hooks-status/SKILL.md +18 -0
  171. package/templates/workspace/.opencode/skills/p-aiws-init/SKILL.md +27 -0
  172. package/templates/workspace/.opencode/skills/p-aiws-rollback/SKILL.md +18 -0
  173. package/templates/workspace/.opencode/skills/p-aiws-update/SKILL.md +26 -0
  174. package/templates/workspace/.opencode/skills/p-aiws-validate/SKILL.md +22 -0
  175. package/templates/workspace/.opencode/skills/p-tasks-plan/SKILL.md +37 -0
  176. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +87 -0
  177. package/templates/workspace/.opencode/skills/ws-analyze/SKILL.md +26 -0
  178. package/templates/workspace/.opencode/skills/ws-bugfix/SKILL.md +111 -0
  179. package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +127 -0
  180. package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +63 -0
  181. package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +231 -0
  182. package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +168 -0
  183. package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +220 -0
  184. package/templates/workspace/.opencode/skills/ws-frontend-design/SKILL.md +126 -0
  185. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +52 -0
  186. package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +54 -0
  187. package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +148 -0
  188. package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +61 -0
  189. package/templates/workspace/.opencode/skills/ws-preflight/SKILL.md +60 -0
  190. package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +119 -0
  191. package/templates/workspace/.opencode/skills/ws-push/SKILL.md +110 -0
  192. package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +63 -0
  193. package/templates/workspace/.opencode/skills/ws-req-change/SKILL.md +41 -0
  194. package/templates/workspace/.opencode/skills/ws-req-contract-sync/SKILL.md +17 -0
  195. package/templates/workspace/.opencode/skills/ws-req-contract-validate/SKILL.md +12 -0
  196. package/templates/workspace/.opencode/skills/ws-req-flow-sync/SKILL.md +28 -0
  197. package/templates/workspace/.opencode/skills/ws-req-review/SKILL.md +32 -0
  198. package/templates/workspace/.opencode/skills/ws-review/SKILL.md +57 -0
  199. package/templates/workspace/.opencode/skills/ws-rule/SKILL.md +23 -0
  200. package/templates/workspace/.opencode/skills/ws-spec-review/SKILL.md +64 -0
  201. package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +65 -0
  202. package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +59 -0
  203. package/templates/workspace/AGENTS.md +72 -29
  204. package/templates/workspace/AI_WORKSPACE.md +4 -4
  205. package/templates/workspace/changes/README.md +26 -2
  206. package/templates/workspace/changes/templates/proposal.md +15 -0
  207. package/templates/workspace/changes/templates/tasks.md +9 -2
  208. package/templates/workspace/manifest.json +279 -2
  209. package/templates/workspace/tools/ws_change_check.py +27 -5
  210. package/templates/workspace/tools/ws_resolve_sub_target.sh +1 -0
@@ -0,0 +1,90 @@
1
+ # OpenCode + oMo Validation Checklist
2
+
3
+ 目的:补齐 `TOOLING-002L` 在真实项目环境中的人工验收路径,确认 `aiws` 对 OpenCode + `oh-my-opencode` 的支持停留在“合同 + 探测 + skill 路由提示”层,而不是 runtime orchestrator。
4
+
5
+ ## 范围
6
+
7
+ - 验证项目级 `.opencode/oh-my-opencode.json` 探测是否生效
8
+ - 验证 `using-aiws` / `ws-preflight` / `ws-plan` / `ws-review` 是否按约定输出 oMo 优先模式提示
9
+ - 验证缺失 oMo 配置时是否稳定退化到 `standard-opencode`
10
+
11
+ ## 前置条件
12
+
13
+ - 已在目标仓库执行 `aiws init .`
14
+ - 当前仓库已生成:
15
+ - `.opencode/skills/`
16
+ - `.opencode/commands/`
17
+ - `.opencode/oh-my-opencode.json.example`
18
+ - OpenCode 可正常读取项目内 `.opencode/` 目录
19
+
20
+ ## 场景 A:未启用 oMo(标准降级)
21
+
22
+ 1. 保持项目内不存在 `.opencode/oh-my-opencode.json`
23
+ 2. 运行:
24
+ ```bash
25
+ aiws opencode status .
26
+ ```
27
+ 3. 预期:
28
+ - 输出 `mode: standard-opencode`
29
+ - 输出 `oMo config: missing`
30
+ - 输出 `oMo example: .opencode/oh-my-opencode.json.example (present)` 或同等信息
31
+ 4. 在 OpenCode 中执行:
32
+ - `/using-aiws`
33
+ - `/ws-preflight`
34
+ 5. 预期:
35
+ - 两者都输出 `OpenCode mode: standard-opencode`
36
+ - 不要求会话必须具备 `planner-sisyphus` / `oracle`
37
+
38
+ ## 场景 B:启用 oMo(项目级 agents override)
39
+
40
+ 1. 复制示例配置:
41
+ ```bash
42
+ cp .opencode/oh-my-opencode.json.example .opencode/oh-my-opencode.json
43
+ ```
44
+ 2. 运行:
45
+ ```bash
46
+ aiws opencode status .
47
+ ```
48
+ 3. 预期:
49
+ - 输出 `mode: oMo-enabled`
50
+ - 输出 `recommended_agents_ready: true`
51
+ - `planner=planner-sisyphus`
52
+ - `reviewer=oracle`
53
+ 4. 在 OpenCode 中执行:
54
+ - `/using-aiws`
55
+ - `/ws-preflight`
56
+ - `/ws-plan`
57
+ - `/ws-review`
58
+ 5. 预期:
59
+ - `/using-aiws` 与 `/ws-preflight` 输出 `OpenCode mode: oMo-enabled`
60
+ - `/ws-plan` 明确优先借用 `planner-sisyphus`,必要时再用 `@explore` / `@librarian`
61
+ - `/ws-review` 明确优先借用 `@oracle`
62
+
63
+ ## 场景 C:配置损坏
64
+
65
+ 1. 人为写入非法 JSON:
66
+ ```bash
67
+ printf '{invalid json\n' > .opencode/oh-my-opencode.json
68
+ aiws opencode status .
69
+ ```
70
+ 2. 预期:
71
+ - 命令不崩溃
72
+ - 输出 `invalid JSON`
73
+ - 给出“修复配置后重试”的下一步提示
74
+
75
+ ## 场景 D:回退纪律
76
+
77
+ 1. 在 OpenCode 会话中临时禁用或移除某个推荐 agent
78
+ 2. 执行:
79
+ - `/ws-plan`
80
+ - `/ws-review`
81
+ 3. 预期:
82
+ - skill 文案明确进入 fallback,而不是宣称 `aiws` 自己接管调度
83
+ - 产物仍统一落盘到 `changes/<id>/analysis/`、`patches/`、`review/`、`evidence/`
84
+
85
+ ## 记录建议
86
+
87
+ - 将本次人工验收结论落盘到:
88
+ - `changes/<change-id>/review/opencode-runtime-check.md`
89
+ - 或 `.agentdocs/tmp/review/opencode-runtime-check.md`
90
+ - 若发现 skill 输出与本清单不一致,优先修 `packages/spec/templates/workspace/.opencode/skills/` 与 `.opencode/commands/`,不要直接引入新的 runtime controller
@@ -128,29 +128,44 @@ hash 规则(用于跨平台稳定性):
128
128
  - 默认覆盖:Claude Code / OpenCode / Codex / iFlow。
129
129
 
130
130
  约定路径(示例;最终以模板 manifest 为准):
131
- - Claude Code:`.claude/commands/p-aiws-*.md`(commands;私有原子入口)
132
- - OpenCode:`.opencode/command/p-aiws-*.md`(command;私有原子入口)
131
+ - Claude Code native:`.claude/skills/*/SKILL.md`(skills)
132
+ - Claude Code compatibility:`.claude/commands/p-aiws-*.md`(commands;私有原子入口)
133
+ - OpenCode native skills:`.opencode/skills/*/SKILL.md`
134
+ - OpenCode native commands:`.opencode/commands/p-aiws-*.md`
135
+ - OpenCode legacy compatibility:`.opencode/command/p-aiws-*.md`(command;migration window)
133
136
  - Codex:`.agents/skills/*/SKILL.md`(skills)
134
137
  - iFlow:`.iflow/commands/aiws-*.toml`(commands)
135
138
 
136
139
  补充(workflow 入口,同样由模板提供;最终以模板 manifest 为准):
137
- - Claude Code:`.claude/commands/ws-*.md`
138
- - OpenCode:`.opencode/command/ws-*.md`
140
+ - Claude Code native:`.claude/skills/ws-*/SKILL.md`
141
+ - Claude Code compatibility:`.claude/commands/ws-*.md`
142
+ - OpenCode native skills:`.opencode/skills/ws-*/SKILL.md`
143
+ - OpenCode native commands:`.opencode/commands/ws-*.md`
144
+ - OpenCode legacy compatibility:`.opencode/command/ws-*.md`
139
145
  - Codex:`.agents/skills/ws-*/SKILL.md`
140
146
  - iFlow:`.iflow/commands/ws-*.toml`
141
147
 
142
148
  注意(Codex):
143
149
  - Codex 的 repo skills 目录为 `.agents/skills/`(可随仓库共享;prompts 已 deprecated)。
144
- - 如需在任意仓库也能显式使用 AIWS skills:可用 `aiws codex install-skills` 从模板 `.agents/skills/*/SKILL.md` 安装到 `~/.codex/skills/` 或 `$CODEX_HOME/skills`。
150
+ - 如需在任意仓库也能显式使用 AIWS skills:`aiws codex install-skills` 从模板 `.agents/skills/*/SKILL.md` 安装到 `~/.agents/skills/`。
151
+ - `CODEX_HOME` 或 `--dir` 可作为 compatibility/test override;但不要继续把 `~/.codex/skills/` 当成目录真值。
145
152
  - 如仍需使用全局 prompts(遗留机制):可用 `aiws codex install-prompts` 从模板 `.codex/prompts/*.md` 安装到 `~/.codex/prompts/` 或 `$CODEX_HOME/prompts`。
146
153
 
154
+ 注意(Claude Code / OpenCode):
155
+ - 当前 workspace 模板已经同时投影:
156
+ - Claude Code native skills:`.claude/skills/`
157
+ - Claude Code command-style compatibility:`.claude/commands/`
158
+ - OpenCode native skills / commands:`.opencode/skills/` / `.opencode/commands/`
159
+ - OpenCode legacy compatibility:`.opencode/command/`
160
+ - `.claude/commands/` 与 `.opencode/command/` 继续保留为兼容层,但不再作为唯一长期真值。
161
+
147
162
  能力边界(必须在文档中不夸大):
148
163
  - aiws **不保证** 工具会自动加载/自动注册这些文件(是否自动发现、是否需要重启/重新打开会话,由工具实现决定)。
149
164
  - aiws 的最低承诺是:这些文件提供一致的“工作流入口”(例如引导执行 `npx @aipper/aiws init|update|validate|rollback`),从而把用户带回同一套真值文件与门禁。
150
165
 
151
166
  每个文件的托管方式(推荐):
152
- - 对于 commands 类文件(如 `.claude/commands/*.md`、`.opencode/command/*.md`):每个文件包含**一个且仅一个**托管块(block id 形如 `claude:aiws-init`),aiws update 只更新托管块,块外内容保留给用户追加说明。
153
- - 对于 Codex skills(`.agents/skills/*/SKILL.md`):由于文件顶部 YAML front matter 需要保持一致性,默认采用 `replace_file` 全量托管;如需自定义请新增独立 skill 目录。
167
+ - 对于 commands 类文件(如 `.claude/commands/*.md`、`.opencode/commands/*.md`、`.opencode/command/*.md`):每个文件包含**一个且仅一个**托管块(block id 形如 `claude:aiws-init`),aiws update 只更新托管块,块外内容保留给用户追加说明。
168
+ - 对于 skills 类文件(`.agents/skills/*/SKILL.md`、`.claude/skills/*/SKILL.md`、`.opencode/skills/*/SKILL.md`):由于文件顶部 YAML front matter 需要保持一致性,默认采用 `replace_file` 全量托管;如需自定义请新增独立 skill 目录。
154
169
 
155
170
  最小矩阵(建议写清以下字段,便于未来实现与验收):
156
171
  - `path_pattern`:文件路径模式
@@ -161,14 +176,14 @@ hash 规则(用于跨平台稳定性):
161
176
 
162
177
  建议的默认取值(与 `workspace` 模板一致):
163
178
  - Claude Code
164
- - `path_pattern`:`.claude/commands/p-aiws-*.md`
165
- - `purpose`:提供“在 Claude 内可见的命令入口/说明”,引导用户运行 `npx @aipper/aiws ...`
179
+ - `path_pattern`:`.claude/skills/*/SKILL.md`
180
+ - `purpose`:提供 native workflow skills;兼容命令入口仍保留在 `.claude/commands/*.md`
166
181
  - `autodiscovery`:不作为契约要求(由工具决定;aiws 不做保证)
167
182
  - `reload_needed`:不作为契约要求
168
183
  - `fallback`:在 shell 直接运行 `npx @aipper/aiws init|update|validate|rollback`
169
184
  - OpenCode
170
- - `path_pattern`:`.opencode/command/p-aiws-*.md`
171
- - `purpose`:提供命令入口/说明(同上)
185
+ - `path_pattern`:`.opencode/skills/*/SKILL.md` + `.opencode/commands/*.md`
186
+ - `purpose`:提供 native workflow skills 与 native commands;legacy `.opencode/command/*.md` 继续作为迁移兼容层
172
187
  - `autodiscovery`:不作为契约要求
173
188
  - `reload_needed`:不作为契约要求
174
189
  - `fallback`:同上
@@ -0,0 +1,92 @@
1
+ # superpowers 与协同模式吸收路线
2
+
3
+ ## 目标
4
+
5
+ 把 `superpowers` 的优点和协同工作的成熟模式,吸收到 `aiws` 的治理契约里,让 `ws-*`、change 工件、review / validate / evidence 形成一套一致 workflow,而不是零散功能。
6
+
7
+ ## 优先吸收的能力
8
+
9
+ ### 1. workflow-first 启动纪律
10
+
11
+ - 会话开始先看真值文件,再做实现。
12
+ - 先判断任务属于哪个 workflow,再进入编码。
13
+ - `ws-preflight` 应继续承担“先对齐规则,再开始”的入口职责。
14
+
15
+ ### 2. 阶段门禁
16
+
17
+ - 把工作显式拆成 `preflight -> plan -> dev -> review -> commit -> finish / handoff`。
18
+ - 每个阶段都要有输入、输出、失败条件和证据要求。
19
+ - 这类阶段定义应优先写进 spec,而不是散落在某个工具的 prompt 文案里。
20
+
21
+ ### 3. skill 作为治理载体
22
+
23
+ - skill 不只是提示词,而是 workflow contract 的入口。
24
+ - skill 文案应指向 `AI_PROJECT.md`、`REQUIREMENTS.md`、`AI_WORKSPACE.md` 和 `changes/` 工件。
25
+ - skill 的职责是把人和 agent 拉回真值,而不是绕过真值。
26
+
27
+ ### 4. 角色分工与委托回传
28
+
29
+ - 允许不同 agent / 角色分别承担规划、实现、审查、设计等职责。
30
+ - 委托结果必须回传为分析、patch 草案、review 结论或 handoff 说明。
31
+ - 这部分可与 `TOOLING-001V` 的 analysis / patches / review 目录约定汇合。
32
+
33
+ ### 5. 双层审查
34
+
35
+ - 第一层审查看 workflow / spec / gate 是否满足。
36
+ - 第二层审查看实现质量、行为回归和验证覆盖。
37
+ - 这样可以避免“代码写对了,但流程和证据缺失”的伪完成。
38
+
39
+ ### 6. workflow 级验证
40
+
41
+ - 不只校验代码结果,也校验流程入口、工件和证据是否齐全。
42
+ - 长期应把 `ws-*` 入口的存在性、文案契约、manifest 映射、证据文件约定纳入回归验证。
43
+
44
+ ## 明确不直接吸收的部分
45
+
46
+ - 不直接复制 `superpowers` 的整套 hooks、目录结构和大段文案。
47
+ - 不绑定 Claude-first 或任何单一工具假设。
48
+ - 不把 `aiws` 做成协同 runtime、面板系统或 daemon。
49
+ - 不把会话技巧直接当成仓库真值;仓库真值仍必须落在 `packages/spec/`。
50
+
51
+ ## 在 aiws 中的落点
52
+
53
+ | 外部经验 | aiws 落点 |
54
+ | --- | --- |
55
+ | workflow-first | `ws-preflight`、`AI_PROJECT.md`、`REQUIREMENTS.md`、`AI_WORKSPACE.md` |
56
+ | planning discipline | `ws-plan`、`plan/` 工件 |
57
+ | execution discipline | `ws-dev`、`changes/<id>/` 工件 |
58
+ | review loop | `ws-review`、review 证据、`aiws validate` |
59
+ | commit gate | `ws-commit`、hooks、validate stamp |
60
+ | handoff / finish | `ws-finish`、`ws-handoff`、archive / handoff 工件 |
61
+ | delegation / collaboration | `TOOLING-001V` 相关 analysis / patches / multi-review 约定 |
62
+
63
+ ## 分阶段路线
64
+
65
+ ### Phase 1:定位与边界
66
+
67
+ - 明确 `aiws` 是治理内核,而不是仅分发器。
68
+ - 在 spec 文档中写清层次、边界、吸收与非吸收范围。
69
+
70
+ ### Phase 2:强化 ws-* 契约
71
+
72
+ - 继续把 `ws-preflight`、`ws-plan`、`ws-dev`、`ws-review`、`ws-commit`、`ws-finish` 的输入输出和证据要求写清。
73
+ - 减少“靠作者记忆执行流程”的隐性约定。
74
+
75
+ ### Phase 3:协同与双审查
76
+
77
+ - 把委托分析、patch 草案、多审查结果与 handoff 工件整合进 change 生命周期。
78
+ - 让协同能力成为标准 workflow 的一部分,而不是临时技巧。
79
+
80
+ ### Phase 4:workflow 集成回归
81
+
82
+ - 为入口文件、manifest 映射、证据目录和关键 workflow 建立稳定回归校验。
83
+ - 把“治理是否仍成立”作为与代码正确性同等级的回归目标。
84
+
85
+ ## 判断标准
86
+
87
+ 如果未来某项能力符合以下条件,就值得吸收进 `aiws`:
88
+
89
+ - 它能被定义成稳定的 workflow contract。
90
+ - 它能回指 `packages/spec/` 真值,而不是制造新的平行规则。
91
+ - 它能留下可审计证据,而不是只依赖会话上下文。
92
+ - 它提升的是治理能力,而不仅仅是某个 agent 的临时使用体验。
@@ -0,0 +1,274 @@
1
+ {
2
+ "version": 1,
3
+ "title": "workflow-delegation-contracts",
4
+ "description": "Machine-readable delegation contract for using native multi-agent capabilities without turning aiws into a runtime orchestrator.",
5
+ "purpose": [
6
+ "这份文档把 `aiws` 对原生多 agent 的吸收边界收口为机器可读真值:`aiws` 定义合同、角色、写边界、工件路径、审查收敛与降级策略,各工具自己负责原生执行。",
7
+ "重点不是统一调度不同工具的 agent API,而是约束任何 native delegation 都必须回到同一套 workflow/artifact/governance contract。"
8
+ ],
9
+ "truthFiles": [
10
+ "AI_PROJECT.md",
11
+ "REQUIREMENTS.md",
12
+ "AI_WORKSPACE.md"
13
+ ],
14
+ "delegationFlow": [
15
+ {
16
+ "step": "bind_task",
17
+ "action": "先把任务绑定到 `Req_ID` / change / Verify 入口,再决定是否允许委托。",
18
+ "why": "没有绑定的委托只会扩大漂移;delegation 不能绕过真值入口。"
19
+ },
20
+ {
21
+ "step": "select_role",
22
+ "action": "根据任务性质选择 `planner / explorer / worker / reviewer / integrator` 角色,而不是把所有子任务都视为同一种 agent。",
23
+ "why": "不同角色的读写权限、输出契约与收敛方式不同。"
24
+ },
25
+ {
26
+ "step": "limit_scope",
27
+ "action": "为每个委托声明 `readScope` / `writeScope` / `artifactTargets`,超出范围必须回退给主 agent。",
28
+ "why": "native 多 agent 的最大风险是越界写盘;scope 必须先于执行。"
29
+ },
30
+ {
31
+ "step": "converge_outputs",
32
+ "action": "把委托结果统一收敛到 `analysis/`、`patches/`、`review/`、`evidence/` 或明确允许的代码写入范围。",
33
+ "why": "即使执行方式不同,交付证据与审计路径必须一致。"
34
+ },
35
+ {
36
+ "step": "fallback_or_integrate",
37
+ "action": "原生能力不可用、权限不满足或结果不可靠时,回退到单 agent / 手工委托;由主 agent 负责最终整合。",
38
+ "why": "`aiws` 的职责是治理和降级,不是保证每个工具都支持同一套运行时。"
39
+ }
40
+ ],
41
+ "roleTypes": [
42
+ {
43
+ "id": "planner",
44
+ "summary": "拆分需求、明确非目标、绑定验证入口,产出计划与委托边界。",
45
+ "readScope": [
46
+ "AI_PROJECT.md",
47
+ "REQUIREMENTS.md",
48
+ "AI_WORKSPACE.md",
49
+ "plan/",
50
+ "changes/<id>/"
51
+ ],
52
+ "writeScope": [
53
+ "plan/",
54
+ "changes/<id>/analysis/"
55
+ ],
56
+ "artifactTargets": [
57
+ "plan/<timestamp>-<slug>.md",
58
+ "changes/<id>/analysis/*.md"
59
+ ],
60
+ "handoffRequirements": [
61
+ "写明目标、非目标、范围、验证方式",
62
+ "写明每个后续委托角色的 scope 边界"
63
+ ]
64
+ },
65
+ {
66
+ "id": "explorer",
67
+ "summary": "只读探索代码库、定位影响面、收集实现信息,不直接改业务文件。",
68
+ "readScope": [
69
+ "repo source files",
70
+ "packages/spec/",
71
+ "changes/<id>/"
72
+ ],
73
+ "writeScope": [
74
+ "changes/<id>/analysis/"
75
+ ],
76
+ "artifactTargets": [
77
+ "changes/<id>/analysis/*.md"
78
+ ],
79
+ "handoffRequirements": [
80
+ "结论必须附来源文件或路径",
81
+ "对不确定项要显式标注风险或缺口"
82
+ ]
83
+ },
84
+ {
85
+ "id": "worker",
86
+ "summary": "在明确授权的文件范围内实现局部改动,必要时补最小验证。",
87
+ "readScope": [
88
+ "assigned modules",
89
+ "AI_PROJECT.md",
90
+ "REQUIREMENTS.md",
91
+ "AI_WORKSPACE.md",
92
+ "changes/<id>/analysis/"
93
+ ],
94
+ "writeScope": [
95
+ "assigned source files",
96
+ "changes/<id>/patches/",
97
+ "changes/<id>/evidence/"
98
+ ],
99
+ "artifactTargets": [
100
+ "changes/<id>/patches/*.patch",
101
+ "changes/<id>/evidence/*.md",
102
+ "assigned source files"
103
+ ],
104
+ "handoffRequirements": [
105
+ "写清改动文件、验证命令、未完成项",
106
+ "不得越过显式授权的写入范围"
107
+ ]
108
+ },
109
+ {
110
+ "id": "reviewer",
111
+ "summary": "从需求、实现质量、回归风险或交付 gate 角度做独立审查。",
112
+ "readScope": [
113
+ "repo source files",
114
+ "changes/<id>/analysis/",
115
+ "changes/<id>/patches/",
116
+ "changes/<id>/evidence/"
117
+ ],
118
+ "writeScope": [
119
+ "changes/<id>/review/",
120
+ "changes/<id>/evidence/"
121
+ ],
122
+ "artifactTargets": [
123
+ "changes/<id>/review/*.md",
124
+ "changes/<id>/evidence/verify-before-complete.md"
125
+ ],
126
+ "handoffRequirements": [
127
+ "先列 findings,再给假设或残余风险",
128
+ "明确这是 spec review、quality review 还是交付前验证"
129
+ ]
130
+ },
131
+ {
132
+ "id": "integrator",
133
+ "summary": "主 agent 角色,负责汇总委托输出、决定是否应用改动、补齐最终验证与交接。",
134
+ "readScope": [
135
+ "repo source files",
136
+ "changes/<id>/analysis/",
137
+ "changes/<id>/patches/",
138
+ "changes/<id>/review/",
139
+ "changes/<id>/evidence/"
140
+ ],
141
+ "writeScope": [
142
+ "authorized source files",
143
+ "changes/<id>/evidence/",
144
+ "changes/<id>/review/",
145
+ "changes/<id>/handoff.md"
146
+ ],
147
+ "artifactTargets": [
148
+ "authorized source files",
149
+ "changes/<id>/evidence/*.md",
150
+ "changes/<id>/review/*.md",
151
+ "changes/<id>/handoff.md"
152
+ ],
153
+ "handoffRequirements": [
154
+ "收敛 delegated outputs,给出最终结论与残余风险",
155
+ "确认验证、review gate 与 artifact 状态"
156
+ ]
157
+ }
158
+ ],
159
+ "artifactTargets": [
160
+ {
161
+ "kind": "analysis",
162
+ "path": "changes/<id>/analysis/",
163
+ "purpose": "只读分析、影响面、方案草案、风险说明。",
164
+ "allowedRoles": ["planner", "explorer", "integrator"]
165
+ },
166
+ {
167
+ "kind": "patches",
168
+ "path": "changes/<id>/patches/",
169
+ "purpose": "委托 patch 草案或实现建议,不代表已应用。",
170
+ "allowedRoles": ["worker", "integrator"]
171
+ },
172
+ {
173
+ "kind": "review",
174
+ "path": "changes/<id>/review/",
175
+ "purpose": "多 reviewer 的 findings、双审查与最终审计结论。",
176
+ "allowedRoles": ["reviewer", "integrator"]
177
+ },
178
+ {
179
+ "kind": "evidence",
180
+ "path": "changes/<id>/evidence/",
181
+ "purpose": "验证命令、运行结果摘要、交付前 gate 证据。",
182
+ "allowedRoles": ["worker", "reviewer", "integrator"]
183
+ },
184
+ {
185
+ "kind": "source_files",
186
+ "path": "explicitly assigned source paths only",
187
+ "purpose": "只有在主 agent 显式授权时,worker/integrator 才能直接改业务文件。",
188
+ "allowedRoles": ["worker", "integrator"]
189
+ }
190
+ ],
191
+ "reviewConvergence": {
192
+ "requiredReviews": [
193
+ "spec_review",
194
+ "quality_review"
195
+ ],
196
+ "optionalReviews": [
197
+ "verify_before_complete"
198
+ ],
199
+ "rules": [
200
+ "多 agent review 不是投票系统;由 integrator 统一收敛 findings、假设与 blocker。",
201
+ "若委托 worker 直接改了代码,必须至少再有一个独立 reviewer 做审查。",
202
+ "交付前仍需满足现有 `validate_stamp`、`verify_before_complete` 与 finish gate。"
203
+ ],
204
+ "evidenceTargets": [
205
+ "changes/<id>/review/spec-review.md",
206
+ "changes/<id>/review/quality-review.md",
207
+ "changes/<id>/evidence/verify-before-complete.md"
208
+ ]
209
+ },
210
+ "fallbackMode": {
211
+ "default": "single_agent_with_artifacts",
212
+ "triggers": [
213
+ "当前工具没有稳定的 native multi-agent 能力",
214
+ "当前工具支持原生 agent,但无法声明 write scope / artifact 边界",
215
+ "native agent 结果无法审计、无法落盘或不能绑定 change/verify",
216
+ "任务规模太小,不值得引入额外委托复杂度"
217
+ ],
218
+ "requiredBehavior": [
219
+ "回退后仍使用同一套 `analysis/patches/review/evidence` 工件约定",
220
+ "主 agent 明确说明是原生 delegation 还是降级执行",
221
+ "不能因为降级而跳过 plan/review/finish gate"
222
+ ]
223
+ },
224
+ "toolCapabilityMatrix": [
225
+ {
226
+ "tool": "codex",
227
+ "nativeSupport": "yes",
228
+ "status": "phase1_target",
229
+ "entrypoint": "native multi-agent / sub-agent capability",
230
+ "writeIsolation": "可按角色和文件范围显式约束;优先用于 explorer/worker/reviewer 分工。",
231
+ "fallbackRoute": "若原生 delegation 不可用,则回退为单 agent + 协同工件模式。",
232
+ "notes": [
233
+ "作为第一优先适配对象。",
234
+ "即使支持原生多 agent,也必须遵守 artifact path 与 review convergence 约定。"
235
+ ]
236
+ },
237
+ {
238
+ "tool": "claude",
239
+ "nativeSupport": "partial",
240
+ "status": "capability_matrix_only",
241
+ "entrypoint": "后续根据稳定的 native delegation 能力补齐;当前只定义 contract 与 fallback。",
242
+ "writeIsolation": "若无法稳定声明 write scope,则不承诺 worker 级直接写盘委托。",
243
+ "fallbackRoute": "优先回退为单 agent + review/artifact 模式,而不是临时造桥接 runtime。",
244
+ "notes": [
245
+ "本阶段不把 `aiws` 做成 `claude_code_bridge` 风格系统。",
246
+ "先定义边界,再视工具能力补实现。"
247
+ ]
248
+ },
249
+ {
250
+ "tool": "opencode",
251
+ "nativeSupport": "partial",
252
+ "status": "capability_matrix_only",
253
+ "entrypoint": "后续根据稳定的 native delegation 能力补齐;当前只定义 contract 与 fallback。",
254
+ "writeIsolation": "若不能稳定约束 read/write scope,则仅允许 analysis/review 型委托。",
255
+ "fallbackRoute": "回退为单 agent + 协同工件,不新增 OpenCode 专属 runtime controller。",
256
+ "notes": [
257
+ "当前阶段先保证 workflow contract 与工件路径一致。",
258
+ "不为了工具差异再造一层统一调度面。"
259
+ ]
260
+ }
261
+ ],
262
+ "universalRules": [
263
+ "delegation 必须先绑定 `Req_ID` / change / Verify 入口,不能绕过真值文件。",
264
+ "主 agent 必须显式说明每个 sub-task 的角色、scope、产物目标与收敛方式。",
265
+ "除显式授权的 worker/integrator 外,delegated agent 默认不直接写业务文件。",
266
+ "任何 native multi-agent 结果都必须能回收到 `analysis/patches/review/evidence` 约定路径。",
267
+ "native delegation 是可选执行策略,不是 workflow 的必需前提。"
268
+ ],
269
+ "notes": [
270
+ "`aiws` 的价值在于治理内核和合同层,不在于成为统一 runtime。",
271
+ "这一版先把 contract 写清,再决定哪些入口需要在模板里显式投影。",
272
+ "后续若工具原生能力变化,只需要更新 capability matrix 与适配策略,不需要重写 workflow 真值。"
273
+ ]
274
+ }