harnessed 3.4.4 → 3.5.0

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 (70) hide show
  1. package/dist/cli.mjs +38 -3
  2. package/dist/cli.mjs.map +1 -1
  3. package/dist/index.mjs +1 -1
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/workflows/capabilities.yaml +17 -18
  7. package/workflows/disciplines/karpathy.yaml +1 -1
  8. package/workflows/disciplines/language.yaml +1 -1
  9. package/workflows/disciplines/operational.yaml +2 -2
  10. package/workflows/disciplines/output-style.yaml +1 -1
  11. package/workflows/disciplines/priority.yaml +1 -1
  12. package/workflows/disciplines/protocols.yaml +1 -1
  13. package/workflows/discuss/auto/SKILL.md +1 -2
  14. package/workflows/discuss/auto/workflow.yaml +1 -2
  15. package/workflows/discuss/phase/SKILL.md +0 -1
  16. package/workflows/discuss/phase/workflow.yaml +1 -1
  17. package/workflows/discuss/strategic/SKILL.md +1 -2
  18. package/workflows/discuss/strategic/workflow.yaml +2 -3
  19. package/workflows/discuss/subtask/SKILL.md +0 -1
  20. package/workflows/discuss/subtask/workflow.yaml +1 -1
  21. package/workflows/judgments/fallback.yaml +1 -1
  22. package/workflows/judgments/parallelism-gate.yaml +4 -3
  23. package/workflows/judgments/phase-gate.yaml +2 -2
  24. package/workflows/judgments/strategic-gate.yaml +2 -2
  25. package/workflows/judgments/subtask-gate.yaml +2 -2
  26. package/workflows/judgments/tdd-gate.yaml +2 -2
  27. package/workflows/judgments/web-design-routing.yaml +1 -1
  28. package/workflows/judgments/web-search-routing.yaml +1 -1
  29. package/workflows/judgments/web-testing-routing.yaml +1 -1
  30. package/workflows/plan/architecture/SKILL.md +2 -3
  31. package/workflows/plan/architecture/workflow.yaml +2 -2
  32. package/workflows/plan/auto/SKILL.md +1 -2
  33. package/workflows/plan/auto/workflow.yaml +1 -2
  34. package/workflows/plan/phase/SKILL.md +3 -4
  35. package/workflows/plan/phase/workflow.yaml +3 -3
  36. package/workflows/plan-feature/SKILL.md +4 -4
  37. package/workflows/research/SKILL.md +5 -5
  38. package/workflows/research/workflow.yaml +4 -4
  39. package/workflows/retro/SKILL.md +2 -3
  40. package/workflows/retro/workflow.yaml +1 -2
  41. package/workflows/role-prompts.yaml +4 -3
  42. package/workflows/task/auto/SKILL.md +2 -3
  43. package/workflows/task/auto/workflow.yaml +2 -3
  44. package/workflows/task/clarify/SKILL.md +0 -1
  45. package/workflows/task/code/SKILL.md +3 -4
  46. package/workflows/task/code/workflow.yaml +0 -1
  47. package/workflows/task/deliver/SKILL.md +3 -6
  48. package/workflows/task/deliver/workflow.yaml +7 -6
  49. package/workflows/task/test/SKILL.md +0 -1
  50. package/workflows/task/test/workflow.yaml +1 -2
  51. package/workflows/verify/auto/SKILL.md +5 -6
  52. package/workflows/verify/auto/workflow.yaml +4 -5
  53. package/workflows/verify/code-review/SKILL.md +3 -5
  54. package/workflows/verify/code-review/workflow.yaml +1 -3
  55. package/workflows/verify/design/SKILL.md +3 -5
  56. package/workflows/verify/design/workflow.yaml +4 -5
  57. package/workflows/verify/multispec/SKILL.md +6 -8
  58. package/workflows/verify/multispec/workflow.yaml +5 -8
  59. package/workflows/verify/paranoid/SKILL.md +2 -3
  60. package/workflows/verify/paranoid/workflow.yaml +1 -2
  61. package/workflows/verify/progress/SKILL.md +2 -3
  62. package/workflows/verify/progress/workflow.yaml +0 -1
  63. package/workflows/verify/qa/SKILL.md +4 -5
  64. package/workflows/verify/qa/workflow.yaml +1 -2
  65. package/workflows/verify/security/SKILL.md +1 -2
  66. package/workflows/verify/security/workflow.yaml +1 -2
  67. package/workflows/verify/simplify/SKILL.md +2 -3
  68. package/workflows/verify/simplify/workflow.yaml +1 -2
  69. package/workflows/verify-work/SKILL.md +5 -7
  70. package/workflows/verify-work/workflow.yaml +5 -7
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  // package.json
2
2
  var package_default = {
3
- version: "3.4.4"};
3
+ version: "3.5.0"};
4
4
 
5
5
  // src/index.ts
6
6
  var VERSION = package_default.version;
