@aipper/aiws-spec 0.0.33 → 0.0.36

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 (178) hide show
  1. package/docs/aiws-bootstrap-routing-design.md +5 -50
  2. package/docs/aiws-governance-positioning.md +1 -1
  3. package/docs/cli-interface.md +13 -73
  4. package/docs/collaboration-artifacts.md +2 -2
  5. package/docs/opencode-autonomous-swarm.md +0 -2
  6. package/docs/opencode-omo-adapter.md +0 -2
  7. package/docs/opencode-omo-validation-checklist.md +0 -1
  8. package/docs/spec-contract.md +10 -36
  9. package/docs/workflow-router-rules.json +2 -2
  10. package/docs/workflow-router-rules.md +2 -2
  11. package/docs/ws-goal-contract.md +153 -33
  12. package/package.json +1 -1
  13. package/templates/workspace/.aiws/continuation/CONTINUATION_PROTOCOL.md +101 -0
  14. package/templates/workspace/.aiws/manifest.json +2 -10
  15. package/templates/workspace/.opencode/command/ws-finish.md +4 -0
  16. package/templates/workspace/.opencode/command/ws-goal.md +132 -20
  17. package/templates/workspace/.opencode/commands/ws-finish.md +4 -0
  18. package/templates/workspace/.opencode/skills/ws-goal/SKILL.md +32 -0
  19. package/templates/workspace/AGENTS.md +1 -3
  20. package/templates/workspace/AI_PROJECT.md +6 -1
  21. package/templates/workspace/AI_WORKSPACE.md +1 -1
  22. package/templates/workspace/manifest.json +179 -446
  23. package/templates/workspace/.agents/skills/p-aiws-change-archive/SKILL.md +0 -24
  24. package/templates/workspace/.agents/skills/p-aiws-change-finish/SKILL.md +0 -24
  25. package/templates/workspace/.agents/skills/p-aiws-change-list/SKILL.md +0 -18
  26. package/templates/workspace/.agents/skills/p-aiws-change-new/SKILL.md +0 -26
  27. package/templates/workspace/.agents/skills/p-aiws-change-next/SKILL.md +0 -19
  28. package/templates/workspace/.agents/skills/p-aiws-change-start/SKILL.md +0 -33
  29. package/templates/workspace/.agents/skills/p-aiws-change-status/SKILL.md +0 -19
  30. package/templates/workspace/.agents/skills/p-aiws-change-sync/SKILL.md +0 -19
  31. package/templates/workspace/.agents/skills/p-aiws-change-templates-init/SKILL.md +0 -18
  32. package/templates/workspace/.agents/skills/p-aiws-change-templates-which/SKILL.md +0 -18
  33. package/templates/workspace/.agents/skills/p-aiws-change-validate/SKILL.md +0 -23
  34. package/templates/workspace/.agents/skills/p-aiws-hooks-install/SKILL.md +0 -30
  35. package/templates/workspace/.agents/skills/p-aiws-hooks-status/SKILL.md +0 -18
  36. package/templates/workspace/.agents/skills/p-aiws-init/SKILL.md +0 -27
  37. package/templates/workspace/.agents/skills/p-aiws-rollback/SKILL.md +0 -18
  38. package/templates/workspace/.agents/skills/p-aiws-update/SKILL.md +0 -26
  39. package/templates/workspace/.agents/skills/p-aiws-validate/SKILL.md +0 -22
  40. package/templates/workspace/.agents/skills/p-tasks-plan/SKILL.md +0 -37
  41. package/templates/workspace/.agents/skills/using-aiws/SKILL.md +0 -112
  42. package/templates/workspace/.agents/skills/ws-analyze/SKILL.md +0 -26
  43. package/templates/workspace/.agents/skills/ws-bugfix/SKILL.md +0 -111
  44. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +0 -18
  45. package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +0 -75
  46. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +0 -18
  47. package/templates/workspace/.agents/skills/ws-dev/SKILL.md +0 -109
  48. package/templates/workspace/.agents/skills/ws-dev-lite/SKILL.md +0 -58
  49. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +0 -22
  50. package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +0 -126
  51. package/templates/workspace/.agents/skills/ws-goal/SKILL.md +0 -89
  52. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +0 -18
  53. package/templates/workspace/.agents/skills/ws-intake/SKILL.md +0 -106
  54. package/templates/workspace/.agents/skills/ws-migrate/SKILL.md +0 -18
  55. package/templates/workspace/.agents/skills/ws-plan/SKILL.md +0 -144
  56. package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +0 -18
  57. package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +0 -56
  58. package/templates/workspace/.agents/skills/ws-pull/SKILL.md +0 -18
  59. package/templates/workspace/.agents/skills/ws-push/SKILL.md +0 -18
  60. package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +0 -56
  61. package/templates/workspace/.agents/skills/ws-req-change/SKILL.md +0 -41
  62. package/templates/workspace/.agents/skills/ws-req-contract-sync/SKILL.md +0 -17
  63. package/templates/workspace/.agents/skills/ws-req-contract-validate/SKILL.md +0 -12
  64. package/templates/workspace/.agents/skills/ws-req-flow-sync/SKILL.md +0 -28
  65. package/templates/workspace/.agents/skills/ws-req-review/SKILL.md +0 -32
  66. package/templates/workspace/.agents/skills/ws-research/SKILL.md +0 -56
  67. package/templates/workspace/.agents/skills/ws-review/SKILL.md +0 -55
  68. package/templates/workspace/.agents/skills/ws-rule/SKILL.md +0 -23
  69. package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +0 -57
  70. package/templates/workspace/.agents/skills/ws-submodule-setup/SKILL.md +0 -18
  71. package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +0 -18
  72. package/templates/workspace/.claude/commands/p-aiws-change-archive.md +0 -24
  73. package/templates/workspace/.claude/commands/p-aiws-change-finish.md +0 -24
  74. package/templates/workspace/.claude/commands/p-aiws-change-list.md +0 -23
  75. package/templates/workspace/.claude/commands/p-aiws-change-new.md +0 -24
  76. package/templates/workspace/.claude/commands/p-aiws-change-next.md +0 -24
  77. package/templates/workspace/.claude/commands/p-aiws-change-start.md +0 -24
  78. package/templates/workspace/.claude/commands/p-aiws-change-status.md +0 -24
  79. package/templates/workspace/.claude/commands/p-aiws-change-sync.md +0 -24
  80. package/templates/workspace/.claude/commands/p-aiws-change-templates-init.md +0 -23
  81. package/templates/workspace/.claude/commands/p-aiws-change-templates-which.md +0 -23
  82. package/templates/workspace/.claude/commands/p-aiws-change-validate.md +0 -24
  83. package/templates/workspace/.claude/commands/p-aiws-hooks-install.md +0 -23
  84. package/templates/workspace/.claude/commands/p-aiws-hooks-status.md +0 -23
  85. package/templates/workspace/.claude/commands/p-aiws-init.md +0 -20
  86. package/templates/workspace/.claude/commands/p-aiws-rollback.md +0 -13
  87. package/templates/workspace/.claude/commands/p-aiws-update.md +0 -19
  88. package/templates/workspace/.claude/commands/p-aiws-validate.md +0 -14
  89. package/templates/workspace/.claude/commands/using-aiws.md +0 -25
  90. package/templates/workspace/.claude/commands/ws-analyze.md +0 -27
  91. package/templates/workspace/.claude/commands/ws-bugfix.md +0 -32
  92. package/templates/workspace/.claude/commands/ws-commit.md +0 -67
  93. package/templates/workspace/.claude/commands/ws-deliver.md +0 -55
  94. package/templates/workspace/.claude/commands/ws-dev-lite.md +0 -31
  95. package/templates/workspace/.claude/commands/ws-dev.md +0 -33
  96. package/templates/workspace/.claude/commands/ws-finish.md +0 -72
  97. package/templates/workspace/.claude/commands/ws-goal.md +0 -34
  98. package/templates/workspace/.claude/commands/ws-handoff.md +0 -23
  99. package/templates/workspace/.claude/commands/ws-intake.md +0 -19
  100. package/templates/workspace/.claude/commands/ws-migrate.md +0 -22
  101. package/templates/workspace/.claude/commands/ws-plan-verify.md +0 -25
  102. package/templates/workspace/.claude/commands/ws-plan.md +0 -21
  103. package/templates/workspace/.claude/commands/ws-preflight.md +0 -27
  104. package/templates/workspace/.claude/commands/ws-pull.md +0 -84
  105. package/templates/workspace/.claude/commands/ws-push.md +0 -90
  106. package/templates/workspace/.claude/commands/ws-quality-review.md +0 -24
  107. package/templates/workspace/.claude/commands/ws-req-change.md +0 -42
  108. package/templates/workspace/.claude/commands/ws-req-contract-sync.md +0 -18
  109. package/templates/workspace/.claude/commands/ws-req-contract-validate.md +0 -13
  110. package/templates/workspace/.claude/commands/ws-req-flow-sync.md +0 -20
  111. package/templates/workspace/.claude/commands/ws-req-review.md +0 -33
  112. package/templates/workspace/.claude/commands/ws-review.md +0 -31
  113. package/templates/workspace/.claude/commands/ws-rule.md +0 -24
  114. package/templates/workspace/.claude/commands/ws-spec-review.md +0 -24
  115. package/templates/workspace/.claude/commands/ws-submodule-setup.md +0 -54
  116. package/templates/workspace/.claude/commands/ws-verify-before-complete.md +0 -24
  117. package/templates/workspace/.claude/settings.json.example +0 -26
  118. package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +0 -24
  119. package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +0 -24
  120. package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +0 -18
  121. package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +0 -26
  122. package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +0 -19
  123. package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +0 -33
  124. package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +0 -19
  125. package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +0 -19
  126. package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +0 -18
  127. package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +0 -18
  128. package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +0 -23
  129. package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +0 -30
  130. package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +0 -18
  131. package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +0 -27
  132. package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +0 -18
  133. package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +0 -26
  134. package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +0 -22
  135. package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +0 -37
  136. package/templates/workspace/.claude/skills/using-aiws/SKILL.md +0 -87
  137. package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +0 -26
  138. package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +0 -111
  139. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +0 -18
  140. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +0 -18
  141. package/templates/workspace/.claude/skills/ws-dev/SKILL.md +0 -79
  142. package/templates/workspace/.claude/skills/ws-dev-lite/SKILL.md +0 -58
  143. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +0 -22
  144. package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +0 -126
  145. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +0 -18
  146. package/templates/workspace/.claude/skills/ws-intake/SKILL.md +0 -53
  147. package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +0 -18
  148. package/templates/workspace/.claude/skills/ws-plan/SKILL.md +0 -138
  149. package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +0 -18
  150. package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +0 -55
  151. package/templates/workspace/.claude/skills/ws-pull/SKILL.md +0 -18
  152. package/templates/workspace/.claude/skills/ws-push/SKILL.md +0 -18
  153. package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +0 -56
  154. package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +0 -41
  155. package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +0 -17
  156. package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +0 -12
  157. package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +0 -28
  158. package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +0 -32
  159. package/templates/workspace/.claude/skills/ws-review/SKILL.md +0 -55
  160. package/templates/workspace/.claude/skills/ws-rule/SKILL.md +0 -23
  161. package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +0 -57
  162. package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +0 -18
  163. package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +0 -18
  164. package/templates/workspace/.codex/prompts/aiws-init.md +0 -23
  165. package/templates/workspace/.codex/prompts/aiws-rollback.md +0 -16
  166. package/templates/workspace/.codex/prompts/aiws-update.md +0 -22
  167. package/templates/workspace/.codex/prompts/aiws-validate.md +0 -17
  168. package/templates/workspace/.codex/prompts/ws-analyze.md +0 -32
  169. package/templates/workspace/.codex/prompts/ws-dev.md +0 -36
  170. package/templates/workspace/.codex/prompts/ws-migrate.md +0 -27
  171. package/templates/workspace/.codex/prompts/ws-preflight.md +0 -32
  172. package/templates/workspace/.codex/prompts/ws-req-change.md +0 -39
  173. package/templates/workspace/.codex/prompts/ws-req-contract-sync.md +0 -23
  174. package/templates/workspace/.codex/prompts/ws-req-contract-validate.md +0 -18
  175. package/templates/workspace/.codex/prompts/ws-req-flow-sync.md +0 -25
  176. package/templates/workspace/.codex/prompts/ws-req-review.md +0 -38
  177. package/templates/workspace/.codex/prompts/ws-review.md +0 -32
  178. package/templates/workspace/.codex/prompts/ws-rule.md +0 -29
