@jennie-shawn/starwork 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (298) hide show
  1. package/README.md +111 -99
  2. package/adapters/README.md +34 -0
  3. package/adapters/claude-code/profile.json +55 -0
  4. package/adapters/claude-code/rules.md +13 -0
  5. package/adapters/claude-code/safety.md +6 -0
  6. package/adapters/codex/profile.json +55 -0
  7. package/adapters/codex/rules.md +12 -0
  8. package/adapters/codex/safety.md +5 -0
  9. package/adapters/contract.md +64 -0
  10. package/adapters/cursor/profile.json +60 -0
  11. package/adapters/cursor/rules.md +7 -0
  12. package/adapters/cursor/safety.md +6 -0
  13. package/adapters/trae/profile.json +61 -0
  14. package/adapters/trae/rules.md +7 -0
  15. package/adapters/trae/safety.md +7 -0
  16. package/cli/README.md +50 -9
  17. package/cli/audit-spec.md +403 -0
  18. package/cli/doctor-spec.md +109 -17
  19. package/cli/init-spec.md +81 -53
  20. package/cli/repair-spec.md +361 -0
  21. package/cli/spawn-blueprint-spec.md +18 -18
  22. package/cli/spawn-spec.md +103 -108
  23. package/cli/src/cli.js +9403 -1059
  24. package/cli/test/init.test.js +2566 -51
  25. package/cli/upgrade-spec.md +488 -0
  26. package/core/README.md +14 -3
  27. package/core/agent-lanes-session-naming-spec.md +364 -0
  28. package/core/agent-lanes-spec.md +507 -0
  29. package/core/baseline/file-boundaries.md +11 -3
  30. package/core/baseline/health-check.md +2 -2
  31. package/core/baseline/roles.md +0 -1
  32. package/core/baseline/spec.md +3 -2
  33. package/core/capabilities/README.md +5 -2
  34. package/core/capabilities/agent-lanes/capability.md +40 -0
  35. package/core/capabilities/decisions/capability.md +2 -2
  36. package/core/capabilities/knowledge/capability.md +72 -0
  37. package/core/capabilities/knowledge/skills/starworkKnowledgeProject/SKILL.md +57 -0
  38. package/core/capabilities/knowledge/skills/starworkKnowledgeProject/agents/openai.yaml +6 -0
  39. package/core/capabilities/knowledge/templates/en/README.md +20 -0
  40. package/core/capabilities/knowledge/templates/en/index.md +19 -0
  41. package/core/capabilities/knowledge/templates/en/log.md +16 -0
  42. package/core/capabilities/knowledge/templates/en/schema.md +60 -0
  43. package/core/capabilities/knowledge/templates/zh/README.md +20 -0
  44. package/core/capabilities/knowledge/templates/zh/index.md +19 -0
  45. package/core/capabilities/knowledge/templates/zh/log.md +16 -0
  46. package/core/capabilities/knowledge/templates/zh/schema.md +60 -0
  47. package/core/capabilities/main-repo-sync/capability.md +57 -34
  48. package/core/capabilities/skill-mount/capability.md +19 -5
  49. package/core/capabilities/starter-outputs/capability.md +9 -11
  50. package/core/capabilities/starter-outputs/templates/outputs/final/README.md +1 -1
  51. package/core/core-v0.1-protocol.md +23 -21
  52. package/core/kits/README.md +9 -1
  53. package/core/kits/hub/.incoming/README.md +4 -2
  54. package/core/kits/hub/.incoming/reports/.gitkeep +1 -0
  55. package/core/kits/hub/.incoming/skills/.gitkeep +1 -0
  56. package/core/kits/hub/.internal/twin-bot-merge-policy.md +5 -0
  57. package/core/kits/hub/.internal/twin-bot-writeback-protocol.md +5 -0
  58. package/core/kits/hub/.starwork/handoff/archived/.gitkeep +1 -0
  59. package/core/kits/hub/.starwork/handoff/inbox/.gitkeep +1 -0
  60. package/core/kits/hub/.starwork/handoff/outbox/.gitkeep +1 -0
  61. package/core/kits/hub/.starwork/handoff/sent/.gitkeep +1 -0
  62. package/core/kits/hub/.starwork/handoff/state.json +5 -0
  63. package/core/kits/hub/AGENTS.md +18 -12
  64. package/core/kits/hub/README.md +17 -9
  65. package/core/kits/hub/identity/README.md +2 -2
  66. package/core/kits/hub/knowledge/README.md +5 -0
  67. package/core/kits/hub/lessons/README.md +2 -2
  68. package/core/kits/hub/projects/README.md +5 -0
  69. package/core/kits/hub/projects/coordination/README.md +5 -0
  70. package/core/kits/hub/projects/coordination/messages/acknowledged/.gitkeep +1 -0
  71. package/core/kits/hub/projects/coordination/messages/closed/.gitkeep +1 -0
  72. package/core/kits/hub/projects/coordination/messages/delivered/.gitkeep +1 -0
  73. package/core/kits/hub/projects/coordination/messages/queued/.gitkeep +1 -0
  74. package/core/kits/hub/projects/coordination/reports/.gitkeep +1 -0
  75. package/core/kits/hub/skills/README.md +4 -2
  76. package/core/kits/hub/skills/registry.json +6 -0
  77. package/core/kits/hub/workspace/README.md +5 -0
  78. package/core/kits/kit-structure-reference.md +104 -191
  79. package/core/kits/project/.agents/skills/README.md +5 -0
  80. package/core/kits/project/.claude/skills/README.md +5 -0
  81. package/core/kits/project/.obsidian/README.md +5 -0
  82. package/core/kits/project/.starwork/handoff/archived/.gitkeep +1 -0
  83. package/core/kits/project/.starwork/handoff/inbox/.gitkeep +1 -0
  84. package/core/kits/project/.starwork/handoff/outbox/.gitkeep +1 -0
  85. package/core/kits/project/.starwork/handoff/sent/.gitkeep +1 -0
  86. package/core/kits/project/.starwork/handoff/state.json +5 -0
  87. package/core/kits/project/AGENTS.md +38 -0
  88. package/core/kits/project/README.md +44 -0
  89. package/core/kits/project/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +25 -0
  90. package/core/kits/project/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +17 -0
  91. package/core/kits/project/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +17 -0
  92. package/core/kits/project/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +24 -0
  93. package/core/kits/two-kit-architecture-spec.md +695 -0
  94. package/core/legacy/README.md +16 -0
  95. package/core/legacy/kits/satellite-starter/.starwork/handoff/archived/.gitkeep +1 -0
  96. package/core/legacy/kits/satellite-starter/.starwork/handoff/inbox/.gitkeep +1 -0
  97. package/core/legacy/kits/satellite-starter/.starwork/handoff/outbox/.gitkeep +1 -0
  98. package/core/legacy/kits/satellite-starter/.starwork/handoff/sent/.gitkeep +1 -0
  99. package/core/legacy/kits/satellite-starter/.starwork/handoff/state.json +5 -0
  100. package/core/{kits → legacy/kits}/satellite-starter/AGENTS.md +7 -1
  101. package/core/{kits → legacy/kits}/satellite-starter/README.md +4 -4
  102. package/core/{kits → legacy/kits}/satellite-starter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +3 -3
  103. package/core/legacy/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +5 -0
  104. package/core/{presets → legacy/presets}/satellite-starter.yaml +1 -1
  105. package/core/presets/README.md +17 -7
  106. package/core/presets/hub.yaml +23 -4
  107. package/core/presets/project.yaml +11 -0
  108. package/core/profiles/en/labels.json +2 -4
  109. package/core/profiles/en/paths.json +3 -4
  110. package/core/profiles/en/profile.md +7 -4
  111. package/core/profiles/en/templates/AGENTS.md +13 -9
  112. package/core/profiles/en/{reference-kits/local-starter/_system/context/project-status.md → templates/_system/context/current-project.md} +1 -1
  113. package/core/profiles/zh/labels.json +2 -4
  114. package/core/profiles/zh/paths.json +3 -5
  115. package/core/profiles/zh/profile.md +7 -4
  116. package/core/profiles/zh/templates/AGENTS.md +13 -9
  117. package/core/{kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md → profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md} +1 -1
  118. package/core/project-rules-optimization-spec.md +510 -0
  119. package/core/skill-management-spec.md +591 -0
  120. package/core/starwork-runtime-layer-spec.md +344 -0
  121. package/docs/README.md +18 -4
  122. package/docs/agent-install-guide.md +132 -0
  123. package/docs/ai-consultant-brief.md +648 -0
  124. package/docs/alpha-test-guide.md +274 -17
  125. package/docs/cli-capabilities.html +206 -115
  126. package/docs/cli-skill-registry.html +801 -0
  127. package/docs/doctor-capabilities.html +631 -0
  128. package/docs/hub-management.html +60 -59
  129. package/docs/index.html +7 -5
  130. package/docs/issue-feedback-tracking-guide.md +447 -0
  131. package/docs/m2.10-core-kit-pack-boundary-cleanup-spec.md +567 -0
  132. package/docs/m2.6-alpha-core-flows-optimization-spec.md +441 -0
  133. package/docs/m2.6-project-init-feedback/README.md +27 -0
  134. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-01-identity-spec.md +194 -0
  135. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-02-hub-sync-boundary-spec.md +198 -0
  136. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-03-current-project-purity-spec.md +238 -0
  137. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-04-system-placeholder-templates-spec.md +213 -0
  138. package/docs/m2.6-project-init-feedback/m2.6-project-init-feedback-05-agents-guardrails-spec.md +265 -0
  139. package/docs/m2.7-init-github-issues-optimization-spec.md +350 -0
  140. package/docs/m2.8-workspace-naming-optimization-spec.md +633 -0
  141. package/docs/multiagent/01-codex-session-capabilities-and-starwork-implications.md +280 -0
  142. package/docs/multiagent/02-cursor-session-management-research-instructions.md +204 -0
  143. package/docs/multiagent/03-trae-session-management-research-instructions.md +205 -0
  144. package/docs/multiagent/04-claude-code-session-management-research-instructions.md +209 -0
  145. package/docs/multiagent/05-trae-solo-session-management-research-instructions.md +222 -0
  146. package/docs/multiagent/claude-code-session-management-research-result.md +201 -0
  147. package/docs/multiagent/cursor-session-management-research-result.md +101 -0
  148. package/docs/multiagent/session-control-support-matrix.md +20 -0
  149. package/docs/multiagent/trae-session-management-research-result.md +353 -0
  150. package/docs/multiagent/trae-solo-session-management-research-result.md +467 -0
  151. package/docs/product-direction.md +17 -9
  152. package/docs/product-shape-business-model.html +1 -1
  153. package/docs/roadmap.html +34 -20
  154. package/docs/roadmap.md +185 -20
  155. package/docs/v0.1-plan.md +32 -12
  156. package/kit-skills/README.md +11 -0
  157. package/kit-skills/neat-freak/SKILL.md +32 -0
  158. package/kit-skills/neat-freak/agents/openai.yaml +2 -0
  159. package/kit-skills/starworkAudit/SKILL.md +127 -0
  160. package/kit-skills/starworkAudit/references/issue-taxonomy.md +10 -0
  161. package/kit-skills/starworkAudit/references/repair-blueprint-guide.md +54 -0
  162. package/kit-skills/starworkAudit/references/response-guide.md +34 -0
  163. package/{skills → kit-skills}/starworkSpawn/SKILL.md +36 -14
  164. package/package.json +4 -3
  165. package/packs/content-creator/languages/en.json +4 -4
  166. package/packs/content-creator/languages/zh.json +4 -4
  167. package/packs/content-creator/pack.json +5 -5
  168. package/packs/general/languages/en.json +19 -2
  169. package/packs/general/languages/zh.json +19 -2
  170. package/packs/general/pack.json +8 -3
  171. package/packs/hub-management/languages/en.json +2 -2
  172. package/packs/hub-management/languages/zh.json +11 -10
  173. package/packs/hub-management/pack.json +2 -2
  174. package/packs/hub-management/rules/en/overview.md +2 -0
  175. package/packs/hub-management/rules/en/workflow.md +2 -1
  176. package/packs/hub-management/rules/zh/overview.md +4 -2
  177. package/packs/hub-management/rules/zh/workflow.md +3 -2
  178. package/packs/hub-management/seed/en/projects/coordination/README.md +2 -2
  179. package/packs/hub-management/seed/zh/projects/coordination/README.md +5 -0
  180. package/packs/pack-structure-spec.md +4 -4
  181. package/skills/README.md +28 -3
  182. package/skills/starwork/SKILL.md +81 -0
  183. package/skills/starwork/references/install.md +64 -0
  184. package/skills/starwork/references/routing.md +44 -0
  185. package/skills/starworkAudit-spec.md +354 -0
  186. package/skills/starworkDoctor/SKILL.md +435 -0
  187. package/skills/starworkDoctor/agents/openai.yaml +7 -0
  188. package/skills/starworkDoctor/references/agent-rules-template.md +64 -0
  189. package/skills/starworkDoctor/references/hub-upgrade.md +73 -0
  190. package/skills/starworkDoctor/references/response-guide.md +57 -0
  191. package/skills/starworkDoctor/references/rules-extraction-guide.md +92 -0
  192. package/skills/starworkDoctor-spec.md +764 -0
  193. package/skills/starworkInit/SKILL.md +285 -50
  194. package/skills/starworkInit-spec.md +106 -75
  195. package/skills/starworkKnowledge/SKILL.md +195 -0
  196. package/skills/starworkKnowledge/agents/openai.yaml +3 -0
  197. package/skills/starworkMultiagent/SKILL.md +302 -0
  198. package/skills/starworkMultiagent/agents/openai.yaml +7 -0
  199. package/skills/starworkMultiagent-skill-plan.md +234 -0
  200. package/skills/starworkMultiagent-spec.md +181 -0
  201. package/core/capabilities/matter-mode/capability.md +0 -46
  202. package/core/capabilities/matter-mode/templates/matters/_matter-template/README.md +0 -17
  203. package/core/capabilities/matter-mode/templates/matters/_matter-template/handoff.md +0 -3
  204. package/core/capabilities/matter-mode/templates/matters/_matter-template/notes.md +0 -5
  205. package/core/capabilities/matter-mode/templates/matters/_matter-template/progress.md +0 -5
  206. package/core/capabilities/matter-mode/templates/matters/registry.md +0 -16
  207. package/core/kits/hub/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -24
  208. package/core/kits/hub//347/237/245/350/257/206/README.md +0 -5
  209. package/core/kits/hub//351/241/271/347/233/256/README.md +0 -5
  210. package/core/kits/hub//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
  211. package/core/kits/local-matter/AGENTS.md +0 -23
  212. package/core/kits/local-matter/README.md +0 -22
  213. package/core/kits/local-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
  214. package/core/kits/local-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  215. package/core/kits/local-matter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
  216. package/core/kits/local-matter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
  217. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
  218. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
  219. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
  220. package/core/kits/local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
  221. package/core/kits/local-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
  222. package/core/kits/local-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  223. package/core/kits/local-starter/AGENTS.md +0 -23
  224. package/core/kits/local-starter/README.md +0 -23
  225. package/core/kits/local-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
  226. package/core/kits/local-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  227. package/core/kits/local-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -5
  228. package/core/kits/local-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
  229. package/core/kits/local-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
  230. package/core/kits/local-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  231. package/core/kits/local-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
  232. package/core/kits/satellite-matter/AGENTS.md +0 -27
  233. package/core/kits/satellite-matter/README.md +0 -40
  234. package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/206/263/347/255/226.md +0 -7
  235. package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/270/273/345/272/223/345/220/214/346/255/245/README.md +0 -42
  236. package/core/kits/satellite-matter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  237. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
  238. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
  239. package/core/kits/satellite-matter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
  240. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277/README.md +0 -17
  241. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//344/272/244/346/216/245.md +0 -3
  242. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//347/254/224/350/256/260.md +0 -5
  243. package/core/kits/satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/277/233/345/272/246.md +0 -5
  244. package/core/kits/satellite-matter//344/272/213/351/241/271//346/263/250/345/206/214/350/241/250.md +0 -16
  245. package/core/kits/satellite-matter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
  246. package/core/kits/satellite-matter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  247. package/core/kits/satellite-matter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
  248. package/core/kits/satellite-starter/.agents/skills/README.md +0 -5
  249. package/core/kits/satellite-starter/.claude/skills/README.md +0 -5
  250. package/core/kits/satellite-starter/.core-sync.json +0 -31
  251. package/core/kits/satellite-starter/.internal/README.md +0 -5
  252. package/core/kits/satellite-starter/.obsidian/README.md +0 -5
  253. package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md +0 -29
  254. package/core/kits/satellite-starter/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md +0 -17
  255. package/core/kits/satellite-starter/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md +0 -8
  256. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/README.md +0 -9
  257. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/inbox/README.md +0 -5
  258. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/267/250/351/241/271/347/233/256/outbox/README.md +0 -5
  259. package/core/kits/satellite-starter/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md +0 -5
  260. package/core/kits/satellite-starter//345/217/202/350/200/203/350/265/204/346/226/231/README.md +0 -5
  261. package/core/kits/satellite-starter//347/237/245/350/257/206/README.md +0 -5
  262. package/core/kits/satellite-starter//350/276/223/345/207/272//347/241/256/350/256/244/346/210/220/346/236/234/README.md +0 -5
  263. package/core/kits/satellite-starter//350/276/223/345/207/272//350/215/211/347/250/277/README.md +0 -5
  264. package/core/presets/local-matter.yaml +0 -14
  265. package/core/presets/local-starter.yaml +0 -12
  266. package/core/presets/satellite-matter.yaml +0 -17
  267. package/core/profiles/en/reference-kits/local-starter/AGENTS.md +0 -23
  268. package/core/profiles/en/reference-kits/local-starter/README.md +0 -23
  269. package/core/profiles/en/reference-kits/local-starter/_system/identity/README.md +0 -5
  270. package/core/profiles/en/reference-kits/local-starter/_system/lessons/README.md +0 -5
  271. package/core/profiles/en/reference-kits/local-starter/_system/tasks/current-work.md +0 -17
  272. package/core/profiles/en/reference-kits/local-starter/outputs/drafts/README.md +0 -5
  273. package/core/profiles/en/reference-kits/local-starter/outputs/final/README.md +0 -5
  274. package/core/profiles/en/reference-kits/local-starter/references/README.md +0 -5
  275. package/core/profiles/en/reference-presets/local-starter.yaml +0 -12
  276. package/core/profiles/en/templates/_system/context/project-status.md +0 -25
  277. package/core/profiles/zh/templates/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//351/241/271/347/233/256/347/212/266/346/200/201.md +0 -25
  278. package/packs/hub-management/seed/zh//351/241/271/347/233/256//350/201/224/347/273/234/README.md +0 -5
  279. /package/core/{capabilities/matter-mode/templates/matters/_matter-template/drafts → kits/hub/.incoming/identity}/.gitkeep +0 -0
  280. /package/core/kits/{local-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/215/211/347/250/277/.gitkeep" → hub/.incoming/knowledge/.gitkeep} +0 -0
  281. /package/core/kits/{satellite-matter//344/272/213/351/241/271/_/344/272/213/351/241/271/346/250/241/346/235/277//350/215/211/347/250/277/.gitkeep" → hub/.incoming/lessons/.gitkeep} +0 -0
  282. /package/core/kits/hub/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
  283. /package/core/kits/{satellite-matter → project}/CLAUDE.md +0 -0
  284. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.agents/skills/README.md +0 -0
  285. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.claude/skills/README.md +0 -0
  286. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.core-sync.json +0 -0
  287. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.internal/README.md +0 -0
  288. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/.obsidian/README.md +0 -0
  289. /package/core/{kits → legacy/kits}/satellite-starter/CLAUDE.md +0 -0
  290. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/270/212/344/270/213/346/226/207//345/275/223/345/211/215/351/241/271/347/233/256.md" +0 -0
  291. /package/core/{kits/hub → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//344/273/273/345/212/241//345/275/223/345/211/215/345/267/245/344/275/234.md" +0 -0
  292. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//346/225/231/350/256/255/README.md" +0 -0
  293. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}/_/347/263/273/347/273/237//350/272/253/344/273/275/README.md" +0 -0
  294. /package/core/{kits/local-matter → legacy/kits/satellite-starter}//345/217/202/350/200/203/350/265/204/346/226/231/README.md" +0 -0
  295. /package/core/{kits/satellite-matter → legacy/kits/satellite-starter}//347/237/245/350/257/206/README.md" +0 -0
  296. /package/core/{kits/local-matter → legacy/kits/satellite-starter}//350/276/223/345/207/272//350/215/211/347/250/277/README.md" +0 -0
  297. /package/{skills → kit-skills}/starworkSpawn/agents/openai.yaml +0 -0
  298. /package/packs/hub-management/seed/zh/{/351/241/271/347/233/256/registry.json" → projects/registry.json} +0 -0
@@ -0,0 +1,265 @@
1
+ # M2.6 Project Init 反馈 05:AGENTS 入口规则与 Skill 防污染 SPEC
2
+
3
+ ## 状态
4
+
5
+ - 版本:v0.1 implemented
6
+ - 所属阶段:M2.6 既有功能优化与 A 测稳定化
7
+ - 所属模块:StarWork Skills / CLI init blueprint / AGENTS 模板 / Core Rules
8
+ - 反馈来源:单项目初始化 A 测
9
+ - 问题类型:Skill 约束不足导致 AI 自我发挥
10
+
11
+ ## 用户反馈
12
+
13
+ `AGENTS.md` 里出现了 StarWork 初始化过程和 `Folders Not Used` 等施工痕迹;同时 identity 这类 system 文件的读取时机没有写清楚,AI 一开始不会读取。
14
+
15
+ ## 根因
16
+
17
+ 当前 `starworkInit` 允许 Agent 把定制需求自由整理成规则文件,缺少两个边界:
18
+
19
+ 1. `AGENTS.md` 是稳定入口规则,不是初始化报告。
20
+ 2. `.starwork/rules/` 是扩展规则层,也不能承载临时施工日志。
21
+
22
+ 另外 AGENTS 的默认 “Read First” 只列 current-project/current-work,没有说明 identity、lessons、knowledge 的条件读取时机。AI 不知道何时读长期上下文。
23
+
24
+ ## 目标
25
+
26
+ AGENTS 必须成为短、稳定、可执行的入口路由。
27
+
28
+ 它应该回答:
29
+
30
+ - 开始任务先读什么。
31
+ - 什么时候读 identity / lessons / knowledge。
32
+ - 哪些目录是事实源。
33
+ - 哪些内容需要确认。
34
+
35
+ 它不应该回答:
36
+
37
+ - 这次 StarWork 初始化做了什么。
38
+ - 哪些默认目录没创建。
39
+ - blueprint 文件叫什么。
40
+ - CLI dry-run 输出是什么。
41
+ - Agent 为什么这样选择目录。
42
+
43
+ ## 非目标
44
+
45
+ - 不把全部规则塞进 AGENTS。
46
+ - 不让 Skill 直接写入项目事实源而不经 CLI 或用户确认。
47
+ - 不让 AGENTS 成为项目进度文档。
48
+ - 不禁止 `.starwork/workspace.json` 记录 customization。
49
+
50
+ ## AGENTS 目标结构
51
+
52
+ 英文:
53
+
54
+ ```markdown
55
+ # Workspace Rules
56
+
57
+ ## Read First
58
+
59
+ 1. `_system/context/current-project.md`
60
+ 2. `_system/tasks/current-work.md`
61
+ 3. `.starwork/rules/index.md` when it exists
62
+
63
+ ## Read When Relevant
64
+
65
+ - Read `_system/identity/README.md` when user preferences, communication style, domain background, or long-term context may matter.
66
+ - Read `_system/lessons/README.md` before repeated, risky, or pattern-sensitive work.
67
+ - Read `knowledge/README.md` when project knowledge or reusable references may matter.
68
+ - Read Hub sync docs only if this workspace is connected to a Hub.
69
+
70
+ ## File Boundaries
71
+
72
+ - Project status belongs in `_system/context/current-project.md`.
73
+ - Current execution notes belong in `_system/tasks/current-work.md`.
74
+ - Code belongs in the project-declared implementation path.
75
+ - Approved outputs belong in the project-declared formal source.
76
+ - StarWork mechanism state belongs in `.starwork/`.
77
+
78
+ ## Confirmation Required
79
+
80
+ - Changing identity or stable preferences.
81
+ - Promoting drafts to formal outputs.
82
+ - Changing workspace structure or top-level business folders.
83
+ - Editing Hub-shared resources.
84
+ ```
85
+
86
+ 中文同理。
87
+
88
+ ## 禁止写入 AGENTS 的内容
89
+
90
+ `starworkInit`、`starworkDoctor`、`starworkSpawn` 生成 AGENTS 或规则时,都不得写入:
91
+
92
+ ```text
93
+ Folders Not Used
94
+ Initialized as
95
+ StarWork project workspace
96
+ blueprint path
97
+ dry-run result
98
+ doctor result
99
+ npm install result
100
+ I chose this because...
101
+ The complete spec file was not found...
102
+ ```
103
+
104
+ 这些信息的归属:
105
+
106
+ | 信息 | 归属 |
107
+ |---|---|
108
+ | CLI 执行结果 | 对话回复 / CLI stdout |
109
+ | blueprint 来源 | `.starwork/workspace.json` |
110
+ | 不使用的默认目录 | blueprint `removals` 或 `.starwork/rules/` 中的短规则 |
111
+ | 目录正向边界 | AGENTS 或 `.starwork/rules/` |
112
+ | 项目目标 | current-project |
113
+ | 用户长期偏好 | identity |
114
+
115
+ ## 正向表达规则
116
+
117
+ 不要写:
118
+
119
+ ```text
120
+ Folders Not Used
121
+ - Do not use outputs/
122
+ - Do not use references/
123
+ ```
124
+
125
+ 优先写:
126
+
127
+ ```text
128
+ Canonical paths:
129
+ - Code: `src/`
130
+ - Product docs: `docs/`
131
+ - Approved docs: `docs/`
132
+ ```
133
+
134
+ 如果确实需要防止 AI 创建旧默认目录,应放入 `.starwork/rules/workspace.file_boundaries.md`,并保持简短:
135
+
136
+ ```markdown
137
+ Use `src/` for implementation and `docs/` for product/design documents.
138
+ Do not create alternate top-level work folders unless the user asks.
139
+ ```
140
+
141
+ ## Skill 防发挥机制
142
+
143
+ ### 输出通道分离
144
+
145
+ Skill 必须区分四类输出:
146
+
147
+ | 类型 | 可写位置 |
148
+ |---|---|
149
+ | 用户可见执行汇报 | 对话回复 |
150
+ | 机器执行状态 | `.starwork/workspace.json` |
151
+ | 稳定入口规则 | `AGENTS.md` |
152
+ | 扩展规则 | `.starwork/rules/*.md` |
153
+
154
+ 不得把对话汇报写进 AGENTS 或 current-project。
155
+
156
+ ### AGENTS 长度和章节限制
157
+
158
+ AGENTS 默认只允许这些章节:
159
+
160
+ ```text
161
+ Read First
162
+ Read When Relevant
163
+ File Boundaries
164
+ Workflow
165
+ Confirmation Required
166
+ ```
167
+
168
+ 如需新增章节,必须满足:
169
+
170
+ - 是长期规则。
171
+ - 与用户项目有关。
172
+ - 不是初始化日志。
173
+ - 不重复 `.starwork/rules/` 细节。
174
+
175
+ ### 规则文件限制
176
+
177
+ `.starwork/rules/` 可以放定制规则,但必须:
178
+
179
+ - 只写稳定规则。
180
+ - 不写“为什么选择这个方案”的长解释。
181
+ - 不写执行日志。
182
+ - 不写用户没确认的项目事实。
183
+
184
+ ## 举一反三排查
185
+
186
+ 排查所有 Skill 可能污染用户入口文件的路径:
187
+
188
+ - `product/skills/starworkInit/SKILL.md`
189
+ - `product/skills/starworkDoctor/SKILL.md`
190
+ - `product/kit-skills/starworkSpawn/SKILL.md`
191
+ - `product/kit-skills/starworkAudit/SKILL.md`
192
+ - `product/cli/src/cli.js` 中 AGENTS 渲染、规则注入、upgrade/spawn/init blueprint 逻辑
193
+ - `product/core/project-rules-optimization-spec.md`
194
+ - `product/core/kits/project/AGENTS.md`
195
+ - `product/core/profiles/en/templates/AGENTS.md`
196
+
197
+ 排查关键词:
198
+
199
+ ```text
200
+ why this choice
201
+ why这样选
202
+ Folders Not Used
203
+ 后续执行
204
+ dry-run
205
+ doctor
206
+ blueprint
207
+ spec not found
208
+ 本机路径
209
+ 初始化完成
210
+ ```
211
+
212
+ 这些词可出现在 SPEC 或对话模板里,但不能默认出现在生成后的 AGENTS/current-project。
213
+
214
+ ## 验收标准
215
+
216
+ ### AGENTS 文件验收
217
+
218
+ 执行定制初始化后:
219
+
220
+ ```bash
221
+ starwork init --target <tmp> --blueprint <init-blueprint.json> --yes
222
+ ```
223
+
224
+ `AGENTS.md` 必须满足:
225
+
226
+ - 包含 `Read First`。
227
+ - 包含 `Read When Relevant` 或中文等价章节。
228
+ - 明确 identity 读取时机。
229
+ - 明确 lessons 读取时机。
230
+ - 明确 `.starwork/rules/index.md` 的读取时机。
231
+ - 不包含 `Folders Not Used`。
232
+ - 不包含 `Initialized as`。
233
+ - 不包含 `blueprint`。
234
+ - 不包含 `dry-run`。
235
+ - 不包含 `spec file was not found` 或“本机路径下没找到”。
236
+
237
+ ### Skill 输出验收
238
+
239
+ 触发 `starworkInit` 创建定制工作台时,Agent 必须:
240
+
241
+ 1. 采访或确认目标路径。
242
+ 2. 生成 blueprint。
243
+ 3. 运行 `starwork init --blueprint --dry-run`。
244
+ 4. 汇报 dry-run 给用户确认。
245
+ 5. 用户确认后运行 `--yes`。
246
+ 6. 运行 `starwork doctor`。
247
+
248
+ Agent 不得:
249
+
250
+ - 只生成 blueprint 就结束。
251
+ - 把内部 spec 缺失告诉用户。
252
+ - 把执行过程写入 AGENTS/current-project。
253
+
254
+ ### Doctor / Test 验收
255
+
256
+ - 新增测试读取生成后的 AGENTS,断言有 identity/lessons 读取时机。
257
+ - 新增测试断言 AGENTS 不含污染关键词。
258
+ - 新增测试断言 current-project 不含污染关键词。
259
+ - `npm test` 通过。
260
+
261
+ ### 防复发验收
262
+
263
+ - 每个生成 AGENTS 的 Skill 或 CLI path 必须有污染关键词负向测试。
264
+ - 未来新增 Skill 时,必须声明输出通道:对话回复、CLI blueprint、`.starwork/rules/`、项目事实源。
265
+ - 未来新增 blueprint action 时,必须声明可写目标和禁止写入目标。
@@ -0,0 +1,350 @@
1
+ # M2.7 Init GitHub Issues Optimization SPEC
2
+
3
+ ## 状态
4
+
5
+ - 版本:v0.1 draft
6
+ - 所属模块:StarWork CLI / Skills / Core Kit
7
+ - 来源:GitHub Issues #1、#2
8
+ - 目标:修复 A 测中暴露的 `starwork init` 引导和自定义工作台生成问题
9
+ - 优先级:P0
10
+
11
+ ## 背景
12
+
13
+ GitHub 当前新增两个 open issue:
14
+
15
+ 1. [#1 init should confirm target directory and suggest editable project folder names](https://github.com/jennie-shawn/StarWork/issues/1)
16
+ 2. [#2 AGENTS.md generated by init should match custom workspace directories](https://github.com/jennie-shawn/StarWork/issues/2)
17
+
18
+ 这两个问题都发生在用户通过 `starworkInit` 或 `starwork init` 创建工作台的最早阶段。它们不是单纯的文案问题,而是会影响用户信任和 Agent 首次执行方向的问题:
19
+
20
+ - 如果目标目录没有被明确确认,用户可能把 StarWork 初始化到错误位置。
21
+ - 如果自动生成的文件夹名不好,用户会得到一个一开始就别扭的工作台。
22
+ - 如果自定义结构后 `AGENTS.md` 仍引用默认目录,Agent 会被入口规则带偏,创建错误文件或写入不存在目录。
23
+
24
+ ## 一句话目标
25
+
26
+ `init` 必须做到:
27
+
28
+ ```text
29
+ 先确认写到哪里,
30
+ 再确认目录叫什么,
31
+ 最后让 AGENTS.md 只描述真实存在、真实要用的目录。
32
+ ```
33
+
34
+ ## 产品原则
35
+
36
+ ### 1. 用户确认的是“真实落点”,不是抽象参数
37
+
38
+ 用户不应该只看到:
39
+
40
+ ```text
41
+ type=project
42
+ pack=general
43
+ language=zh
44
+ ```
45
+
46
+ 而应该看到:
47
+
48
+ ```text
49
+ 将创建到:/Users/example/work/my-project
50
+ 工作台名称:my-project
51
+ 正式成果:输出/确认成果/
52
+ 日常草稿:输出/草稿/
53
+ 参考资料:参考资料/,默认只读
54
+ ```
55
+
56
+ ### 2. AI 可以建议,但不能替用户决定最终路径
57
+
58
+ `starworkInit` 可以根据项目名建议文件夹名,但必须让用户知道这是可修改的。
59
+
60
+ 推荐话术:
61
+
62
+ ```text
63
+ 我建议文件夹名用 `product-launch-plan`,完整路径是:
64
+ /Users/example/work/product-launch-plan
65
+
66
+ 你可以直接用这个,也可以改成你更喜欢的名字。
67
+ 确认后我再执行 dry-run。
68
+ ```
69
+
70
+ ### 3. `AGENTS.md` 必须从最终目录计划生成
71
+
72
+ 自定义工作台中,`AGENTS.md` 不能再从默认模板里硬套:
73
+
74
+ - `输出/草稿/`
75
+ - `输出/确认成果/`
76
+ - `参考资料/`
77
+ - 其他已被用户删除或改名的目录
78
+
79
+ 它必须从最终 blueprint / directory plan 中生成,确保:
80
+
81
+ - 提到的目录都存在,或被明确标记为 planned placeholder。
82
+ - 每个自定义业务目录都有一句用途说明。
83
+ - 不泄漏默认 Pack、旧模板或 legacy 路径。
84
+
85
+ ## 影响范围
86
+
87
+ | 模块 | 需要调整 |
88
+ |---|---|
89
+ | `product/skills/starworkInit/` | 增加目标路径确认、文件夹名建议、执行前确认链路。 |
90
+ | `product/cli/src/cli.js` | dry-run 输出最终 target;custom blueprint 渲染 AGENTS 时从最终目录计划生成。 |
91
+ | `product/cli/init-spec.md` | 同步 init 交互与确认规则。 |
92
+ | `product/skills/starworkInit-spec.md` | 同步 skill 采访流程。 |
93
+ | `product/core/kits/project/AGENTS.md` | 确认默认模板只描述默认目录,不强行覆盖 custom 结构。 |
94
+ | `doctor` | 增加或扩展 AGENTS 引用不存在目录的检查。 |
95
+ | tests | 增加自定义目录重命名 / 删除默认目录的回归测试。 |
96
+
97
+ ## Issue #1 方案:目标目录和文件夹名确认
98
+
99
+ ### 当前问题
100
+
101
+ 用户通过 AI 引导创建工作台时,可能没有清楚确认:
102
+
103
+ - 文件将写入哪个目录。
104
+ - 新建文件夹叫什么。
105
+ - AI 自动建议的文件夹名是否符合用户习惯。
106
+
107
+ ### 目标行为
108
+
109
+ `starworkInit` 的最终执行建议必须包含:
110
+
111
+ ```text
112
+ 工作台类型
113
+ 语言
114
+ Pack
115
+ 工作台名称
116
+ 目标目录绝对路径
117
+ 是否新建目录
118
+ 正式成果目录
119
+ 日常草稿目录
120
+ 执行命令
121
+ ```
122
+
123
+ 并在真正执行前询问用户确认。
124
+
125
+ ### 文件夹名生成规则
126
+
127
+ 当用户只提供项目名而没有指定文件夹名时,AI 可以建议默认文件夹名。
128
+
129
+ 建议规则:
130
+
131
+ 1. 中文项目名可以生成拼音 / 英文短语 / 用户原文安全化版本,但必须可读。
132
+ 2. 英文项目名转为小写短横线。
133
+ 3. 去掉路径非法字符。
134
+ 4. 不使用过长、难懂、带内部术语的名字。
135
+ 5. 如果目标目录已存在且非空,必须提示风险,不自动写入。
136
+
137
+ 示例:
138
+
139
+ | 用户项目名 | 可建议文件夹名 |
140
+ |---|---|
141
+ | 产品发布计划 | `product-launch-plan` 或 `chanpin-fabu-jihua` |
142
+ | My Writing System | `my-writing-system` |
143
+ | 2026 私域复盘 | `2026-private-domain-review` |
144
+
145
+ ### CLI dry-run 输出要求
146
+
147
+ `starwork init --dry-run` 必须清楚显示:
148
+
149
+ ```text
150
+ 将创建工作台:
151
+ - 类型:项目工作台
152
+ - 语言:中文
153
+ - Pack:general
154
+ - 目标目录:/absolute/path/to/workspace
155
+ - 将创建的新目录:/absolute/path/to/workspace
156
+ ```
157
+
158
+ 如果 `--target` 是相对路径,也要显示解析后的绝对路径。
159
+
160
+ ### Skill 执行链路
161
+
162
+ `starworkInit` 应使用三步执行链路:
163
+
164
+ ```text
165
+ 1. 生成建议路径和文件夹名
166
+ 2. 请求用户确认或修改
167
+ 3. 先 dry-run,再执行 --yes
168
+ ```
169
+
170
+ 不能直接从“用户说可以”跳到 `--yes`,除非用户已经明确确认了最终绝对路径。
171
+
172
+ ## Issue #2 方案:自定义结构后的 AGENTS 一致性
173
+
174
+ ### 当前问题
175
+
176
+ 用户定制工作台目录后,`AGENTS.md` 仍出现默认目录,例如:
177
+
178
+ - `输出/草稿/`
179
+ - `参考资料/`
180
+
181
+ 但这些目录可能已经被用户删除、重命名或替换。这会导致 Agent 入口规则和实际工作台结构冲突。
182
+
183
+ ### 目标行为
184
+
185
+ 当使用 init blueprint 或 custom structure 时:
186
+
187
+ 1. `AGENTS.md` 只引用最终存在的目录。
188
+ 2. 如果某个目录是计划占位,必须明确写成“计划目录”,不能假装已经存在。
189
+ 3. `AGENTS.md` 增加“工作区目录说明”段落,列出自定义目录和使用场景。
190
+ 4. 默认 Pack 目录名不应泄漏到 custom 结构中,除非它们仍在最终目录计划里。
191
+
192
+ ### 推荐 AGENTS 结构
193
+
194
+ 自定义项目的 `AGENTS.md` 应包含:
195
+
196
+ ```markdown
197
+ ## 开始前先读
198
+
199
+ 1. `_系统/上下文/当前项目.md`
200
+ 2. `_系统/任务/当前工作.md`
201
+
202
+ ## 工作区目录说明
203
+
204
+ | 目录 | 用途 | 写入规则 |
205
+ |---|---|---|
206
+ | `资料库/` | 存放用户提供的原始资料和参考信息。 | 默认只读;不要改写原始资料。 |
207
+ | `工作稿/` | 存放 AI 生成的草稿、方案和中间版本。 | 可以写入。 |
208
+ | `定稿/` | 存放用户确认后的最终成果。 | 写入前需要用户确认。 |
209
+
210
+ ## 写入边界
211
+
212
+ - 原始资料不改写。
213
+ - 草稿先进入 `工作稿/`。
214
+ - 用户确认后的成果进入 `定稿/`。
215
+ ```
216
+
217
+ ### Blueprint 数据要求
218
+
219
+ init blueprint 需要有足够信息生成目录说明。
220
+
221
+ 建议新增或稳定字段:
222
+
223
+ ```json
224
+ {
225
+ "directories": [
226
+ {
227
+ "path": "资料库/",
228
+ "purpose": "存放用户提供的原始资料和参考信息",
229
+ "write_policy": "read_only_by_default"
230
+ },
231
+ {
232
+ "path": "工作稿/",
233
+ "purpose": "存放 AI 生成的草稿、方案和中间版本",
234
+ "write_policy": "writable"
235
+ },
236
+ {
237
+ "path": "定稿/",
238
+ "purpose": "存放用户确认后的最终成果",
239
+ "write_policy": "confirm_before_write"
240
+ }
241
+ ]
242
+ }
243
+ ```
244
+
245
+ 如暂不扩展 schema,也必须从现有 `folders`、`paths`、`agent_rules` 中组装出等价信息。
246
+
247
+ ### 渲染规则
248
+
249
+ 生成 `AGENTS.md` 时,规则来源优先级:
250
+
251
+ 1. 用户确认后的 custom directory plan。
252
+ 2. blueprint 中的 `paths.formal_source` 和 `paths.business_work_area`。
253
+ 3. 安装后的 Pack 路径。
254
+ 4. Project Kit 默认路径。
255
+
256
+ 高优先级已经覆盖低优先级时,低优先级目录不应再出现在 `AGENTS.md` 中。
257
+
258
+ ## Doctor 检查增强
259
+
260
+ doctor 应新增通用检查:
261
+
262
+ ```text
263
+ agents.references.existing_paths
264
+ ```
265
+
266
+ 检查范围:
267
+
268
+ - `AGENTS.md`
269
+ - `CLAUDE.md`
270
+ - `.starwork/rules/index.md`
271
+ - `.starwork/rules/*.md`
272
+
273
+ 检查逻辑:
274
+
275
+ 1. 提取文档中的相对目录 / 文件路径。
276
+ 2. 忽略命令示例、URL、代码包名、明显不是路径的文本。
277
+ 3. 对工作台内路径做存在性检查。
278
+ 4. 如果路径不存在且未被标记为 planned placeholder,输出 warn。
279
+
280
+ 示例 warning:
281
+
282
+ ```text
283
+ AGENTS.md 提到了 `输出/草稿/`,但当前工作台没有这个目录。
284
+ 如果这是旧模板残留,建议更新入口规则;如果这是计划目录,请在规则中标注为计划目录。
285
+ ```
286
+
287
+ ## 测试计划
288
+
289
+ ### CLI 单元 / 集成测试
290
+
291
+ 新增测试:
292
+
293
+ 1. `init --dry-run --target ./foo` 输出绝对路径。
294
+ 2. `init --blueprint custom --dry-run` 输出最终 target 和将创建目录。
295
+ 3. custom blueprint 删除 `输出/草稿/`、`参考资料/` 后,生成的 `AGENTS.md` 不包含这些目录。
296
+ 4. custom blueprint 使用 `资料库/`、`工作稿/`、`定稿/` 后,`AGENTS.md` 包含目录说明表。
297
+ 5. doctor 对引用不存在目录的 `AGENTS.md` 输出 warn。
298
+ 6. doctor 对 planned placeholder 不输出误报。
299
+
300
+ ### Skill 回归测试
301
+
302
+ 对 `starworkInit/SKILL.md` 做人工 fixture 检查:
303
+
304
+ 1. 用户只说项目名时,skill 会建议可编辑文件夹名。
305
+ 2. 用户没有确认目标路径时,skill 不执行 `--yes`。
306
+ 3. 用户要求自定义目录时,skill 会采访每个目录的用途和写入规则。
307
+ 4. skill 输出最终执行建议时,包含完整 target path 和 dry-run 命令。
308
+
309
+ ## 实施顺序
310
+
311
+ ### Phase 1:Skill 先收口
312
+
313
+ - 更新 `starworkInit/SKILL.md`
314
+ - 更新 `starworkInit-spec.md`
315
+ - 要求最终建议必须确认 target path
316
+ - 要求自定义目录采访收集用途和写入规则
317
+
318
+ ### Phase 2:CLI dry-run 和 folder naming
319
+
320
+ - dry-run 输出绝对 target
321
+ - 增加 folder name 建议逻辑,或在 skill 层先实现建议,CLI 只负责展示
322
+ - 确保 `--target` override 永远优先生效
323
+
324
+ ### Phase 3:AGENTS custom renderer
325
+
326
+ - 让 custom init 的 `AGENTS.md` 从最终 directory plan 生成
327
+ - 清理默认目录泄漏
328
+ - 增加目录说明段落
329
+
330
+ ### Phase 4:doctor 防复发
331
+
332
+ - 实现 `agents.references.existing_paths`
333
+ - 给 custom init 加回归测试
334
+ - 给旧路径引用加 warn 测试
335
+
336
+ ## 验收标准
337
+
338
+ - GitHub #1:用户通过 guided init 时,最终执行前能看到并确认绝对目标路径和可编辑文件夹名。
339
+ - GitHub #2:自定义目录生成的 `AGENTS.md` 不再引用不存在的默认目录,并能解释每个自定义目录的用途。
340
+ - `npm test` 全部通过。
341
+ - `npm --cache /private/tmp/starwork-npm-cache pack --dry-run` 通过。
342
+ - 新增至少 4 个覆盖 issue 场景的测试。
343
+
344
+ ## 非目标
345
+
346
+ - 本 SPEC 不重新设计 Kit / Pack / Hub / Satellite 的产品边界。
347
+ - 本 SPEC 不实现新的业务 Pack。
348
+ - 本 SPEC 不把 `satellite-starter` 是否保留作为前置条件。
349
+ - 本 SPEC 不要求 CLI 在纯命令行交互中完成所有 AI 采访;复杂采访仍由 `starworkInit` skill 承担。
350
+