@@ -1 +1 @@
1
- {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OA8Fb,CAAA;;;AC3FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"3.4.4\",\n \"description\": \"AI coding harness package manager + composition orchestrator\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"author\": \"easyinplay\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/easyinplay/harnessed.git\"\n },\n \"homepage\": \"https://github.com/easyinplay/harnessed#readme\",\n \"bugs\": \"https://github.com/easyinplay/harnessed/issues\",\n \"keywords\": [\n \"claude-code\",\n \"ai-harness\",\n \"package-manager\",\n \"composition\",\n \"skill-pack\",\n \"mcp\",\n \"orchestrator\"\n ],\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"packageManager\": \"pnpm@10.12.0\",\n \"bin\": {\n \"harnessed\": \"./dist/cli.mjs\"\n },\n \"main\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"default\": \"./dist/index.mjs\"\n },\n \"./schemas\": {\n \"types\": \"./dist/schemas/index.d.ts\",\n \"import\": \"./dist/schemas/index.mjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"manifests\",\n \"workflows\",\n \"routing\",\n \"config-templates\",\n \"schemas\",\n \"README.md\",\n \"LICENSE\",\n \"NOTICE\"\n ],\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"build\": \"tsc --noEmit && tsup\",\n \"build:schema\": \"node ./scripts/build-schema.mjs\",\n \"validate:schema\": \"node ./scripts/validate-schema.mjs\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"vitest run --passWithNoTests\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage --passWithNoTests\",\n \"bench\": \"vitest bench --run\",\n \"lint\": \"biome check .\",\n \"lint:fix\": \"biome check --write .\",\n \"format\": \"biome format --write .\"\n },\n \"dependencies\": {\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.142\",\n \"@clack/prompts\": \"^0.10.1\",\n \"@sinclair/typebox\": \"^0.34.49\",\n \"ajv\": \"^8.20.0\",\n \"ajv-errors\": \"^3.0.0\",\n \"ajv-formats\": \"^3.0.1\",\n \"commander\": \"^13.0.0\",\n \"diff\": \"^9.0.0\",\n \"expr-eval\": \"^2.0.2\",\n \"picocolors\": \"^1.1.1\",\n \"proper-lockfile\": \"^4.1.2\",\n \"yaml\": \"^2.9.0\"\n },\n \"devDependencies\": {\n \"@biomejs/biome\": \"^2.0.0\",\n \"@types/node\": \"^22.10.0\",\n \"@types/proper-lockfile\": \"^4.1.4\",\n \"@vitest/coverage-v8\": \"^4.0.0\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.0\",\n \"vitest\": \"^4.0.0\"\n },\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\n \"esbuild\"\n ]\n }\n}\n","// Main library entry — re-exports public APIs.\n// phase 1.1 batch 1: skeleton only; schema validator wired in batch 2 (T3+).\n\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const VERSION = pkg.version\n"]}
1
+ {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OA8Fb,CAAA;;;AC3FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"3.5.0\",\n \"description\": \"AI coding harness package manager + composition orchestrator\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"author\": \"easyinplay\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/easyinplay/harnessed.git\"\n },\n \"homepage\": \"https://github.com/easyinplay/harnessed#readme\",\n \"bugs\": \"https://github.com/easyinplay/harnessed/issues\",\n \"keywords\": [\n \"claude-code\",\n \"ai-harness\",\n \"package-manager\",\n \"composition\",\n \"skill-pack\",\n \"mcp\",\n \"orchestrator\"\n ],\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"packageManager\": \"pnpm@10.12.0\",\n \"bin\": {\n \"harnessed\": \"./dist/cli.mjs\"\n },\n \"main\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"default\": \"./dist/index.mjs\"\n },\n \"./schemas\": {\n \"types\": \"./dist/schemas/index.d.ts\",\n \"import\": \"./dist/schemas/index.mjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"manifests\",\n \"workflows\",\n \"routing\",\n \"config-templates\",\n \"schemas\",\n \"README.md\",\n \"LICENSE\",\n \"NOTICE\"\n ],\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"build\": \"tsc --noEmit && tsup\",\n \"build:schema\": \"node ./scripts/build-schema.mjs\",\n \"validate:schema\": \"node ./scripts/validate-schema.mjs\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"vitest run --passWithNoTests\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage --passWithNoTests\",\n \"bench\": \"vitest bench --run\",\n \"lint\": \"biome check .\",\n \"lint:fix\": \"biome check --write .\",\n \"format\": \"biome format --write .\"\n },\n \"dependencies\": {\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.142\",\n \"@clack/prompts\": \"^0.10.1\",\n \"@sinclair/typebox\": \"^0.34.49\",\n \"ajv\": \"^8.20.0\",\n \"ajv-errors\": \"^3.0.0\",\n \"ajv-formats\": \"^3.0.1\",\n \"commander\": \"^13.0.0\",\n \"diff\": \"^9.0.0\",\n \"expr-eval\": \"^2.0.2\",\n \"picocolors\": \"^1.1.1\",\n \"proper-lockfile\": \"^4.1.2\",\n \"yaml\": \"^2.9.0\"\n },\n \"devDependencies\": {\n \"@biomejs/biome\": \"^2.0.0\",\n \"@types/node\": \"^22.10.0\",\n \"@types/proper-lockfile\": \"^4.1.4\",\n \"@vitest/coverage-v8\": \"^4.0.0\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.0\",\n \"vitest\": \"^4.0.0\"\n },\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\n \"esbuild\"\n ]\n }\n}\n","// Main library entry — re-exports public APIs.\n// phase 1.1 batch 1: skeleton only; schema validator wired in batch 2 (T3+).\n\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const VERSION = pkg.version\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harnessed",
3
- "version": "3.4.4",
3
+ "version": "3.5.0",
4
4
  "description": "AI coding harness package manager + composition orchestrator",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -70,9 +70,9 @@ capabilities:
70
70
 
71
71
  caveman:
72
72
  # v3.4.2: dual-install ("互为补充") — caveman ships BOTH as user-skill
73
- # (git clone caveman repo into ~/.claude/skills/caveman/) AND as Claude Code
74
- # plugin (`caveman@caveman` in installed_plugins.json). Resolver detects
75
- # either; emits combined warning only if BOTH are missing.
73
+ # (git clone caveman repo into <claude-home>/skills/caveman/) AND as Claude
74
+ # Code plugin (`caveman@caveman` in installed_plugins.json). Resolver
75
+ # detects either; emits combined warning only if BOTH are missing.
76
76
  impl: caveman
77
77
  install_type: [user-skill, plugin]
78
78
  skill_dir: caveman
@@ -179,7 +179,7 @@ capabilities:
179
179
  cmd: /ui-ux-pro-max
180
180
  since: v2.0
181
181
  category: tool-slash-cmd
182
- description: UI/UX 默认主方案 数据驱动 (per ~/.claude/rules/web-design.md L5)
182
+ description: UI/UX 默认主方案 数据驱动
183
183
  fires_when:
184
184
  - phase.has_ui_changes == true
185
185
  - subtask.type == 'ui_polish'
@@ -192,7 +192,7 @@ capabilities:
192
192
  cmd: /frontend-design
193
193
  since: v2.0
194
194
  category: tool-slash-cmd
195
- description: UI 创意/装饰补充 (per ~/.claude/rules/web-design.md L11)
195
+ description: UI 创意/装饰补充
196
196
  fires_when:
197
197
  - phase.has_ui_changes == true AND phase.requires_creative_polish == true
198
198
 
@@ -201,7 +201,7 @@ capabilities:
201
201
  cmd: playwright
202
202
  since: v2.0
203
203
  category: tool-bundled-skill
204
- description: AI 实时操作浏览器 一行 Bash (per ~/.claude/rules/web-testing.md L8 手)
204
+ description: "AI 实时操作浏览器 一行 Bash (手层 — 探查 / 调试 / 一次性交互)"
205
205
  fires_when:
206
206
  - subtask.type == 'browser_probe'
207
207
 
@@ -210,7 +210,7 @@ capabilities:
210
210
  cmd: "@playwright/test"
211
211
  since: v2.0
212
212
  category: tool-plugin
213
- description: E2E test framework TypeScript (per ~/.claude/rules/web-testing.md L8 )
213
+ description: "E2E test framework TypeScript (脑层 — 写测试 / 跑 CI / 断言 / fixtures / reporter)"
214
214
  fires_when:
215
215
  - subtask.type == 'e2e_test' AND subtask.language == 'typescript'
216
216
 
@@ -221,7 +221,7 @@ capabilities:
221
221
  cmd: /webapp-testing
222
222
  since: v2.0
223
223
  category: tool-bundled-skill
224
- description: Python 后端联动 E2E (per ~/.claude/rules/web-testing.md L11 筋骨)
224
+ description: "Python 后端联动 E2E (筋骨层 Python Playwright + with_server.py)"
225
225
  fires_when:
226
226
  - subtask.type == 'e2e_test' AND subtask.language == 'python'
227
227
 
@@ -230,7 +230,7 @@ capabilities:
230
230
  cmd: chrome-devtools
231
231
  since: v2.0
232
232
  category: tool-mcp
233
- description: 性能/a11y/内存泄漏诊断 (per ~/.claude/rules/web-testing.md L45 非功能性)
233
+ description: 性能/a11y/内存泄漏诊断 (非功能性 only; NOT for E2E test)
234
234
  fires_when:
235
235
  - subtask.type in ['perf_diagnose', 'a11y_audit', 'memory_leak']
236
236
 
@@ -239,7 +239,7 @@ capabilities:
239
239
  cmd: ctx7
240
240
  since: v2.0
241
241
  category: tool-cli
242
- description: 库 API/框架/SDK 文档抓取 (per ~/.claude/rules/context7.md)
242
+ description: 库 API/框架/SDK 文档抓取
243
243
  fires_when:
244
244
  - subtask.needs_library_docs == true
245
245
 
@@ -248,7 +248,7 @@ capabilities:
248
248
  cmd: tavily_search
249
249
  since: v2.0
250
250
  category: tool-mcp
251
- description: Web 搜索默认 (关键词/库 API/时效) per ~/.claude/rules/web-search.md L17
251
+ description: Web 搜索默认 (关键词/库 API/时效)
252
252
  fires_when:
253
253
  - subtask.needs_web_search == true
254
254
 
@@ -257,7 +257,7 @@ capabilities:
257
257
  cmd: web_fetch_exa
258
258
  since: v2.0
259
259
  category: tool-mcp
260
- description: 描述式/学术 Web 搜索 per ~/.claude/rules/web-search.md L24
260
+ description: "描述式/学术 Web 搜索 (覆盖默认 Tavily 的场景 — 描述式查询 / 学术 / 批量抓多 URL)"
261
261
  fires_when:
262
262
  - subtask.needs_web_search == true AND subtask.search_type in ['descriptive', 'academic']
263
263
 
@@ -432,7 +432,6 @@ capabilities:
432
432
  description: Manus-style persistent markdown planning (Claude Code plugin slash cmd)
433
433
  requires:
434
434
  plugin: planning-with-files >=2.2.0
435
- plugin_path: ~/.claude/plugins/cache/planning-with-files/planning-with-files/2.34.0
436
435
  outputs:
437
436
  - task_plan.md
438
437
  - progress.md
@@ -469,14 +468,14 @@ capabilities:
469
468
 
470
469
  # ============================================================================
471
470
  # Bucket 5 — Agent Teams 3 升级触发 (per D-11 + Q-AUDIT-5b schema fix +
472
- # ~/.claude/rules/agent-teams.md L7 prereq)
471
+ # bundled Agent Teams prerequisite: CC 2.1.133+ + env var)
473
472
  # ============================================================================
474
473
  #
475
474
  # Q-AUDIT-5b 2026-05-20 fix: settings_env_var root-level `env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`
476
475
  # (NOT nested experimental.* — Wave A 本地 settings.json 实证修正 prior schema 错误)。
477
476
  # Per Q-AUDIT-2 D-11: harnessed doctor + setup 检查 env var present + cc_version ≥2.1.133。
478
477
  #
479
- # 5 fires_when OR-chain (multi-select per ~/.claude/rules/agent-teams.md 升级触发):
478
+ # 5 fires_when OR-chain (multi-select; Agent Teams upgrade triggers):
480
479
  # 1. teammate_send_message_needed — teammate 间需 SendMessage 互通 (NOT fire-and-forget)
481
480
  # 2. subagent_context_overflow — 某 subagent 撞 context 上限需分担
482
481
  # 3. shared_task_list — 多 teammate 共享 task list 自协调
@@ -487,7 +486,7 @@ capabilities:
487
486
  cmd: TeamCreate
488
487
  since: v2.0
489
488
  category: agent-platform
490
- description: Agent Teams team 创建 (CC 2.1.133+ experimental; per agent-teams.md L7)
489
+ description: Agent Teams team 创建 (CC 2.1.133+ experimental)
491
490
  requires:
492
491
  settings_env_var: env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS == "1"
493
492
  cc_version: ">=2.1.133"
@@ -513,7 +512,7 @@ capabilities:
513
512
  cmd: TeamDelete
514
513
  since: v2.0
515
514
  category: agent-platform
516
- description: Agent Teams cleanup (shutdown_request 之后 TeamDelete; sister agent-teams.md 防呆清单)
515
+ description: Agent Teams cleanup (shutdown_request 之后 TeamDelete; mandatory cleanup discipline)
517
516
  requires:
518
517
  settings_env_var: env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS == "1"
519
518
  cc_version: ">=2.1.133"
@@ -993,7 +992,7 @@ capabilities:
993
992
  - subtask.parallel_count <= 3
994
993
  - subtask.communication_needed == false
995
994
 
996
- # D-11 NEW google-workspace.yaml (gws CLI per ~/.claude/rules/google-workspace.md)
995
+ # D-11 NEW google-workspace.yaml (gws CLI Google Workspace OAuth2 keyring auth)
997
996
  gws:
998
997
  impl: cli
999
998
  cmd: gws
@@ -1,5 +1,5 @@
1
1
  # workflows/disciplines/karpathy.yaml
2
- # karpathy 心法 + 编码硬限 — 机器化 ~/.claude/CLAUDE.md 「andrej-karpathy-skills」
2
+ # karpathy 心法 + 编码硬限 — bundled discipline (think-before-coding / simplicity-first / surgical-changes / goal-driven)
3
3
  # Phase v3.0-3.3 W0.4 ship per D-09 (L0 Discipline Substrate)
4
4
  # Snapshot of CLAUDE.md as of v3.0 ship date (K7 mitigation, verbatim)
5
5
 
@@ -20,7 +20,7 @@ rules:
20
20
  stay consistent with CLI tone.
21
21
  enforcement: info
22
22
  trigger: every Claude response
23
- check_method: read ~/.claude/settings.json env.HARNESSED_USER_LANG, validate output lang matches
23
+ check_method: read env.HARNESSED_USER_LANG, validate output lang matches
24
24
 
25
25
  - id: preserve-english-categories
26
26
  description: 8 类强制保留英文原文,不翻译不音译 (语言无关 — 任何 user_lang 都适用)
@@ -1,6 +1,6 @@
1
1
  # workflows/disciplines/operational.yaml
2
- # 操作纪律 — 机器化 project CLAUDE.md (biome preempt + commit safety) +
3
- # ~/.claude/CLAUDE.md (A7 ADR / no-skip-hooks / authorization-not-transitive)
2
+ # 操作纪律 — bundled discipline (biome preempt + commit safety +
3
+ # A7 ADR + no-skip-hooks + authorization-not-transitive + destructive-ops-explicit)
4
4
  # Phase v3.0-3.3 W0.4 ship per D-09
5
5
  # Snapshot of CLAUDE.md as of v3.0 ship date (K7 mitigation, verbatim)
6
6
 
@@ -1,5 +1,5 @@
1
1
  # workflows/disciplines/output-style.yaml
2
- # 对话回答风格 — 机器化 ~/.claude/CLAUDE.md 「对话回答风格」
2
+ # 对话回答风格 — bundled discipline (BLUF + no-sycophantic + no-emoji + no-em-dash + 量词精确 + no-end-recap + no-empty-continuation-question)
3
3
  # Phase v3.0-3.3 W0.4 ship per D-09
4
4
  # Snapshot of CLAUDE.md as of v3.0 ship date (K7 mitigation, verbatim)
5
5
 
@@ -1,5 +1,5 @@
1
1
  # workflows/disciplines/priority.yaml
2
- # 优先级仲裁 — 机器化 ~/.claude/CLAUDE.md 「响应规范与优先级」
2
+ # 优先级仲裁 — bundled discipline (7-tier hierarchy: gstack > gsd > superpowers > planning-with-files > karpathy > mattpocock > parallel)
3
3
  # Phase v3.0-3.3 W0.4 ship per D-09
4
4
  # Snapshot of CLAUDE.md as of v3.0 ship date (K7 mitigation, verbatim)
5
5
 
@@ -1,5 +1,5 @@
1
1
  # workflows/disciplines/protocols.yaml
2
- # 跨 CC instance 协议 — 机器化 ~/.claude/rules/cc-handoff.md (Ideation→Onboarding +
2
+ # 跨 CC instance 协议 — bundled cc-handoff protocols (Ideation→Onboarding +
3
3
  # Plan→Execute) + 写入边界表
4
4
  # Phase v3.0-3.3 W0.4 ship per D-09
5
5
  # Snapshot of CLAUDE.md as of v3.0 ship date (K7 mitigation, verbatim)
@@ -20,7 +20,7 @@ trigger_phrases:
20
20
  ## Overview
21
21
 
22
22
  4-stage cadence Stage ① master orchestrator delegating to 3 independent sub-workflows
23
- (per ~/.claude/CLAUDE.md "澄清/审查触发判据" 三层独立判断):
23
+ (bundled 3-tier independent clarification: strategic / phase / subtask):
24
24
 
25
25
  | sub | gate ref | mode | when fires |
26
26
  | --- | -------- | ---- | ---------- |
@@ -70,7 +70,6 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
70
70
  - D-01 master orchestrator delegation pattern
71
71
  - D-02 bare slash cmd convention (ADR 0030 namespace policy LOCK)
72
72
  - D-04 Stage ① Discuss 三层独立判
73
- - ~/.claude/CLAUDE.md "澄清/审查触发判据" 节 verbatim
74
73
  - workflows/judgments/stage-routing.yaml — discuss-{strategic,phase,subtask}-delegate triggers
75
74
  - workflows/discuss/{strategic,phase,subtask}/workflow.yaml — 3 sub-workflow Phase 3.4 SHIPPED
76
75
  - workflows/judgments/fallback.yaml — 链式互不前置 chain-isolation 铁律
@@ -1,11 +1,10 @@
1
1
  # workflows/discuss/auto/workflow.yaml — Phase v3.0-3.5 W1 T3.5.W1.1
2
2
  #
3
3
  # Stage ① Discuss master orchestrator — 3 sub-workflow parallel gate-eval (chain-isolation 铁律
4
- # per ~/.claude/CLAUDE.md "澄清/审查触发判据" + fallback.yaml "链式互不前置")。
4
+ # per bundled 3-tier clarification gate + fallback.yaml "链式互不前置")。
5
5
  # 3 sub 独立判 gate, 可能全跑 / 1-2 个 / 全跳 + 透明声明。
6
6
  #
7
7
  # Sister refs:
8
- # - ~/.claude/CLAUDE.md "澄清/审查触发判据" 节 (战略 / Phase / 子任务三层独立判)
9
8
  # - workflows/judgments/stage-routing.yaml — discuss-{strategic,phase,subtask}-delegate triggers
10
9
  # - workflows/discuss/{strategic,phase,subtask}/workflow.yaml — 3 sub-workflow Phase 3.4 SHIPPED
11
10
  # - workflows/capabilities.yaml — planning-with-files (discuss sink findings.md)
@@ -68,7 +68,6 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
68
68
  ## References
69
69
 
70
70
  - D-04 Stage ① Discuss 三层 (战略 / phase / 子任务)
71
- - ~/.claude/CLAUDE.md "Phase 层: GSD /gsd-discuss-phase"
72
71
  - workflows/capabilities.yaml — gsd-discuss-phase / planning-with-files
73
72
  - workflows/judgments/phase-gate.yaml — gsd-discuss-phase trigger
74
73
  - workflows/defaults.yaml — ralph_max_iterations.discuss-phase.* values (W2.2 backfill)
@@ -1,7 +1,7 @@
1
1
  # workflows/discuss/phase/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.2
2
2
  #
3
3
  # Stage ①.b Phase 层 sub-workflow — GSD /gsd-discuss-phase 灰色澄清
4
- # (sister ~/.claude/CLAUDE.md "澄清/审查触发判据Phase 层")
4
+ # (bundled 3-tier clarificationphase layer).
5
5
  #
6
6
  # Sister refs:
7
7
  # - workflows/judgments/phase-gate.yaml — gsd-discuss-phase trigger
@@ -2,7 +2,7 @@
2
2
  name: discuss-strategic
3
3
  description: |
4
4
  Stage ①.a 战略层 discuss sub-workflow — gstack /office-hours + /plan-ceo-review 新功能 / 新
5
- milestone / 新产品方向启动前强制治理关卡 (sister ~/.claude/CLAUDE.md "🔒 新功能启动前强制")。
5
+ milestone / 新产品方向启动前强制治理关卡 (bundled gstack governance gate, mandatory before new-feature)。
6
6
  schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
7
7
  (gstack-office-hours + gstack-plan-ceo-review + planning-with-files) + 3 phases (gate
8
8
  judgments.strategic-gate.* fires + planning-with-files /plan findings.md 持久化)。
@@ -73,7 +73,6 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
73
73
 
74
74
  - D-04 Stage ① Discuss 三层 (战略 / phase / 子任务)
75
75
  - D-12 gstack 治理关卡强制
76
- - ~/.claude/CLAUDE.md "gstack 治理关卡 🔒 新功能启动前强制"
77
76
  - workflows/capabilities.yaml — gstack-office-hours / gstack-plan-ceo-review / planning-with-files
78
77
  - workflows/judgments/strategic-gate.yaml — office-hours / plan-ceo-review triggers
79
78
  - workflows/defaults.yaml — ralph_max_iterations.discuss-strategic.* values (W2.2 backfill)
@@ -1,11 +1,10 @@
1
1
  # workflows/discuss/strategic/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.1
2
2
  #
3
3
  # Stage ①.a 战略层 sub-workflow — gstack 治理关卡 /office-hours + /plan-ceo-review
4
- # 新功能 / 新 milestone / 新产品方向启动前强制 (sister ~/.claude/CLAUDE.md
5
- # "gstack 治理关卡 🔒 新功能启动前强制" verbatim)
4
+ # 新功能 / 新 milestone / 新产品方向启动前强制 (bundled gstack governance gate —
5
+ # mandatory before new-project / new-milestone / new-feature phases).
6
6
  #
7
7
  # Sister refs:
8
- # - ~/.claude/CLAUDE.md "澄清/审查触发判据 — 战略层" 章节
9
8
  # - workflows/judgments/strategic-gate.yaml — office-hours / plan-ceo-review triggers
10
9
  # - workflows/capabilities.yaml — gstack-office-hours / gstack-plan-ceo-review / planning-with-files
11
10
  # - src/workflow/schema/workflow.ts WorkflowSchemaV3 (Phase 3.3 W0.5 SHIPPED)
@@ -74,7 +74,6 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
74
74
 
75
75
  - D-04 Stage ① Discuss 三层 (战略 / phase / 子任务)
76
76
  - D-05 phase.invokes_tools conditional fire (NEW v3)
77
- - ~/.claude/CLAUDE.md "子任务层: superpowers:brainstorming"
78
77
  - workflows/capabilities.yaml — superpowers-brainstorming / grill-with-docs / grill-me
79
78
  - workflows/judgments/subtask-gate.yaml — brainstorming trigger
80
79
  - workflows/defaults.yaml — ralph_max_iterations.discuss-subtask.* values (W2.2 backfill)
@@ -1,7 +1,7 @@
1
1
  # workflows/discuss/subtask/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.3
2
2
  #
3
3
  # Stage ①.c 子任务层 sub-workflow — superpowers brainstorming (≥2 approach / 核心算法 /
4
- # API contract / 错误成本高)。Sister ~/.claude/CLAUDE.md "澄清/审查触发判据子任务层"。
4
+ # API contract / 错误成本高). Bundled 3-tier clarification subtask layer.
5
5
  #
6
6
  # Sister refs:
7
7
  # - workflows/judgments/subtask-gate.yaml — brainstorming trigger
@@ -1,5 +1,5 @@
1
1
  # workflows/judgments/fallback.yaml
2
- # Fallback 三条铁律 — 机器化 ~/.claude/CLAUDE.md 「Fallback 三条铁律」 verbatim
2
+ # Fallback 三条铁律 — bundled judgment (unsure → tend to skip with transparent disclosure / explicit user signal overrides / tiers independent)
3
3
  # Sister: 不同于 triggers (fires_when/skips_when 模式), 本 file 使用 'rules' 顶级 key
4
4
  # Phase v2.0-2.3 Wave 0 T2.3.W0.2 ship per R20.16 + D-16
5
5
 
@@ -1,6 +1,7 @@
1
1
  # workflows/judgments/parallelism-gate.yaml
2
- # Parallelism 判据 — 机器化 ~/.claude/CLAUDE.md 「子任务并行执行机制 (subagent vs Agent Teams 路由)」节
3
- # Sister: ~/.claude/rules/agent-teams.md (5 升级触发完整生命周期)
2
+ # Parallelism 判据 — bundled subagent vs Agent Teams routing rules
3
+ # (4 triggers: subagent-default / main-session-fallback / agent-teams-upgrade / ralph-loop-wrapper)
4
+ # Bundled Agent Teams lifecycle: 5 upgrade triggers + cleanup discipline
4
5
  # Phase v2.0-2.3 Wave 0 T2.3.W0.2 ship per D-11 (parallelism-gate) + R20.10 (ralph-loop 正交 wrapper)
5
6
 
6
7
  schema_version: harnessed.judgment.v1
@@ -23,7 +24,7 @@ triggers:
23
24
 
24
25
  agent-teams-upgrade:
25
26
  description: |
26
- Upgrade — Claude Code Agent Teams 升级 per ~/.claude/rules/agent-teams.md
27
+ Upgrade — Claude Code Agent Teams 升级 (bundled rule):
27
28
  5 任一触发即可 (teammate SendMessage 互通 / subagent context overflow /
28
29
  共享 task list 自协调 / 对立假设辩论 / 全栈三路协同)。
29
30
  开 team 前 token 成本估算 team_cost < 2 × subagent_cost 才划算。
@@ -1,6 +1,6 @@
1
1
  # workflows/judgments/phase-gate.yaml
2
- # Phase 层 (Phase tier) 判据 — 机器化 ~/.claude/CLAUDE.md 「澄清/审查触发判据」节
3
- # Sister: GSD /gsd-discuss-phase orchestration gate (also /gsd-new-project, /gsd-next)
2
+ # Phase 层 (Phase tier) 判据 — bundled judgment (3-tier independent clarification: strategic / phase / subtask)
3
+ # Pairs with: GSD /gsd-discuss-phase orchestration gate (also /gsd-new-project, /gsd-next; when capability available)
4
4
  # Phase v2.0-2.3 Wave 0 T2.3.W0.2 ship per D-04 + D-16 multi-file 分类
5
5
 
6
6
  schema_version: harnessed.judgment.v1
@@ -1,6 +1,6 @@
1
1
  # workflows/judgments/strategic-gate.yaml
2
- # 战略层 (Strategy tier) 判据 — 机器化 ~/.claude/CLAUDE.md 「澄清/审查触发判据」节
3
- # Sister: gstack /office-hours + /plan-ceo-review governance gate
2
+ # 战略层 (Strategy tier) 判据 — bundled judgment (3-tier independent clarification: strategic / phase / subtask)
3
+ # Pairs with: gstack /office-hours + /plan-ceo-review governance gate (when capability available)
4
4
  # Phase v2.0-2.3 Wave 0 T2.3.W0.2 ship per D-04 + D-16 multi-file 分类
5
5
 
6
6
  schema_version: harnessed.judgment.v1
@@ -1,6 +1,6 @@
1
1
  # workflows/judgments/subtask-gate.yaml
2
- # 子任务层 (Subtask tier) 判据 — 机器化 ~/.claude/CLAUDE.md 「澄清/审查触发判据」节
3
- # Sister: superpowers:brainstorming skill (与 superpowers TDD red-green-refactor 并行评估)
2
+ # 子任务层 (Subtask tier) 判据 — bundled judgment (3-tier independent clarification: strategic / phase / subtask)
3
+ # Pairs with: superpowers:brainstorming skill (与 superpowers TDD red-green-refactor 并行评估; when capability available)
4
4
  # Phase v2.0-2.3 Wave 0 T2.3.W0.2 ship per D-04 + D-16 multi-file 分类
5
5
 
6
6
  schema_version: harnessed.judgment.v1
@@ -1,6 +1,6 @@
1
1
  # workflows/judgments/tdd-gate.yaml
2
- # TDD 判据 — 机器化 ~/.claude/CLAUDE.md Execute 阶段 TDD 强烈建议开启」节
3
- # Sister: superpowers:test-driven-development skill (alias mattpocock /tdd per D-13)
2
+ # TDD 判据 — bundled judgment (Execute-stage TDD: red-green-refactor strongly recommended for core logic / algorithms / high-reliability)
3
+ # Pairs with: superpowers:test-driven-development skill (alias mattpocock /tdd per D-13; when capability available)
4
4
  # Phase v2.0-2.3 Wave 0 T2.3.W0.2 ship per D-13 (6 fires + 3 skips)
5
5
 
6
6
  schema_version: harnessed.judgment.v1
@@ -1,5 +1,5 @@
1
1
  # workflows/judgments/web-design-routing.yaml
2
- # Sister: ~/.claude/rules/web-design.md ui-ux-pro-max 默认 + frontend-design 补充 + 仲裁
2
+ # Bundled routing rule: ui-ux-pro-max 默认主方案 (数据驱动) + frontend-design 创意补充 + arbitration
3
3
  # Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11
4
4
  #
5
5
  # 默认 ui-ux-pro-max 优先 (数据驱动 / 标准化 / 可解释);
@@ -1,5 +1,5 @@
1
1
  # workflows/judgments/web-search-routing.yaml
2
- # Sister: ~/.claude/rules/web-search.md 条件式 fallback + Tavily/Exa MCP routing
2
+ # Bundled routing rule: 条件式 fallback + Tavily/Exa MCP routing (with WebFetch / gh CLI / ctx7 CLI fallbacks)
3
3
  # Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11
4
4
  #
5
5
  # 路由优先级 (per rules/web-search.md):
@@ -1,5 +1,5 @@
1
1
  # workflows/judgments/web-testing-routing.yaml
2
- # Sister: ~/.claude/rules/web-testing.md 三层职责矩阵 + 决策树机器化
2
+ # Bundled routing rule: 三层职责矩阵 (脑 @playwright/test / 手 playwright-cli / 筋骨 webapp-testing) + 决策树
3
3
  # Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11
4
4
  #
5
5
  # 三层职责矩阵 verbatim:
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: plan-architecture
3
3
  description: |
4
- Stage ②.a 架构层 plan sub-workflow — gstack /plan-eng-review (复杂架构强制治理关卡,
5
- sister ~/.claude/CLAUDE.md "⚠️ 复杂架构前 plan-eng-review")。schema_version:
4
+ Stage ②.a 架构层 plan sub-workflow — gstack /plan-eng-review (复杂架构强制治理关卡;
5
+ bundled plan-stage cadence: mandatory before complex-architecture phases)。schema_version:
6
6
  harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
7
7
  [plan-eng-review] + 1 phase (01-plan-eng-review) + gate literal expr
8
8
  `phase.is_complex_architecture == true`。Triggered by harnessed CLI `harnessed
@@ -70,6 +70,5 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
70
70
 
71
71
  - D-04 Stage ② Plan 二层 (架构 / 计划)
72
72
  - D-12 gstack 治理关卡 (复杂架构强制)
73
- - ~/.claude/CLAUDE.md "⚠️ 复杂架构前: /plan-eng-review"
74
73
  - workflows/capabilities.yaml — plan-eng-review (Bucket 7)
75
74
  - workflows/defaults.yaml — ralph_max_iterations.plan-architecture.* values (W2.2 backfill)
@@ -1,7 +1,7 @@
1
1
  # workflows/plan/architecture/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.4
2
2
  #
3
- # Stage ②.a 架构层 sub-workflow — gstack /plan-eng-review (复杂架构强制,
4
- # sister ~/.claude/CLAUDE.md "⚠️ 复杂架构前 plan-eng-review")
3
+ # Stage ②.a 架构层 sub-workflow — gstack /plan-eng-review (mandatory before
4
+ # complex-architecture phases per bundled plan-stage cadence).
5
5
  #
6
6
  # Sister refs:
7
7
  # - workflows/capabilities.yaml — plan-eng-review (Bucket 7 gstack 33 optional registry)
@@ -21,7 +21,7 @@ trigger_phrases:
21
21
  ## Overview
22
22
 
23
23
  4-stage cadence Stage ② master orchestrator delegating to 2 sequential sub-workflows
24
- (per ~/.claude/CLAUDE.md "Plan 阶段" + D-06 planning-with-files cross-cutting tool):
24
+ (bundled Plan-stage cadence + D-06 planning-with-files cross-cutting tool):
25
25
 
26
26
  | order | sub | gate ref | mode | when fires |
27
27
  | ----- | --- | -------- | ---- | ---------- |
@@ -71,6 +71,5 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
71
71
  - D-01 master orchestrator delegation pattern
72
72
  - D-02 bare slash cmd convention (ADR 0030 namespace policy LOCK)
73
73
  - D-06 planning-with-files cross-cutting tool (NOT 独立 sub-workflow)
74
- - ~/.claude/CLAUDE.md "Plan 阶段" 节 verbatim
75
74
  - workflows/judgments/stage-routing.yaml — plan-{architecture,phase}-delegate triggers
76
75
  - workflows/plan/{architecture,phase}/workflow.yaml — 2 sub-workflow Phase 3.4 SHIPPED
@@ -1,11 +1,10 @@
1
1
  # workflows/plan/auto/workflow.yaml — Phase v3.0-3.5 W1 T3.5.W1.2
2
2
  #
3
3
  # Stage ② Plan master orchestrator — 串行 invoke 2 sub (architecture conditional → phase always)
4
- # per ~/.claude/CLAUDE.md "Plan 阶段" + RESEARCH-workflows § Area 2。
4
+ # per bundled Plan-stage cadence + RESEARCH-workflows § Area 2。
5
5
  # planning-with-files /plan 是 D-06 cross-cutting tool (NOT 独立 sub-workflow per user clarification 2)。
6
6
  #
7
7
  # Sister refs:
8
- # - ~/.claude/CLAUDE.md "Plan 阶段 (GSD + planning-with-files, 可选 gstack 架构审查)" 节
9
8
  # - workflows/judgments/stage-routing.yaml — plan-{architecture,phase}-delegate triggers
10
9
  # - workflows/plan/{architecture,phase}/workflow.yaml — 2 sub-workflow Phase 3.4 SHIPPED
11
10
  # - workflows/capabilities.yaml — planning-with-files + plan-eng-review + gsd-plan-phase
@@ -3,7 +3,7 @@ name: plan-phase
3
3
  description: |
4
4
  Stage ②.b 计划层 plan sub-workflow — GSD /gsd-plan-phase Wave A research + Wave B planner +
5
5
  Wave C plan-checker + planning-with-files Claude Code plugin /plan 持久化 task_plan.md +
6
- progress.md (sister ~/.claude/CLAUDE.md "Plan 阶段 GSD + planning-with-files")。Stage ② 铁律:
6
+ progress.md (bundled Plan-stage cadence: GSD + planning-with-files)。Stage ② 铁律:
7
7
  dual capability (GSD orchestration + planning-with-files plugin)。schema_version:
8
8
  harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available [gsd-plan-phase,
9
9
  planning-with-files] + 2 phases (01-gsd-plan + 02-persist)。Triggered by harnessed CLI
@@ -34,8 +34,8 @@ claude-code-plugin /plan + Pattern A sub-workflow ship)。
34
34
  Sister `workflows/capabilities.yaml` entries:
35
35
  - `gsd-plan-phase` — Bucket 2 (impl: gsd, cmd: /gsd-plan-phase)
36
36
  - `planning-with-files` — Bucket 4 (impl: claude-code-plugin, cmd: /plan;
37
- plugin_path: ~/.claude/plugins/cache/planning-with-files/...; outputs:
38
- task_plan.md + progress.md + findings.md)
37
+ requires the `planning-with-files` Claude Code plugin to be installed via the
38
+ Claude Code plugin marketplace; outputs: task_plan.md + progress.md + findings.md)
39
39
 
40
40
  ## Stage ② 铁律 — dual capability
41
41
 
@@ -72,6 +72,5 @@ After completion, the Bash output prints a `Next:` hint on stderr suggesting the
72
72
 
73
73
  - D-04 Stage ② Plan 二层 (架构 / 计划)
74
74
  - D-15 Q-AUDIT-5a planning-with-files claude-code-plugin reframe (NOT npm-sdk)
75
- - ~/.claude/CLAUDE.md "Plan 阶段 GSD + planning-with-files"
76
75
  - workflows/capabilities.yaml — gsd-plan-phase / planning-with-files (Bucket 4)
77
76
  - workflows/defaults.yaml — ralph_max_iterations.plan-phase.* values (W2.2 backfill)
@@ -1,9 +1,9 @@
1
1
  # workflows/plan/phase/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.5
2
2
  #
3
3
  # Stage ②.b 计划层 sub-workflow — GSD /gsd-plan-phase Wave A research + Wave B planner +
4
- # Wave C plan-checker + planning-with-files /plan 持久化 task_plan.md (sister
5
- # ~/.claude/CLAUDE.md "Plan 阶段 GSD + planning-with-files")。Stage ② 铁律: dual capability
6
- # (gsd-plan-phase + planning-with-files /plan invokes)。
4
+ # Wave C plan-checker + planning-with-files /plan 持久化 task_plan.md
5
+ # (bundled Plan-stage cadence: GSD + planning-with-files).
6
+ # Stage ② 铁律: dual capability (gsd-plan-phase + planning-with-files /plan invokes)。
7
7
  #
8
8
  # Sister refs:
9
9
  # - workflows/capabilities.yaml — gsd-plan-phase / planning-with-files
@@ -54,9 +54,9 @@ to brainstorm or planning (D-04 PUSH 任 1 phase 转换前 read = vetoed → 全
54
54
 
55
55
  ### Phase 5 planning-with-files plugin 真接 (Q-AUDIT-5a LOCKED Option A)
56
56
 
57
- 05-persist invokes the **Claude Code plugin** slash command `/plan` via plugin
58
- cache at `~/.claude/plugins/cache/planning-with-files/planning-with-files/2.34.0/`
59
- (verified 2026-05-20). The plugin generates 3 markdown files in
57
+ 05-persist invokes the **Claude Code plugin** slash command `/plan`. Requires
58
+ the `planning-with-files` Claude Code plugin to be installed via the Claude Code
59
+ plugin marketplace. The plugin generates 3 markdown files in
60
60
  `.planning/<phase-id>/`:
61
61
 
62
62
  - `task_plan.md` — 主计划 (task 列表 + 文件路径 + 依赖顺序 + 验收标准)
@@ -84,7 +84,7 @@ harnessed plan-feature --task "<text>" --apply
84
84
  ## Forward-looking note
85
85
 
86
86
  The `trigger_phrases:` frontmatter is active after `harnessed setup` copies this
87
- SKILL.md to `~/.claude/skills/plan-feature/` — Claude Code then loads the slash
87
+ SKILL.md to `<claude-home>/skills/plan-feature/` — Claude Code then loads the slash
88
88
  command `/plan-feature` automatically (Gap B fix — v1.0.2).
89
89
 
90
90
  ## References
@@ -16,7 +16,7 @@ phases content (01-fan-out + 02-synth) verbatim reused from v2 SHIPPED unchanged
16
16
 
17
17
  | # | Phase | Upstream | Capability | Model | Description |
18
18
  |---|-------|----------|-----------|-------|-------------|
19
- | 01 | `01-fan-out` | web-search | (route-by-subtask) | sonnet | 3 source fan-out (Tavily MCP / Exa MCP / ctx7 CLI per ~/.claude/rules/web-search.md + context7.md routing) |
19
+ | 01 | `01-fan-out` | web-search | (route-by-subtask) | sonnet | 3 source fan-out (Tavily MCP / Exa MCP / ctx7 CLI per bundled web-search + context7 routing) |
20
20
  | 02 | `02-synth` | gsd | `gsd-discuss-phase` | opus | GSD discuss-phase aggregate + dedup + reconcile |
21
21
 
22
22
  ## Capability refs
@@ -30,16 +30,16 @@ Sister `workflows/capabilities.yaml` entries:
30
30
  ## Invocation
31
31
  - Slash command: `/research <topic>` (after `harnessed setup`)
32
32
 
33
- ## Routing rules (sister ~/.claude/rules/web-search.md)
33
+ ## Routing rules (bundled web-search routing — `workflows/judgments/web-search-routing.yaml`)
34
34
  - 描述式查询 ("找一篇对比 X 和 Y 的博客") → Exa MCP
35
35
  - 学术 / 论文 → Exa MCP
36
- - 库 / API 文档 → ctx7 CLI (per ~/.claude/rules/context7.md)
36
+ - 库 / API 文档 → ctx7 CLI
37
37
  - 关键词 / 时效内容 → Tavily MCP (默认)
38
38
  - 抓整站 / 站点结构 → Tavily crawl/map
39
39
 
40
40
  ## How to invoke
41
41
 
42
- **Preferred path** (master orchestrator): dispatch to the per-sub-workflow slash commands in the order this stage prescribes. Each sub command lives at `~/.claude/commands/<sub-name>.md` with its own dual-path fallback.
42
+ **Preferred path** (master orchestrator): dispatch to the per-sub-workflow slash commands in the order this stage prescribes. Each sub command lives at `<claude-home>/commands/<sub-name>.md` (installed by `harnessed setup`) with its own dual-path fallback.
43
43
 
44
44
  **Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
45
45
 
@@ -64,7 +64,7 @@ Sister `workflows/capabilities.yaml` entries:
64
64
 
65
65
  (Role prompt is self-contained — works even when the upstream `specialist` user-skill / plugin isn't installed.)
66
66
 
67
- (Sister `~/.claude/commands/research.md` is also generated by `harnessed setup` so `/research` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed research --apply` CLI claims are removed; that subcommand was never implemented.)
67
+ (`harnessed setup` also installs a `research` Claude Code slash command at `<claude-home>/commands/research.md` so `/research` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed research --apply` CLI claims are removed; that subcommand was never implemented.)
68
68
 
69
69
  ## How to invoke
70
70