@@ -2,75 +2,33 @@
2
2
 
3
3
  ## 目标
4
4
 
5
- 把 `aiws` 从“提供一组可显式调用的 `ws-*` 入口”推进到“默认先接管 workflow,再决定进入哪个入口”的治理系统,并先把 `Codex / Claude Code / OpenCode` 的目录真值固定下来,避免后续 bootstrap / router / 安装器继续建立在错误路径假设上。
5
+ 把 `aiws` 从“提供一组可显式调用的 `ws-*` 入口”推进到“默认先接管 workflow,再决定进入哪个入口”的治理系统,并先把 的目录真值固定下来,避免后续 bootstrap / router / 安装器继续建立在错误路径假设上。
6
6
 
7
7
  ## 本次查档结论(2026-03-30)
8
8
 
9
- ### Claude Code
10
-
11
- - 官方文档公开说明的项目级 / 全局级入口是:
12
- - skills:`.claude/skills/<skill-name>/SKILL.md` / `~/.claude/skills/<skill-name>/SKILL.md`
13
- - 自定义 slash commands(legacy compatible):`.claude/commands/` / `~/.claude/commands/`
14
- - subagents:`.claude/agents/` / `~/.claude/agents/`
15
- - 官方文档同时说明:`.claude/commands/*.md` 仍然可用,但若 skill 与 command 同名,skill 优先。
16
-
17
9
  ### OpenCode
18
10
 
19
11
  - 官方文档公开说明的 native 目录是:
20
12
  - skills:`.opencode/skills/` / `~/.config/opencode/skills/`
21
13
  - commands:`.opencode/commands/` / `~/.config/opencode/commands/`
22
- - OpenCode 官方文档同时说明会检测其它 agent 生态目录,包括:
23
- - `.agents/skills/`
24
- - `.claude/commands/`
25
- - `.claude/skills/`
26
-
27
- ### Codex
28
-
29
- - 本次检索到的 OpenAI 官方公开页面没有明确给出 “Codex skills 全局目录”的公开路径说明。
30
- - 因此,`Codex` 的目录结论需要明确标记为**推断**:
31
- - repo-local:`.agents/skills/`
32
- - global:`~/.agents/skills/`
33
- - 这个推断依据是:
34
- - 当前 Codex 运行环境与生态使用习惯都以 `.agents/skills/` 为项目内 skills 目录
35
- - OpenCode 官方文档也把 `.agents/skills/` 视为兼容可发现目录
36
- - 在找到 OpenAI 官方公开页面直接写明路径前,不再把 `~/.codex/skills/` 当成长期目录真值。
37
14
 
38
15
  ## 固定下来的目录决策
39
16
 
40
17
  ### 1. repo 内 workflow skill 的目标投影
41
18
 
42
- - `Codex` / agent-compatible:
43
- - `.agents/skills/<skill-name>/SKILL.md`
44
- - `Claude Code` native:
45
- - `.claude/skills/<skill-name>/SKILL.md`
46
19
  - `OpenCode` native:
47
20
  - `.opencode/skills/<skill-name>/SKILL.md`
48
21
  - 设计原则:
49
22
  - workflow instruction 的单一真值仍然留在 `packages/spec/`
50
- - 目标仓库可以投影到多个 tool-native 目录
51
- - 不能再把 `.agents/skills/` 单独当成覆盖所有工具的唯一目标目录
52
-
53
- ### 2. Codex 全局 skills 安装目标
54
-
55
- - 设计真值改为:`~/.agents/skills/<skill-name>/SKILL.md`
56
- - 不再把 `~/.codex/skills/` 作为长期默认目录
57
- - 当前实现若仍写入 `~/.codex/skills/`,视为第一版实现遗留;后续通过单独实现条目迁移
23
+ - 目标仓库投影到 OpenCode native 目录
58
24
 
59
- ### 3. Claude Code 入口策略
60
-
61
- - native workflow skill 目录:
62
- - `.claude/skills/<skill-name>/SKILL.md`
63
- - 如后续确有必要引入 agent 角色:
64
- - `.claude/agents/*.md`
65
- - `.claude/commands/*.md` 继续保留为 legacy compatibility / command-style entrypoint,但不再作为唯一长期真值
66
-
67
- ### 4. OpenCode 入口策略
25
+ ### 2. OpenCode 入口策略
68
26
 
69
27
  - native 真值应记录为:
70
28
  - skills:`.opencode/skills/`
71
29
  - commands:`.opencode/commands/`
72
30
  - 由于当前仓库仍有 `.opencode/command/`(单数)遗留,先明确它是**legacy compatibility path**,不再把它当未来默认路径
73
- - 由于 OpenCode 可兼容读取 `.agents/skills/`,repo 共享 workflow skills 仍保持在 `.agents/skills/`
31
+
74
32
 
75
33
  ## Bootstrap / Router 设计
76
34
 
@@ -106,9 +64,7 @@
106
64
 
107
65
  ### 需要被后续实现修正的点
108
66
 
109
- - `aiws codex install-skills` 的默认全局目录应从 `~/.codex/skills` 调整为 `~/.agents/skills`
110
- - 若后续增加 Claude 全局 skills 安装,目标应是 `~/.claude/skills/`,不是继续只投递到 `~/.claude/commands/`
111
- - 若后续增加 OpenCode 全局 skills 安装,目标应是 `~/.config/opencode/skills/`
67
+ - 后续增加 OpenCode 全局 skills 安装,目标应是 `~/.config/opencode/skills/`
112
68
  - OpenCode 的 native commands 路径长期应对齐到 `.opencode/commands`,不再把 `.opencode/command` 当默认真值
113
69
  - 需要新增 bootstrap / router 入口,而不是继续完全依赖使用者手工显式调用 `$ws-plan` / `$ws-dev` / `$ws-review`
114
70
 
@@ -121,7 +77,6 @@
121
77
  ## 条目拆分与当前状态
122
78
 
123
79
  1. 目录对齐实现:
124
- - Codex 全局 skills 目录迁移
125
80
  - OpenCode native commands 目录迁移
126
81
  - 当前已由 `TOOLING-002G` 落地
127
82
  2. workflow bootstrap / router:
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## 一句话定位
4
4
 
5
- `aiws` 不是“把模板分发到 Claude Code / OpenCode / Codex 的 CLI 薄封装”,而是以 `packages/spec/` 为单一真值,通过 workflow contracts 统一约束、门禁、协同和证据的 AI workspace 工作流治理系统。
5
+ `aiws` 不是“把模板分发到 OpenCode 的 CLI 薄封装”,而是以 `packages/spec/` 为单一真值,通过 workflow contracts 统一约束、门禁、协同和证据的 AI workspace 工作流治理系统。
6
6
 
7
7
  CLI 分发能力依然重要,但它只是治理内核的一层实现,不是产品的全部定义。
8
8
 
@@ -33,9 +33,7 @@
33
33
  语义:
34
34
  - 在目标仓库根目录写入/补齐模板(默认 `workspace`)。
35
35
  - 默认生成 required + optional 文件/目录。
36
- - 写入/更新 tool-native 文件(默认覆盖 Claude/OpenCode/Codex):
37
- - Codex repo skills:`.agents/skills/`
38
- - Claude Code native skills + compatibility commands:`.claude/skills/` + `.claude/commands/`
36
+ - 写入/更新 tool-native 文件:
39
37
  - OpenCode native skills + native commands + legacy compatibility commands:`.opencode/skills/` + `.opencode/commands/` + `.opencode/command/`
40
38
  - 写入/更新 `.gitignore` 的 aiws 托管块(其余内容保留)。
41
39
  - 生成并写入 `.aiws/manifest.json`:
@@ -99,90 +97,32 @@
99
97
  接口(仅定义):
100
98
  - `aiws validate [path] [--stamp]`
101
99
 
102
- ## `aiws codex install-skills`
103
-
104
- 背景:
105
- - Codex 推荐使用 repo skills(`.agents/skills/`);但对于“未初始化的任意仓库”,用户可能仍希望能直接调用一组通用 skills(如 `$ws-dev`、`$ws-preflight`)来引导回 AIWS 工作流。
106
- - 因此提供**全局 skills 安装**:把模板内的 repo skills 安装到 Codex 的全局 skills 目录中,使其在任意仓库都可显式调用(是否自动发现/是否需要重启由 Codex 实现决定;aiws 不做保证)。
100
+ ## `aiws opencode install-skills`
107
101
 
108
102
  语义:
109
- - 将模板内的 skills(`templates/<template_id>/.agents/skills/*/SKILL.md`)安装到 Codex 的全局 skills 目录:
110
- - 默认:`~/.agents/skills/`
111
- - 若设置了 `CODEX_HOME`:`$CODEX_HOME/.agents/skills/`(仅作为 compatibility/test override)
112
- - 幂等:重复执行应只更新 AIWS 托管块,不破坏用户在文件托管块外追加的说明。
113
- - 若目标文件已存在但不含 AIWS 托管块:默认失败(退出码 `2`);需用户显式 `--force` 才允许覆盖(覆盖前应备份)。
114
- - 支持预演:`--dry-run` 仅输出将创建/更新/覆盖的 skills 清单,不写入任何文件。
103
+ - 将模板内的 repo skills 安装到全局 skills 目录中,使其在任意仓库都可显式调用。
115
104
 
116
105
  接口(仅定义):
117
- - `aiws codex install-skills [--template <template_id>] [--dir <path>] [--force] [--dry-run]`
118
-
119
- > `--dir` 可覆盖默认全局 skills 目录(用于 CI/沙箱验证,避免写入真实 home)。
106
+ - `aiws opencode install-skills [--template <template_id>] [--dir <path>] [--force] [--dry-run]`
120
107
 
121
- ## `aiws codex status-skills`
108
+ ## `aiws opencode status-skills`
122
109
 
123
110
  语义:
124
- - 检查 Codex 全局 skills 目录中,模板期望的 skills 是否就绪,并输出每个 skill 的状态:
125
- - `ok`:存在且 AIWS 托管块与模板一致
111
+ - 检查 OpenCode 全局 skills 目录中,模板期望的 skills 是否就绪,并输出每个 skill 的状态:
112
+ - `ok`:存在且与模板一致
126
113
  - `missing`:不存在
127
- - `unmanaged`:存在但不含 AIWS 托管块(aiws 不会自动覆盖)
128
- - `outdated`:存在且含 AIWS 托管块,但块内内容与模板不一致(建议重新 `install-skills`)
129
114
  - 默认只做信息输出(不修改任何文件;退出码 `0` 表示命令执行成功,不代表全部为 `ok`)。
130
115
 
131
116
  接口(仅定义):
132
- - `aiws codex status-skills [--template <template_id>] [--dir <path>]`
133
-
134
- ## `aiws codex uninstall-skills`
135
-
136
- 语义:
137
- - 从 Codex 全局 skills 目录卸载 AIWS 托管的 skills:
138
- - 仅处理“含 AIWS 托管块”的文件(避免误删用户自建 skills)
139
- - 移除前必须备份到:`<skillsDir>/.aiws/backups/codex-skills/<timestamp>/`
140
-
141
- 接口(仅定义):
142
- - `aiws codex uninstall-skills [--template <template_id>] [--dir <path>]`
143
-
144
- ---
145
-
146
- ## `aiws codex install-prompts`
147
-
148
- 背景(legacy):
149
- - prompts 为遗留机制(deprecated);优先使用 repo skills(`.agents/skills/`)或全局 skills(`aiws codex install-skills`)。
150
- - Codex 的自定义 prompts 主要从全局目录发现(通常为 `~/.codex/prompts/`)。
151
- - 因此项目内的 `.codex/prompts/*.md` 不能保证会被 Codex 自动加载;需要显式安装到全局目录。
152
-
153
- 语义:
154
- - 将模板内的 Codex prompt 文件(`templates/<template_id>/.codex/prompts/*.md`)安装到 Codex 的全局 prompts 目录:
155
- - 默认:`~/.codex/prompts/`
156
- - 若设置了 `CODEX_HOME`:`$CODEX_HOME/prompts/`
157
- - 幂等:重复执行应只更新 AIWS 托管块,不破坏用户在文件托管块外追加的说明。
158
- - 若目标文件已存在但不含 AIWS 托管块:默认失败(退出码 `2`);需用户显式 `--force` 才允许覆盖(覆盖前应备份)。
159
- - 支持预演:`--dry-run` 仅输出将创建/更新/覆盖的文件清单,不写入任何文件。
160
-
161
- 接口(仅定义):
162
- - `aiws codex install-prompts [--template <template_id>] [--dir <path>] [--force] [--dry-run]`
163
-
164
- ## `aiws codex status`
165
-
166
- 语义:
167
- - 检查 Codex 全局 prompts 目录中,模板期望的 prompts 文件是否就绪,并输出每个文件的状态:
168
- - `ok`:存在且 AIWS 托管块与模板一致
169
- - `missing`:不存在
170
- - `unmanaged`:存在但不含 AIWS 托管块(aiws 不会自动覆盖)
171
- - `outdated`:存在且含 AIWS 托管块,但块内内容与模板不一致(建议重新 `install-prompts`)
172
- - 默认只做信息输出(不修改文件;退出码 `0` 表示命令执行成功,不代表全部为 `ok`)。
173
-
174
- 接口(仅定义):
175
- - `aiws codex status [--template <template_id>] [--dir <path>]`
117
+ - `aiws opencode status-skills [--template <template_id>] [--dir <path>]`
176
118
 
177
- ## `aiws codex uninstall-prompts`
119
+ ## `aiws opencode uninstall-skills`
178
120
 
179
121
  语义:
180
- - 从 Codex 全局 prompts 目录卸载 AIWS 托管的 prompts:
181
- - 仅处理“含 AIWS 托管块”的文件(避免误删用户自建 prompts)
182
- - 移除前必须备份到:`<promptsDir>/.aiws/backups/codex-prompts/<timestamp>/`
122
+ - 从 OpenCode 全局 skills 目录卸载 AIWS 托管的 skills。
183
123
 
184
124
  接口(仅定义):
185
- - `aiws codex uninstall-prompts [--template <template_id>] [--dir <path>]`
125
+ - `aiws opencode uninstall-skills [--template <template_id>] [--dir <path>]`
186
126
 
187
127
  ## `aiws hooks install`
188
128
 
@@ -350,10 +290,10 @@ Dashboard API(本地只读):
350
290
  - 将生成的证据路径追加回填到:
351
291
  - `changes/<change-id>/proposal.md` 的 `Evidence_Path`
352
292
  - `Plan_File` 指向的计划文件中的 `Evidence_Path`(若存在)
353
- - 若存在 `.agentdocs/tmp/review/codex-review.md` 且 `changes/<id>/review/codex-review.md` 不存在:复制为持久 review 证据。
293
+ - 若存在 `.agentdocs/tmp/review/review.md` 且 `changes/<id>/review/review.md` 不存在:复制为持久 review 证据。
354
294
  - 协同收敛:
355
295
  - 若 `analysis/` / `patches/` / `review/` / `evidence/` 目录缺失,会在执行时自动补齐。
356
- - 若仅存在 `.agentdocs/tmp/review/codex-review.md` 且 `changes/<id>/review/codex-review.md` 不存在,可先作为有效 review 信号参与阶段推断;执行 evidence 时应复制为持久 review 证据。
296
+ - 若仅存在 `.agentdocs/tmp/review/review.md` 且 `changes/<id>/review/review.md` 不存在,可先作为有效 review 信号参与阶段推断;执行 evidence 时应复制为持久 review 证据。
357
297
  - 若存在 `.agentdocs/tmp/review/spec-review.md`、`.agentdocs/tmp/review/quality-review.md`、`.agentdocs/tmp/review/verify-before-complete.md` 且对应持久路径不存在,执行 evidence 时应同步收敛为持久 gate 证据。
358
298
  - 收集 `review/` 下全部 `.md` 文件(支持多 reviewer),并生成 `changes/<id>/evidence/collaboration-summary-<timestamp>.json`。
359
299
  - 生成 `changes/<id>/evidence/delivery-summary-<timestamp>.md`,概述协同工件数量、绑定信息、质量门结果与下一步建议。
@@ -27,7 +27,7 @@ changes/<change-id>/
27
27
  - 外部分析不等于实现完成。主 agent 必须把采用与否的结论写入 `review/` 或最终 handoff。
28
28
  - patch 草案不自动应用。主 agent 或人工必须先审查,再决定是否将其转换成真实代码改动。
29
29
  - `review/` 允许多人并行,例如:
30
- - `codex-review.md`
30
+ - `review.md`
31
31
  - `spec-review.md`
32
32
  - `quality-review.md`
33
33
  - `reviewer-a.md`
@@ -37,7 +37,7 @@ changes/<change-id>/
37
37
  - `changes/<change-id>/review/quality-review.md`
38
38
  - `changes/<change-id>/evidence/verify-before-complete.md`
39
39
  - `aiws change evidence <change-id>` 应把 review / validate / collaboration summary 收敛到 `evidence/`,并在目标文件缺失时收敛以下 tmp fallback:
40
- - `.agentdocs/tmp/review/codex-review.md`
40
+ - `.agentdocs/tmp/review/review.md`
41
41
  - `.agentdocs/tmp/review/spec-review.md`
42
42
  - `.agentdocs/tmp/review/quality-review.md`
43
43
  - `.agentdocs/tmp/review/verify-before-complete.md`
@@ -96,7 +96,6 @@ tmux swarm 只允许做**安全白名单**救援:
96
96
  模板提供以下文件:
97
97
 
98
98
  - `.opencode/oh-my-opencode.json.example`
99
- - `.claude/settings.json.example`
100
99
  - `.opencode/skills/ws-auto/SKILL.md`
101
100
  - `.opencode/helpers/tmux-swarm-scan.sh`
102
101
  - `.opencode/helpers/tmux-swarm-rescue.sh`
@@ -109,7 +108,6 @@ tmux swarm 只允许做**安全白名单**救援:
109
108
  - `.opencode/oh-my-opencode.json.example` 负责声明 agent、`prompt_append`、`backgroundTasks`、`experimental.auto_resume`
110
109
  - `.opencode/oh-my-opencode.json.example` 也可声明 `aiws.autonomy.approval_whitelist`
111
110
  - `/ws-auto` 与 `aiws opencode auto .` 负责把“需要 update 吗 / watchdog 能否启动”这类 bootstrap 检查前置掉
112
- - `.claude/settings.json.example` 只作为 hook 兼容层示例,不充当 controller
113
111
  - `approval-whitelist-check.sh` 负责把项目级 whitelist policy 转成 `allow` / `deny` / `manual` 判定,并写审计日志
114
112
  - `approval-whitelist-run.sh` 负责在 `allow` 场景下执行简单命令,并写执行摘要
115
113
  - `approval-whitelist-watchdog.sh` 负责轮询 JSONL 队列,串行调用 runner,并写 watchdog 状态/结果
@@ -115,8 +115,6 @@ CLI 辅助探测:
115
115
  - `backgroundTasks`:只用于 analysis / review / doc-search 型并行任务
116
116
  - `experimental.auto_resume=true`
117
117
  - `aiws.autonomy.approval_whitelist`:只声明只读命令与 evidence 写路径白名单;宿主权限仍是 `manual-only`
118
- - `.claude/settings.json.example`
119
- - 作为 oMo 可读取的 hook 兼容层示例
120
118
  - `.opencode/helpers/tmux-swarm-scan.sh`
121
119
  - 巡检当前 tmux panes,输出状态摘要
122
120
  - `.opencode/helpers/tmux-swarm-rescue.sh`
@@ -87,7 +87,6 @@ aiws opencode status .
87
87
  1. 在项目内启用:
88
88
  ```bash
89
89
  cp .opencode/oh-my-opencode.json.example .opencode/oh-my-opencode.json
90
- test -f .claude/settings.json.example
91
90
  test -f .opencode/helpers/approval-whitelist-check.sh
92
91
  test -f .opencode/helpers/approval-whitelist-run.sh
93
92
  test -f .opencode/helpers/approval-whitelist-watchdog.sh
@@ -90,7 +90,7 @@ secrets/test-accounts.json
90
90
  - `spec_version`:`@aipper/aiws-spec` 版本
91
91
  - `aiws_version`:`@aipper/aiws` 版本
92
92
  - `installed_at` / `updated_at`:ISO 8601 UTC 时间
93
- - `tools`:`["claude","opencode","codex"]` 的子集
93
+ - `tools`:`["opencode"]` 的子集
94
94
  - `managed`:托管面清单(文件级或托管块级 hash)
95
95
 
96
96
  hash 规则(用于跨平台稳定性):
@@ -109,7 +109,7 @@ hash 规则(用于跨平台稳定性):
109
109
  "aiws_version": "0.0.0",
110
110
  "installed_at": "2026-01-25T00:00:00Z",
111
111
  "updated_at": "2026-01-25T00:00:00Z",
112
- "tools": ["claude", "opencode", "codex"],
112
+ "tools": ["opencode"],
113
113
  "managed": [
114
114
  { "path": ".githooks/pre-commit", "mode": "replace_file", "sha256": "<sha256>" },
115
115
  { "path": ".gitignore", "mode": "managed_blocks", "blocks": { "gitignore": "<sha256>" } }
@@ -126,45 +126,31 @@ hash 规则(用于跨平台稳定性):
126
126
 
127
127
  说明:
128
128
  - tool-native 文件是 derived 产物;aiws 按模板 `manifest.json` 的 `update` 策略维护(`managed_blocks` 或 `replace_file`)。
129
- - 默认覆盖:Claude Code / OpenCode / Codex
129
+ - 默认覆盖:OpenCode。
130
130
 
131
131
  约定路径(示例;最终以模板 manifest 为准):
132
- - Claude Code native:`.claude/skills/*/SKILL.md`(skills)
133
- - Claude Code compatibility:`.claude/commands/p-aiws-*.md`(commands;私有原子入口)
134
132
  - OpenCode native skills:`.opencode/skills/*/SKILL.md`
135
133
  - OpenCode native commands:`.opencode/commands/p-aiws-*.md`
136
134
  - OpenCode legacy compatibility:`.opencode/command/p-aiws-*.md`(command;migration window)
137
- - Codex:`.agents/skills/*/SKILL.md`(skills)
138
135
 
139
136
  补充(workflow 入口,同样由模板提供;最终以模板 manifest 为准):
140
- - Claude Code native:`.claude/skills/ws-*/SKILL.md`
141
- - Claude Code compatibility:`.claude/commands/ws-*.md`
142
137
  - OpenCode native skills:`.opencode/skills/ws-*/SKILL.md`
143
138
  - OpenCode native commands:`.opencode/commands/ws-*.md`
144
139
  - OpenCode legacy compatibility:`.opencode/command/ws-*.md`
145
- - Codex:`.agents/skills/ws-*/SKILL.md`
146
-
147
- 注意(Codex):
148
- - Codex 的 repo skills 目录为 `.agents/skills/`(可随仓库共享;prompts 已 deprecated)。
149
- - 如需在任意仓库也能显式使用 AIWS skills:`aiws codex install-skills` 从模板 `.agents/skills/*/SKILL.md` 安装到 `~/.agents/skills/`。
150
- - `CODEX_HOME` 或 `--dir` 可作为 compatibility/test override;但不要继续把 `~/.codex/skills/` 当成目录真值。
151
- - 如仍需使用全局 prompts(遗留机制):可用 `aiws codex install-prompts` 从模板 `.codex/prompts/*.md` 安装到 `~/.codex/prompts/` 或 `$CODEX_HOME/prompts`。
152
-
153
- 注意(Claude Code / OpenCode):
154
- - 当前 workspace 模板已经同时投影:
155
- - Claude Code native skills:`.claude/skills/`
156
- - Claude Code command-style compatibility:`.claude/commands/`
140
+
141
+ 注意(目录说明):
142
+ - 当前 workspace 模板投影了以下路径:
157
143
  - OpenCode native skills / commands:`.opencode/skills/` / `.opencode/commands/`
158
144
  - OpenCode legacy compatibility:`.opencode/command/`
159
- - `.claude/commands/` 与 `.opencode/command/` 继续保留为兼容层,但不再作为唯一长期真值。
145
+ - `.opencode/command/` 继续保留为兼容层,但不再作为唯一长期真值。
160
146
 
161
147
  能力边界(必须在文档中不夸大):
162
148
  - aiws **不保证** 工具会自动加载/自动注册这些文件(是否自动发现、是否需要重启/重新打开会话,由工具实现决定)。
163
149
  - aiws 的最低承诺是:这些文件提供一致的“工作流入口”(例如引导执行 `npx @aipper/aiws init|update|validate|rollback`),从而把用户带回同一套真值文件与门禁。
164
150
 
165
151
  每个文件的托管方式(推荐):
166
- - 对于 commands 类文件(如 `.claude/commands/*.md`、`.opencode/commands/*.md`、`.opencode/command/*.md`):每个文件包含**一个且仅一个**托管块(block id 形如 `claude:aiws-init`);若文件顶部存在 YAML frontmatter(例如 `description`),`aiws update` 还会同步该 frontmatter,块外正文其余部分保留给用户追加说明。
167
- - 对于 skills 类文件(`.agents/skills/*/SKILL.md`、`.claude/skills/*/SKILL.md`、`.opencode/skills/*/SKILL.md`):由于文件顶部 YAML front matter 需要保持一致性,默认采用 `replace_file` 全量托管;如需自定义请新增独立 skill 目录。
152
+ - 对于 commands 类文件(如 `.opencode/commands/*.md`、`.opencode/command/*.md`):每个文件包含**一个且仅一个**托管块;若文件顶部存在 YAML frontmatter(例如 `description`),`aiws update` 还会同步该 frontmatter,块外正文其余部分保留给用户追加说明。
153
+ - 对于 skills 类文件(`.opencode/skills/*/SKILL.md`):由于文件顶部 YAML front matter 需要保持一致性,默认采用 `replace_file` 全量托管;如需自定义请新增独立 skill 目录。
168
154
 
169
155
  最小矩阵(建议写清以下字段,便于未来实现与验收):
170
156
  - `path_pattern`:文件路径模式
@@ -174,21 +160,9 @@ hash 规则(用于跨平台稳定性):
174
160
  - `fallback`:若不生效,用户如何手动触发(直接运行 `npx @aipper/aiws ...`)
175
161
 
176
162
  建议的默认取值(与 `workspace` 模板一致):
177
- - Claude Code
178
- - `path_pattern`:`.claude/skills/*/SKILL.md`
179
- - `purpose`:提供 native workflow skills;兼容命令入口仍保留在 `.claude/commands/*.md`
180
- - `autodiscovery`:不作为契约要求(由工具决定;aiws 不做保证)
181
- - `reload_needed`:不作为契约要求
182
- - `fallback`:在 shell 直接运行 `npx @aipper/aiws init|update|validate|rollback`
183
163
  - OpenCode
184
164
  - `path_pattern`:`.opencode/skills/*/SKILL.md` + `.opencode/commands/*.md`
185
165
  - `purpose`:提供 native workflow skills 与 native commands;legacy `.opencode/command/*.md` 继续作为迁移兼容层
186
166
  - `autodiscovery`:不作为契约要求
187
167
  - `reload_needed`:不作为契约要求
188
- - `fallback`:同上
189
- - Codex
190
- - `path_pattern`:`.agents/skills/*/SKILL.md`
191
- - `purpose`:提供 skills(显式 `$<skill>` 或隐式套用工作流),引导用户运行 `npx @aipper/aiws ...`
192
- - `autodiscovery`:不作为契约要求(由工具决定;aiws 不做保证)
193
- - `reload_needed`:不作为契约要求
194
- - `fallback`:显式使用 `$ws-preflight` / `$ws-plan` / `$ws-dev` / `$ws-review` / `$ws-commit`(或在 shell 直接运行 `npx @aipper/aiws init|update|validate|rollback`)
168
+ - `fallback`:在 shell 直接运行 `npx @aipper/aiws init|update|validate|rollback`
@@ -222,7 +222,7 @@
222
222
  {
223
223
  "id": "case_direct_implementation",
224
224
  "scenario": "任务是小步明确修复,归因和验证入口都已清楚。",
225
- "request": "修复 codex install-skills 的默认路径,并补一条可复现回归。",
225
+ "request": "修复 install-skills 的默认路径,并补一条可复现回归。",
226
226
  "expectedRuleId": "direct_implementation",
227
227
  "expectedRoute": "ws-dev",
228
228
  "why": "小步明确实现允许直接进入 dev;若用户明确要轻量直修,可进一步显式使用 ws-dev-lite,但治理归属仍收敛到 ws-dev。"
@@ -278,6 +278,6 @@
278
278
  "notes": [
279
279
  "default-routed workflow 不等于 daemon / pane / runtime orchestration;这一版只固定真值和入口。",
280
280
  "`using-aiws` 可以作为默认入口;若未来需要更短命名,可再引入 `ws-router` 作为等价别名。",
281
- "Claude/OpenCode/Codex 的 native 目录不同,但 router 语义必须共用同一份 JSON 真值。"
281
+ "OpenCode 的 native 目录不同,但 router 语义必须共用同一份 JSON 真值。"
282
282
  ]
283
283
  }
@@ -65,7 +65,7 @@ router 在做任何 workflow 判断前,必须先读取:
65
65
  | `case_finish_request` | 用户要求合并、push、cleanup 或 finish 当前 change。 | 把 demo-change finish 掉并 push,顺便 cleanup。 | `finish_request` | `ws-finish` | finish 是独立治理阶段,必须先走 finish gate。 |
66
66
  | `case_handoff_request` | 用户要求 handoff、交接说明、archive summary 或接力文档。 | 给这个 change 写 handoff,并补 archive summary。 | `handoff_request` | `ws-handoff` | handoff 依赖已有 finish/archive 上下文,不能当成普通实现。 |
67
67
  | `case_plan_first` | 任务是跨文件、多步实现,且需要先建立 change 分支或方案。 | 实现 dashboard 的阶段治理视图并补测试,需要新建 change 和计划。 | `plan_first` | `ws-plan` | 中大型实现应先落盘计划,再进入 dev。 |
68
- | `case_direct_implementation` | 任务是小步明确修复,归因和验证入口都已清楚。 | 修复 codex install-skills 的默认路径,并补一条可复现回归。 | `direct_implementation` | `ws-dev` | 小步明确实现允许直接进入 dev;若用户明确要轻量直修,可进一步显式使用 ws-dev-lite,但治理归属仍收敛到 ws-dev。 |
68
+ | `case_direct_implementation` | 任务是小步明确修复,归因和验证入口都已清楚。 | 修复 install-skills 的默认路径,并补一条可复现回归。 | `direct_implementation` | `ws-dev` | 小步明确实现允许直接进入 dev;若用户明确要轻量直修,可进一步显式使用 ws-dev-lite,但治理归属仍收敛到 ws-dev。 |
69
69
  | `case_context_gate` | Router 必须先收集项目上下文再判 direct vs plan。 | 修复一个 auth bug。 | `direct_implementation` | `ws-dev` | Router 必须先 git status/读相关文件确认范围后才能判 direct;`precondition` 字段显式要求先收集上下文;不能仅凭任务描述判"小步"。 |
70
70
  | `case_escape_hatch` | 用户说'跳过流程直接改' | "别走流程了,直接改" | `escape_hatch` | `ws-dev-lite` | 显式跳过但遵守最小约束 |
71
71
  | `case_design_first` | 任务需要先出设计方案再进入实现。 | 设计 dashboard 架构,出方案后再实现。 | `design_first` | `ws-plan` | 高影响改动应先出设计方案,过审后再投入实现。当前通过 ws-plan 统一承载设计。 |
@@ -92,4 +92,4 @@ router 在做任何 workflow 判断前,必须先读取:
92
92
 
93
93
  - default-routed workflow 不等于 daemon / pane / runtime orchestration;这一版只固定真值和入口。
94
94
  - `using-aiws` 可以作为默认入口;若未来需要更短命名,可再引入 `ws-router` 作为等价别名。
95
- - Claude/OpenCode/Codex 的 native 目录不同,但 router 语义必须共用同一份 JSON 真值。
95
+ - OpenCode 的 native 目录不同,但 router 语义必须共用同一份 JSON 真值。