intent-planner 0.13.1

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 (334) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +225 -0
  3. package/README.md +225 -0
  4. package/bin/cli.mjs +289 -0
  5. package/package.json +46 -0
  6. package/src/install.mjs +527 -0
  7. package/templates/en/agents/claude/CLAUDE.md +62 -0
  8. package/templates/en/agents/codex/AGENTS.md +62 -0
  9. package/templates/en/agents/gemini/GEMINI.md +62 -0
  10. package/templates/en/claude/skills/CONTRACT.md +86 -0
  11. package/templates/en/claude/skills/intent-compass/SKILL.md +55 -0
  12. package/templates/en/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
  13. package/templates/en/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  14. package/templates/en/claude/skills/intent-discover/SKILL.md +63 -0
  15. package/templates/en/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  16. package/templates/en/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  17. package/templates/en/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  18. package/templates/en/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  19. package/templates/en/claude/skills/intent-discover/rules/designer-questions.md +78 -0
  20. package/templates/en/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
  21. package/templates/en/claude/skills/intent-discover/rules/mode-selection.md +31 -0
  22. package/templates/en/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
  23. package/templates/en/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  24. package/templates/en/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  25. package/templates/en/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  26. package/templates/en/claude/skills/intent-export-openspec/SKILL.md +90 -0
  27. package/templates/en/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  28. package/templates/en/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
  29. package/templates/en/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  30. package/templates/en/claude/skills/intent-from-spec/SKILL.md +60 -0
  31. package/templates/en/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
  32. package/templates/en/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
  33. package/templates/en/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
  34. package/templates/en/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
  35. package/templates/en/claude/skills/intent-improve/SKILL.md +70 -0
  36. package/templates/en/claude/skills/intent-improve/rules/improve-axes.md +121 -0
  37. package/templates/en/claude/skills/intent-overview/SKILL.md +63 -0
  38. package/templates/en/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
  39. package/templates/en/claude/skills/intent-overview/rules/gap-readout.md +54 -0
  40. package/templates/en/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
  41. package/templates/en/claude/skills/intent-overview/rules/progress-readout.md +119 -0
  42. package/templates/en/claude/skills/intent-packets/SKILL.md +97 -0
  43. package/templates/en/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  44. package/templates/en/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  45. package/templates/en/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  46. package/templates/en/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  47. package/templates/en/claude/skills/intent-packets/rules/decision-slots.md +88 -0
  48. package/templates/en/claude/skills/intent-packets/rules/export-route.md +54 -0
  49. package/templates/en/claude/skills/intent-packets/rules/first-packet.md +35 -0
  50. package/templates/en/claude/skills/intent-packets/rules/packet-format.md +207 -0
  51. package/templates/en/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
  52. package/templates/en/claude/skills/intent-release-note/SKILL.md +58 -0
  53. package/templates/en/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
  54. package/templates/en/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
  55. package/templates/en/claude/skills/intent-release-note/rules/format-select.md +32 -0
  56. package/templates/en/claude/skills/intent-release-note/rules/source-scope.md +42 -0
  57. package/templates/en/claude/skills/intent-status/SKILL.md +171 -0
  58. package/templates/en/claude/skills/intent-status/rules/decision-table.md +47 -0
  59. package/templates/en/claude/skills/intent-to-spec/SKILL.md +68 -0
  60. package/templates/en/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  61. package/templates/en/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
  62. package/templates/en/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  63. package/templates/en/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
  64. package/templates/en/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
  65. package/templates/en/claude/skills/intent-validate/SKILL.md +80 -0
  66. package/templates/en/claude/skills/intent-validate/rules/validate-checks.md +121 -0
  67. package/templates/en/claude/skills/intent-writeback/SKILL.md +71 -0
  68. package/templates/en/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  69. package/templates/en/codex/skills/CONTRACT.md +77 -0
  70. package/templates/en/codex/skills/intent-compass/SKILL.md +52 -0
  71. package/templates/en/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
  72. package/templates/en/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  73. package/templates/en/codex/skills/intent-discover/SKILL.md +60 -0
  74. package/templates/en/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  75. package/templates/en/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  76. package/templates/en/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  77. package/templates/en/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  78. package/templates/en/codex/skills/intent-discover/rules/designer-questions.md +78 -0
  79. package/templates/en/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
  80. package/templates/en/codex/skills/intent-discover/rules/mode-selection.md +31 -0
  81. package/templates/en/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
  82. package/templates/en/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  83. package/templates/en/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  84. package/templates/en/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  85. package/templates/en/codex/skills/intent-export-openspec/SKILL.md +87 -0
  86. package/templates/en/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  87. package/templates/en/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
  88. package/templates/en/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  89. package/templates/en/codex/skills/intent-from-spec/SKILL.md +58 -0
  90. package/templates/en/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
  91. package/templates/en/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
  92. package/templates/en/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
  93. package/templates/en/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
  94. package/templates/en/codex/skills/intent-improve/SKILL.md +67 -0
  95. package/templates/en/codex/skills/intent-improve/rules/improve-axes.md +121 -0
  96. package/templates/en/codex/skills/intent-overview/SKILL.md +61 -0
  97. package/templates/en/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
  98. package/templates/en/codex/skills/intent-overview/rules/gap-readout.md +54 -0
  99. package/templates/en/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
  100. package/templates/en/codex/skills/intent-overview/rules/progress-readout.md +119 -0
  101. package/templates/en/codex/skills/intent-packets/SKILL.md +94 -0
  102. package/templates/en/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  103. package/templates/en/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  104. package/templates/en/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  105. package/templates/en/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  106. package/templates/en/codex/skills/intent-packets/rules/decision-slots.md +88 -0
  107. package/templates/en/codex/skills/intent-packets/rules/export-route.md +54 -0
  108. package/templates/en/codex/skills/intent-packets/rules/first-packet.md +35 -0
  109. package/templates/en/codex/skills/intent-packets/rules/packet-format.md +207 -0
  110. package/templates/en/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
  111. package/templates/en/codex/skills/intent-release-note/SKILL.md +56 -0
  112. package/templates/en/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
  113. package/templates/en/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
  114. package/templates/en/codex/skills/intent-release-note/rules/format-select.md +32 -0
  115. package/templates/en/codex/skills/intent-release-note/rules/source-scope.md +42 -0
  116. package/templates/en/codex/skills/intent-status/SKILL.md +169 -0
  117. package/templates/en/codex/skills/intent-status/rules/decision-table.md +47 -0
  118. package/templates/en/codex/skills/intent-to-spec/SKILL.md +66 -0
  119. package/templates/en/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  120. package/templates/en/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
  121. package/templates/en/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  122. package/templates/en/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
  123. package/templates/en/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
  124. package/templates/en/codex/skills/intent-validate/SKILL.md +78 -0
  125. package/templates/en/codex/skills/intent-validate/rules/validate-checks.md +121 -0
  126. package/templates/en/codex/skills/intent-writeback/SKILL.md +68 -0
  127. package/templates/en/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  128. package/templates/en/intent/README.md +118 -0
  129. package/templates/en/intent/cc-sdd/README.md +28 -0
  130. package/templates/en/intent/compass-archive/README.md +9 -0
  131. package/templates/en/intent/compass-archive/archive/.gitkeep +0 -0
  132. package/templates/en/intent/compass-archive.md +7 -0
  133. package/templates/en/intent/constraint-library.md +32 -0
  134. package/templates/en/intent/constraint-starters.md +58 -0
  135. package/templates/en/intent/context-cost-cues.md +55 -0
  136. package/templates/en/intent/deltas/README.md +11 -0
  137. package/templates/en/intent/deltas/archive/.gitkeep +0 -0
  138. package/templates/en/intent/deltas.md +34 -0
  139. package/templates/en/intent/drift-log/README.md +11 -0
  140. package/templates/en/intent/drift-log/archive/.gitkeep +0 -0
  141. package/templates/en/intent/drift-log.md +41 -0
  142. package/templates/en/intent/drift-patterns.md +68 -0
  143. package/templates/en/intent/export-log/README.md +12 -0
  144. package/templates/en/intent/export-log/archive/.gitkeep +0 -0
  145. package/templates/en/intent/export-log.md +6 -0
  146. package/templates/en/intent/glossary.md +23 -0
  147. package/templates/en/intent/intent-compass.md +55 -0
  148. package/templates/en/intent/intent-tree.md +59 -0
  149. package/templates/en/intent/milestones/README.md +10 -0
  150. package/templates/en/intent/milestones/archive/.gitkeep +0 -0
  151. package/templates/en/intent/milestones.md +22 -0
  152. package/templates/en/intent/mode.local.md +23 -0
  153. package/templates/en/intent/mode.md +32 -0
  154. package/templates/en/intent/modes/README.md +28 -0
  155. package/templates/en/intent/modes/behavior-unknown.md +57 -0
  156. package/templates/en/intent/modes/feature-growth.md +57 -0
  157. package/templates/en/intent/modes/non-code.md +46 -0
  158. package/templates/en/intent/modes/refactor.md +56 -0
  159. package/templates/en/intent/modes/standard.md +50 -0
  160. package/templates/en/intent/nl-spec/README.md +18 -0
  161. package/templates/en/intent/openspec/proposal.md +15 -0
  162. package/templates/en/intent/openspec/spec-delta.md +25 -0
  163. package/templates/en/intent/overview/README.md +18 -0
  164. package/templates/en/intent/packets/README.md +29 -0
  165. package/templates/en/intent/packets/index.md +6 -0
  166. package/templates/en/intent/packets/plan.md +23 -0
  167. package/templates/en/intent/release-note/README.md +18 -0
  168. package/templates/en/intent/scripts/intent-check.mjs +786 -0
  169. package/templates/en/intent/scripts/pre-push +27 -0
  170. package/templates/en/intent/spec-ingest/README.md +18 -0
  171. package/templates/ja/agents/claude/CLAUDE.md +62 -0
  172. package/templates/ja/agents/codex/AGENTS.md +62 -0
  173. package/templates/ja/agents/gemini/GEMINI.md +62 -0
  174. package/templates/ja/claude/skills/CONTRACT.md +90 -0
  175. package/templates/ja/claude/skills/intent-compass/SKILL.md +55 -0
  176. package/templates/ja/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
  177. package/templates/ja/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  178. package/templates/ja/claude/skills/intent-discover/SKILL.md +63 -0
  179. package/templates/ja/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  180. package/templates/ja/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  181. package/templates/ja/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  182. package/templates/ja/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  183. package/templates/ja/claude/skills/intent-discover/rules/designer-questions.md +78 -0
  184. package/templates/ja/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
  185. package/templates/ja/claude/skills/intent-discover/rules/mode-selection.md +31 -0
  186. package/templates/ja/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
  187. package/templates/ja/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  188. package/templates/ja/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  189. package/templates/ja/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  190. package/templates/ja/claude/skills/intent-export-openspec/SKILL.md +90 -0
  191. package/templates/ja/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  192. package/templates/ja/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
  193. package/templates/ja/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  194. package/templates/ja/claude/skills/intent-from-spec/SKILL.md +60 -0
  195. package/templates/ja/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
  196. package/templates/ja/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
  197. package/templates/ja/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
  198. package/templates/ja/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
  199. package/templates/ja/claude/skills/intent-improve/SKILL.md +70 -0
  200. package/templates/ja/claude/skills/intent-improve/rules/improve-axes.md +121 -0
  201. package/templates/ja/claude/skills/intent-overview/SKILL.md +63 -0
  202. package/templates/ja/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
  203. package/templates/ja/claude/skills/intent-overview/rules/gap-readout.md +54 -0
  204. package/templates/ja/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
  205. package/templates/ja/claude/skills/intent-overview/rules/progress-readout.md +119 -0
  206. package/templates/ja/claude/skills/intent-packets/SKILL.md +97 -0
  207. package/templates/ja/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  208. package/templates/ja/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  209. package/templates/ja/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  210. package/templates/ja/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  211. package/templates/ja/claude/skills/intent-packets/rules/decision-slots.md +88 -0
  212. package/templates/ja/claude/skills/intent-packets/rules/export-route.md +54 -0
  213. package/templates/ja/claude/skills/intent-packets/rules/first-packet.md +35 -0
  214. package/templates/ja/claude/skills/intent-packets/rules/packet-format.md +207 -0
  215. package/templates/ja/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
  216. package/templates/ja/claude/skills/intent-release-note/SKILL.md +58 -0
  217. package/templates/ja/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
  218. package/templates/ja/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
  219. package/templates/ja/claude/skills/intent-release-note/rules/format-select.md +32 -0
  220. package/templates/ja/claude/skills/intent-release-note/rules/source-scope.md +42 -0
  221. package/templates/ja/claude/skills/intent-status/SKILL.md +171 -0
  222. package/templates/ja/claude/skills/intent-status/rules/decision-table.md +47 -0
  223. package/templates/ja/claude/skills/intent-to-spec/SKILL.md +68 -0
  224. package/templates/ja/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  225. package/templates/ja/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
  226. package/templates/ja/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  227. package/templates/ja/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
  228. package/templates/ja/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
  229. package/templates/ja/claude/skills/intent-validate/SKILL.md +80 -0
  230. package/templates/ja/claude/skills/intent-validate/rules/validate-checks.md +121 -0
  231. package/templates/ja/claude/skills/intent-writeback/SKILL.md +71 -0
  232. package/templates/ja/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  233. package/templates/ja/codex/skills/CONTRACT.md +81 -0
  234. package/templates/ja/codex/skills/intent-compass/SKILL.md +52 -0
  235. package/templates/ja/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
  236. package/templates/ja/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  237. package/templates/ja/codex/skills/intent-discover/SKILL.md +60 -0
  238. package/templates/ja/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  239. package/templates/ja/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  240. package/templates/ja/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  241. package/templates/ja/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  242. package/templates/ja/codex/skills/intent-discover/rules/designer-questions.md +78 -0
  243. package/templates/ja/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
  244. package/templates/ja/codex/skills/intent-discover/rules/mode-selection.md +31 -0
  245. package/templates/ja/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
  246. package/templates/ja/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  247. package/templates/ja/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  248. package/templates/ja/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  249. package/templates/ja/codex/skills/intent-export-openspec/SKILL.md +87 -0
  250. package/templates/ja/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  251. package/templates/ja/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
  252. package/templates/ja/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  253. package/templates/ja/codex/skills/intent-from-spec/SKILL.md +58 -0
  254. package/templates/ja/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
  255. package/templates/ja/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
  256. package/templates/ja/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
  257. package/templates/ja/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
  258. package/templates/ja/codex/skills/intent-improve/SKILL.md +67 -0
  259. package/templates/ja/codex/skills/intent-improve/rules/improve-axes.md +121 -0
  260. package/templates/ja/codex/skills/intent-overview/SKILL.md +61 -0
  261. package/templates/ja/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
  262. package/templates/ja/codex/skills/intent-overview/rules/gap-readout.md +54 -0
  263. package/templates/ja/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
  264. package/templates/ja/codex/skills/intent-overview/rules/progress-readout.md +119 -0
  265. package/templates/ja/codex/skills/intent-packets/SKILL.md +94 -0
  266. package/templates/ja/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  267. package/templates/ja/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  268. package/templates/ja/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  269. package/templates/ja/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  270. package/templates/ja/codex/skills/intent-packets/rules/decision-slots.md +88 -0
  271. package/templates/ja/codex/skills/intent-packets/rules/export-route.md +54 -0
  272. package/templates/ja/codex/skills/intent-packets/rules/first-packet.md +35 -0
  273. package/templates/ja/codex/skills/intent-packets/rules/packet-format.md +207 -0
  274. package/templates/ja/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
  275. package/templates/ja/codex/skills/intent-release-note/SKILL.md +56 -0
  276. package/templates/ja/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
  277. package/templates/ja/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
  278. package/templates/ja/codex/skills/intent-release-note/rules/format-select.md +32 -0
  279. package/templates/ja/codex/skills/intent-release-note/rules/source-scope.md +42 -0
  280. package/templates/ja/codex/skills/intent-status/SKILL.md +169 -0
  281. package/templates/ja/codex/skills/intent-status/rules/decision-table.md +47 -0
  282. package/templates/ja/codex/skills/intent-to-spec/SKILL.md +66 -0
  283. package/templates/ja/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  284. package/templates/ja/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
  285. package/templates/ja/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  286. package/templates/ja/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
  287. package/templates/ja/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
  288. package/templates/ja/codex/skills/intent-validate/SKILL.md +78 -0
  289. package/templates/ja/codex/skills/intent-validate/rules/validate-checks.md +121 -0
  290. package/templates/ja/codex/skills/intent-writeback/SKILL.md +68 -0
  291. package/templates/ja/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  292. package/templates/ja/intent/README.md +118 -0
  293. package/templates/ja/intent/cc-sdd/README.md +28 -0
  294. package/templates/ja/intent/compass-archive/README.md +9 -0
  295. package/templates/ja/intent/compass-archive/archive/.gitkeep +0 -0
  296. package/templates/ja/intent/compass-archive.md +7 -0
  297. package/templates/ja/intent/constraint-library.md +32 -0
  298. package/templates/ja/intent/constraint-starters.md +58 -0
  299. package/templates/ja/intent/context-cost-cues.md +55 -0
  300. package/templates/ja/intent/deltas/README.md +11 -0
  301. package/templates/ja/intent/deltas/archive/.gitkeep +0 -0
  302. package/templates/ja/intent/deltas.md +34 -0
  303. package/templates/ja/intent/drift-log/README.md +11 -0
  304. package/templates/ja/intent/drift-log/archive/.gitkeep +0 -0
  305. package/templates/ja/intent/drift-log.md +41 -0
  306. package/templates/ja/intent/drift-patterns.md +68 -0
  307. package/templates/ja/intent/export-log/README.md +12 -0
  308. package/templates/ja/intent/export-log/archive/.gitkeep +0 -0
  309. package/templates/ja/intent/export-log.md +6 -0
  310. package/templates/ja/intent/glossary.md +23 -0
  311. package/templates/ja/intent/intent-compass.md +55 -0
  312. package/templates/ja/intent/intent-tree.md +59 -0
  313. package/templates/ja/intent/milestones/README.md +10 -0
  314. package/templates/ja/intent/milestones/archive/.gitkeep +0 -0
  315. package/templates/ja/intent/milestones.md +22 -0
  316. package/templates/ja/intent/mode.local.md +23 -0
  317. package/templates/ja/intent/mode.md +32 -0
  318. package/templates/ja/intent/modes/README.md +28 -0
  319. package/templates/ja/intent/modes/behavior-unknown.md +57 -0
  320. package/templates/ja/intent/modes/feature-growth.md +57 -0
  321. package/templates/ja/intent/modes/non-code.md +46 -0
  322. package/templates/ja/intent/modes/refactor.md +56 -0
  323. package/templates/ja/intent/modes/standard.md +50 -0
  324. package/templates/ja/intent/nl-spec/README.md +18 -0
  325. package/templates/ja/intent/openspec/proposal.md +15 -0
  326. package/templates/ja/intent/openspec/spec-delta.md +25 -0
  327. package/templates/ja/intent/overview/README.md +18 -0
  328. package/templates/ja/intent/packets/README.md +29 -0
  329. package/templates/ja/intent/packets/index.md +6 -0
  330. package/templates/ja/intent/packets/plan.md +23 -0
  331. package/templates/ja/intent/release-note/README.md +18 -0
  332. package/templates/ja/intent/scripts/intent-check.mjs +786 -0
  333. package/templates/ja/intent/scripts/pre-push +27 -0
  334. package/templates/ja/intent/spec-ingest/README.md +18 -0
@@ -0,0 +1,171 @@
1
+ ---
2
+ name: intent-status
3
+ description: .intent/ の現状を読み取り、現在地の要約と「次の一手」をちょうど1つ推奨する読み取り専用の案内スキル。ファイルの作成・変更・削除は一切しない。
4
+ allowed-tools: Read, Glob, Grep, Bash
5
+ argument-hint: なし
6
+ ---
7
+
8
+ # intent-status Skill
9
+
10
+ ## Core Mission
11
+ - **Success Criteria**:
12
+ - `.intent/` 配下の成果物(mode・intent-tree・intent-compass・packets/ の index と packet ファイル群・packet 毎ディレクトリの cc-sdd 下書き群・deltas)の存在と記入状態を読み取り、現在地の要約を提示している
13
+ - `.intent/packets/index.md` と `active/` 配下の実体の整合(index に無い packet・実体の無い行・name / state / summary の不一致)、active/ 内の done / superseded_by 記入済みファイルの滞留、export-log 最新行の packet の active/ 不在(archive 在中)を検査し、違反を現在地サマリで報告している
14
+ - 孤児 spec 検査: `.kiro/specs/` に進行/完了している spec があるのに、`active/` のどの packet・`deltas.md` のどの delta ともテキスト照合できない場合、「起草されていない実装の可能性(Packet を経ずに実装された疑い)」として詳細に併記している(断定せず候補提示。照合不能は常態として誤検知を許容し、次の一手の first-match は奪わない。`.kiro/specs/` 不在の環境ではこの検査を行わない)
15
+ - intent-tree 起票漏れ検査(discover スキップ): `.kiro/specs/` に設計/実装が進んだ spec があるのに、`.intent/intent-tree.md` の **L0〜L4 の見出し・本文**(O#/C#/B#/P# のような ID アンカーは intent-planner に存在しないためテキスト照合のみで判定する)のどれともテキスト照合できない場合、「intent-tree に起票されていない実装の可能性(discover スキップ)」として詳細に併記している(断定せず候補提示。照合不能は常態として誤検知を許容し、次の一手の first-match は奪わない。`.intent/intent-tree.md` 不在または `.kiro/specs/` 不在の環境ではこの検査を行わない)。この起票漏れ(tree 層)・既存の孤児 spec 検査(Packet 層)・writeback 漏れ(下流層)を3階層で棲み分け、同一 spec が複数層に該当する場合は最上流の1層でのみ提示して二重警告を出さない
16
+ - 報告冒頭にミニ工程レール(全 packet を5信号 ✅/🔵/⚪/🔴/◻ で縦に並べ、各行に `[現在の工程 → 次に通る工程]` を併記する)を置き、「いまどの packet が 🔵 今ここで・この後どの工程が残り・どこに ⚪ 残工程 / 🔴 反映漏れがあるか」を一望できるようにしている。内部用語(突合手順・整合検査・enforcement 用語)は冒頭でなく詳細(後段)に退避している
17
+ - 「次の一手」を `rules/decision-table.md` の first-match でちょうど1つ推奨し、推奨理由と判断根拠(どの成果物のどの状態に基づくか)を併記している
18
+ - 推奨候補を discover / compass / packets / export / validate / improve / writeback / 「アクション不要」の中から選定している
19
+ - mode.md の enforcement が remind または gate のとき intent-check による鮮度検査を行い、違反(判定行の `result=stale` または `pending` が 1 以上)の検出時は現在地サマリに intent-check の stdout を引用した鮮度警告を併記している(off・未記載・不正値・実行不可のときは現行どおり警告を出さない)
20
+ - mode.md の drift-watch が `on` のとき drift-log を読んで軽い集計(`caught N / missed N / false-positive N / unjudged N`)を現在地サマリに1ブロック併記している(off・未記載・不正値・セクション不在・mode.md 不在のときは併記せず現行どおり続行する)。drift-log は読むのみで書き込まない(read-only 維持)
21
+ - intent-compass.md の節更新日(`Updated (Invariants):` / `Updated (Decision Rules):`)と active/ 配下 packet の `updated_at` を Read/Glob/Grep のみで照合し、「compass 更新後に未追随」の packet 件数が閾値以上のとき `/intent-validate` を頃合いとして推奨し(決定表 row 12)、その根拠(どの節が更新後・未追随が何件か)を併記している。確定診断はせず概算にとどめ、閾値未満では提案しない(read-only 維持)
22
+ - `.intent/milestones.md` の各 event を Read/Glob/Grep のみで読み、event 記録日時より後に「compass の `Updated (Decision Rules):` 反映打刻」または「deltas の該当 Decision 参照」のいずれも無いものを「未消化 milestone(記録済みだが対応する見直しが未処理)」として把握し、残課題として現在地報告に併記している(Step 3.6 と同型の ISO 8601 辞書順・両端実打刻ペアのみの比較。断定せず候補提示。`.intent/milestones.md` 不在時はこの検査を省略する。read-only 維持)
23
+ - ファイルの作成・変更・削除を一切行っていない(read-only)
24
+ - 出力中の主要術語に、その意味の一行説明を `術語(説明)` の形で常時併記している
25
+
26
+ ## Execution Steps
27
+
28
+ ### Step 1: `.intent/` の存在を確認する
29
+ - `.intent/` が存在しなければ、セットアップ手順(`npx intent-planner` の実行)を案内して終了する。
30
+ - `.intent/mode.local.md`(無ければ旧 `.intent/mode.md`)の mode 状態を読む。どちらにも無ければ standard 既定で続行し、Open Questions に「モード未確定・`/intent-discover` 推奨」を併記する(停止しない)。Enforcement / Drift-watch は `.intent/mode.md` を読む。
31
+
32
+ ### Step 2: 成果物を読み取る
33
+ - `.intent/intent-tree.md` / `.intent/intent-compass.md` / `.intent/packets/index.md` と対象 packet ファイル(`.intent/packets/active/` 配下。通常の処理ではこの2種のみを読み、全 packet ファイルの本文丸読みをしない)/ `.intent/cc-sdd/<スラッグ>/*.md`(packet 毎ディレクトリの下書き群)/ `deltas`(分割形 `.intent/deltas/*.md` 群があれば正本・無ければ旧 `.intent/deltas.md` ミラー。`rules/decision-table.md` 脚注10の分割形横断読み)を読み、それぞれの 有/無/未記入 と特記事項(未解決 Question、Status: pending の delta、「保留」タグ付き見送り項目など)を把握する。
34
+ - packets 整合検査: `.intent/packets/index.md` と `.intent/packets/active/` 配下の実体を突合し(実体側は各ファイルの frontmatter のみを読む)、乖離 — index に無い packet・実体の無い行・name / state / summary の不一致 — を整合違反として把握する。あわせて active/ 配下に `state: done` または `superseded_by` 記入済みの packet ファイルが滞留していれば、その滞留も整合違反として把握する(報告のみ。自動修復はしない)。
35
+ - index.md が不在の場合は、`active/` 配下の frontmatter から直接一覧を構成して処理を継続し、Step 5 で index の再生成(canonical を変更する skill の実行)を促す。
36
+ - 現行 Source Packet(最新 export)の特定は export-log(分割形 `.intent/export-log/*.md` 群があれば正本・`exported_at` 昇順/無ければ旧 `.intent/export-log.md` ミラー。`rules/decision-table.md` 脚注10の分割形横断読み)の最新行(末尾のデータ行)の packet 名を正とする。解決順序: ①利用者の明示指定 → ②export-log 最新行(正典) → ③下書きの `## Source Packet` 見出し(packet ディレクトリが1つのみの場合に限り採用。複数ある場合は各ディレクトリの見出しを候補として列挙し断定しない) → ④下書き本文と index.md / packet ファイルのテキスト照合(自然言語の候補提示にとどめ、断定しない)。export-log が不在または最新行が解釈不能で③以降へフォールバックした場合は、その事実を Step 5 の報告に含める。現行 Source Packet(export-log 最新行の packet)が `active/` に不在(archive 在中)の場合も、その事実を Step 5 の報告に含める。
37
+ - 現行 packet のディレクトリ(`.intent/cc-sdd/<スラッグ>/`)の有無を確認する。packet 名とディレクトリの同定は「ディレクトリ内 requirements.md の `## Source Packet` 見出しが packet 名と一致すること」を正とする(slug 再計算は探索の高速路にとどめ、見出し不一致なら同定しない)。
38
+ - `.kiro/specs/` は存在する場合のみ読み、各 spec の spec.json と tasks.md のチェック状況を文脈に使う。対応 spec の特定は spec ディレクトリ名および各 spec の requirements.md「Project Description (Input)」本文と Source Packet 名のテキスト照合による(照合規則の詳細は `rules/decision-table.md` の脚注に従う)。
39
+ - 孤児 spec 検査(起草スキップの検出): `.kiro/specs/` が存在する場合に限り、各 spec が「進行/完了している」(spec.json が requirements 以降のフェーズ・または tasks.md に1つ以上チェック済みタスクがある)にもかかわらず、`active/` のどの packet・`archive/` のどの packet・`deltas`(分割形 `.intent/deltas/*.md` 群があれば正本・無ければ旧 `.intent/deltas.md` ミラー。`rules/decision-table.md` 脚注10の分割形横断読み)のどの delta ともテキスト照合できない spec を「孤児 spec」として把握する。照合は既存の対応 spec 特定と同じ手段(spec ディレクトリ名・requirements.md「Project Description (Input)」本文と packet 名・spec_refs のテキスト照合。規則は `rules/decision-table.md` 脚注に従う)で行い、**ファイルから機械観測できる範囲に限る**(git 履歴・コード差分・タイムスタンプは見ない)。孤児 spec は「Packet を経ずに実装された疑い(起草フェーズのスキップ)」として Step 5 ③ 詳細に併記する。照合不能は常態(脚注の既知限界)であり**断定せず**候補提示にとどめ、次の一手の first-match には影響させない(整合検査と同じ「報告に留める」温度。誤検知を許容する)。
40
+ - intent-tree 起票漏れ検査(discover スキップの検出): `.kiro/specs/` と `.intent/intent-tree.md` がともに存在する場合に限り、各 spec が「設計/実装が進んでいる」(spec.json が requirements 以降のフェーズ・または tasks.md に1つ以上チェック済みタスクがある)にもかかわらず、`.intent/intent-tree.md` の **L0〜L4 の見出し・本文**(L0 Product Purpose / L1 Desired Outcomes / L2 Capabilities / L3 Behavioral・Architectural Intents / L4 Candidate Packets。intent-planner の現行記法はこの **L0〜L4 のレベル記号**であり、`O#`/`C#`/`B#`/`P#` のような **ID アンカーは存在しないので照合に使わずテキスト照合のみで行う**)のどれともテキスト照合できない spec を「intent-tree に起票されていない実装の可能性(discover スキップ=起票フェーズそのもののスキップ)」として把握する。照合は既存の対応 spec 特定と同じ手段(spec ディレクトリ名・requirements.md「Project Description (Input)」本文と intent-tree の L0〜L4 見出し・本文のテキスト照合。規則は `rules/decision-table.md` 脚注に従う)で行い、**ファイルから機械観測できる範囲に限る**(git 履歴・コード差分・タイムスタンプは見ない)。これは孤児 spec 検査(Packet 不在)よりさらに**上流**の起票漏れであり、両検査の階層は分けて扱う(後述の3階層棲み分け)。intent-tree への起票漏れは Step 5 ③ 詳細に併記する。照合不能は常態(脚注の既知限界)であり**断定せず**候補提示にとどめ、次の一手の first-match には影響させない(整合検査・孤児 spec 検査と同じ「報告に留める」温度。誤検知を許容する)。`.intent/intent-tree.md` 不在または `.kiro/specs/` 不在の環境ではこの検査を行わない。
41
+ - 起票漏れ/孤児 spec/writeback 漏れの3階層棲み分け: 同一 spec が複数層に該当しうるため、上流から **①intent-tree 起票漏れ(discover スキップ=tree 層)→ ②孤児 spec=Packet 不在(packet 層)→ ③writeback 漏れ(enforcement/鮮度。下流層)** の順で位置づけ、該当した spec は**最上流の1層でのみ提示**して二重警告を出さない(上流が該当する spec を下流層でも重ねて警告しない)。提示時は `discover → packets → writeback` の段階対処として案内する(詳細は `rules/decision-table.md` 脚注に従う)。
42
+
43
+ ### Step 3: 鮮度を検査する(enforcement 連動)
44
+ - Step 1 で読んだ `.intent/mode.md` の `## Enforcement(ユーザー管理)` セクションにある `enforcement` の値を確認する。`off`・未記載・不正値のときは本 Step を行わない(intent-check を実行せず、鮮度警告も出さない。現行動作の維持)。
45
+ - `remind` または `gate` のときは、Bash で `node .intent/scripts/intent-check.mjs` を実行する。実行不可(Bash が使えない・スクリプト不在・exit 2)の場合は本 Step を省略し、既存挙動で続行する。
46
+ - 判定は stdout 1行目の判定行 `intent-check: result=<ok|stale|not-applicable> enforcement=<off|remind|gate> commits=<N|-> threshold=<M> grace=<in-implementation|-> pending=<K> block=<yes|no>` をそのまま信頼し、再導出しない。`result=stale` または `pending` が 1 以上のとき違反として扱う。
47
+ - 違反を検出した場合は、Step 5 の現在地サマリに intent-check の stdout(判定行 + 人間可読の根拠行)を引用した鮮度警告を併記する。intent-check は読み取り専用スクリプト(ファイルの作成・変更・削除を行わない)であり、本スキルの read-only 性質は維持される。
48
+
49
+ ### Step 3.5: drift 併記(drift-watch 連動)
50
+ - Step 1 で読んだ `.intent/mode.md` の `## Drift-watch(ユーザー管理)` セクションにある `drift-watch` の値を確認する。`on` でないとき(`off`・未記載・不正値・セクション不在・mode.md 不在)は本 Step を行わない(drift 併記をせず、現行どおり続行する。現行動作の維持)。
51
+ - `on` のときは `.intent/drift-log.md` を **Read / Grep で読むのみ**(Write しない。Bash は既存の intent-check 起動に限る原則を変えない)で、各エントリの `outcome` と `user-verdict` を集計する。`caught` / `missed` / `false-positive` は `outcome` の値から、`unjudged` は `user-verdict=unjudged` の件数から数える。
52
+ - 集計結果は鮮度警告と同じ位置・温度感で、Step 5 の現在地サマリに `caught N / missed N / false-positive N / unjudged N` の1ブロックとして軽く併記する(情報過多にしない)。`.intent/drift-log.md` が不在のときはこのブロックを省略する(エラーにしない)。
53
+ - drift-log は読むのみで書き込まない(read-only 維持)。`missed=0` は「効いた」ではなく「記録漏れの疑い」として、断定せず提示する。
54
+
55
+ ### Step 3.6: conformance 陳腐化の頃合いを概算する(read-only)
56
+ - 目的: compass(Invariants / Decision Rules)が更新されたのに packet がまだ追随していない「頃合い」を概算し、決定表 row 12 で `/intent-validate` を推す材料にする。確定診断(要修正/推奨)は validate の `invariant-stale-vs-compass` 等が行い、status は概算にとどめる。
57
+ - 取得は **Read / Glob / Grep のみ**で行う(Bash=intent-check は使わない。drift-log と同じく read-only の範囲を広げない):
58
+ - `.intent/intent-compass.md` の `Updated (Invariants):` / `Updated (Decision Rules):` 行の ISO 8601 値を読む(`—` は未打刻)。
59
+ - `.intent/packets/active/` 各 packet の frontmatter `updated_at` を読む(`archive/` は対象外)。
60
+ - 判定: いずれかの compass 節更新日 > その packet の `updated_at` を満たす active packet を「compass 更新後に未追随」として数える。比較は ISO 8601 文字列の辞書順。両端が実打刻のペアのみ対象とし、`updated_at` 不在の packet は対象外(推測で埋めない=後方互換規律)。compass 節更新日が両方 `—` のときは本 Step を行わない(頃合いを出さない)。
61
+ - 未追随件数が閾値(既定 1 件、決定表 row 12 に明示)以上のとき、Step 5 ③ 詳細に「どの compass 節が更新後・未追随 packet が何件か」を根拠として併記する。閾値未満のときは併記しない(狼少年化の回避)。本 Step は何も書き込まない(read-only 維持)。
62
+
63
+ ### Step 3.7: 未消化 milestone を残課題として把握する(read-only)
64
+ - 目的: `.intent/milestones.md`(節目イベント記録)に記録された節目イベントのうち、対応する Decision の見直し(Revisit 反映)がまだ消化されていないものを「未消化 milestone」として残課題に挙げる。記録は利用者の宣言的記入に委ね、status は照合のみを行う(算出・推論・自動修正なし)。
65
+ - 取得・比較は Step 3.6 と同じ **Read / Glob / Grep のみ**で行う(Bash=intent-check は使わない。read-only の範囲を広げない):
66
+ - `.intent/milestones.md` の各 event 行から `event`(自然文文字列)と `recorded_at`(ISO 8601 の記録日時)を読む。
67
+ - `.intent/intent-compass.md` の `Updated (Decision Rules):` 行の ISO 8601 値(Revisit 反映打刻。`—` は未打刻)と、`.intent/deltas.md` の各 delta が当該 Decision を参照しているかを読む。
68
+ - 判定: 各 event について、その `recorded_at` より後に「compass の `Updated (Decision Rules):` 反映打刻がある」または「deltas に該当 Decision への参照がある」のいずれも観測できないものを「未消化 milestone(記録済みだが対応する見直しが未処理)」として数える。日時の比較は Step 3.6 と同じ ISO 8601 文字列の辞書順とし、両端が実打刻のペアのみ対象とする(`recorded_at` 不在・`Updated (Decision Rules):` が `—` の event は推測で埋めず対象外=後方互換規律)。
69
+ - 未消化 milestone を検出したとき、Step 5 ③ 詳細に「どの event が未消化か」を残課題として併記する(断定せず候補提示。照合不能は常態として誤検知を許容し、次の一手の first-match は奪わない)。`.intent/milestones.md` が不在のときは本 Step を行わない(検査をスキップして続行・エラーにしない)。本 Step は何も書き込まない(read-only 維持)。
70
+
71
+ ### Step 4: 決定表で次の一手を1つに決める
72
+ - `rules/decision-table.md` を読み、first-match(上から評価し、最初に該当した行のみ)で「次の一手」をちょうど1つ決定する。
73
+ - 複数候補の併記はしない(理由と根拠は併記する)。推奨が複数見える曖昧なケースも、決定表の優先順位で機械的に1つへ畳む。
74
+
75
+ ### Step 5: 報告する
76
+ 報告は**読み手が「いまどこで、次に何をするか」に最短で辿り着ける順序**で構成する。内部用語(突合手順・整合検査・enforcement 用語など)は先頭に出さず、③ 以降の詳細に退避する。
77
+
78
+ - ① **工程レール(冒頭ミニレール)**: 全 packet を縦に並べ、各 packet に5信号(✅ 反映済 / 🔵 今ここ / ⚪ 未着手 / 🔴 反映漏れ / ◻ 統合済)のいずれか1つを付け、**続けて `[現在の工程 → 次に通る工程]` を併記する**。信号の判定も工程併記も overview の `progress-readout.md`「工程レール」と同じ規律(5信号は `state` × export-log の行有無 × deltas の対応エントリ有無を first-match で突合、工程併記は packet `state` を固定パイプライン `discover→compass→packets→export→実装→verify→writeback` 上の位置として読み替え。いずれも算出・推論しない)に従う。例: `P2 🔵 今ここ [implementing → 次: verify→writeback]` / `P3 ⚪ 未着手 [ready → 次: export→実装]`。これにより**「P いくつが今ここで・この後どの工程が残り・どこに ⚪ 残工程 / 🔴 反映漏れがあるか」を1枚で一望**させる。各信号は用語一覧に従い意味を併記する。レールは read-only mirror であり、status は何も変更しない。
79
+ - ② **次の一手(ちょうど1つ・1行)**: スキル名 or「アクション不要」を**1行で**先に示し、続けて推奨理由 + 判断根拠(どの成果物のどの状態に基づくか)を簡潔に添える。決定表(`rules/decision-table.md`)の first-match 結果を、内部の行番号でなく**人間が次に取る行動**として翻訳して提示する。
80
+ - ③ **詳細(折りたたみ位置)**: ① の各信号の根拠となった成果物ごとの 有/無/未記入 と特記事項、現行 Source Packet(export-log 最新行に基づく packet 名)と当該 packet のディレクトリ(`.intent/cc-sdd/<スラッグ>/`)の有無。packets 整合検査の違反(index ↔ active/ の乖離・done / superseded_by の滞留・export-log 最新行の packet の active/ 不在)を検出した場合はその内容を、index 不在の場合は再生成の案内を、Step 3 で違反を検出した場合は intent-check の stdout を引用した鮮度警告を、Step 3.5 で drift-watch が `on` のときは drift-log の軽い集計(`caught N / missed N / false-positive N / unjudged N`)を、Step 3.6 で conformance 陳腐化の頃合い(未追随件数が閾値以上)を検出した場合は「どの compass 節が更新後・未追随 packet が何件か」の根拠を、鮮度警告と同じ位置・温度感で1ブロック併記する。Step 2 で intent-tree 起票漏れ(discover スキップの疑い)を検出した場合は、その spec 名と「設計/実装が進んでいますが、`.intent/intent-tree.md` の L0〜L4 のどのノードともテキスト照合できませんでした。discover フェーズそのものをスキップした疑いがあります。`/intent-discover` で intent-tree(L0〜L4)へ起票し、その後 `/intent-packets` で Packet を起こし、`/intent-writeback` で実装の現実を canonical へ戻すのが順序です」という案内を、断定を避けた候補提示の温度で1ブロック併記する(次の一手の決定表結果は変えない)。Step 2 で孤児 spec(起草されていない実装の疑い)を検出した場合は、その spec 名と「Packet を経ずに実装された疑いがあります。事後でも `/intent-packets` で Packet を起こし(未確定の仕様は Open Questions / Deferred として明示)、その後 `/intent-writeback` で実装の現実を canonical へ戻すのが順序です」という案内を、断定を避けた候補提示の温度で1ブロック併記する(次の一手の決定表結果は変えない)。**この2検査と writeback 漏れ(鮮度警告)は上流から tree 層 → packet 層 → 下流層の3階層で棲み分け、同一 spec が複数層に該当する場合は最上流の1層でのみ提示して二重警告を出さない**(上流が該当する spec を下流の孤児 spec/鮮度警告で重ねて出さず、`discover → packets → writeback` の段階対処として案内する)。Step 3.7 で未消化 milestone(記録済みだが対応する見直しが未処理の節目イベント)を検出した場合は、その event 名と「節目イベントが記録されていますが、対応する Decision の見直し(Revisit 反映)がまだ消化されていない可能性があります。`/intent-improve` で該当 Decision Rule の `Revisit when` 照合・再提案を確認するのが順序です」という案内を、鮮度警告と同じ位置・温度感で(断定を避けた候補提示の温度で)1ブロック併記する(次の一手の決定表結果は変えない)。
81
+ - ④ Open Questions: ユーザー確認が必要な点。確認は自然言語での候補提示にとどめ、次のアクションの判断はユーザーに委ねる(一方向報告)。
82
+ - **未記入・不在の表示**: 成果物が未記入・不在のときは、`Intent Tree(やりたいことの階層マップ): 未作成` のように「術語(説明): 状態」の形で、その成果物が**まだ無い/中身が入っていない**ことが術語を知らなくても分かる平易な日本語で示す。整合検査の違反(`superseded_by` 滞留・index との乖離・archive 在中等)も同様に、術語に説明を併記しつつ「何がどう滞留/乖離しているか」を平易な日本語で示す。
83
+
84
+ ## 用語の常時併記ルール
85
+
86
+ 出力に現れる術語は、下記「用語説明一覧」を参照して `術語(説明)` の括弧書き形式で意味を併記する。具体的な規約は以下の通り。
87
+
88
+ - **常時併記ルール**: status 出力に現れる intent-planner 固有の術語(成果物名・state 値・検査用語・コマンド名)は、**英語表記のまま正として保ち、訳語に置換しない**。その上で、各術語にはその意味を表す日本語の一行説明を `術語(説明)` の括弧書き形式で併記する。併記は**初出箇所に限定せず、その術語が出力に現れるたびに毎回行う**(status 出力は状況により出る項目が変わる断片的な報告であり「初出」が安定しないため、毎回その場で意味が分かることを優先する)。
89
+ - **冗長回避の運用**: 同一出力内で同じ術語が繰り返し現れて冗長になる場合でも、各項目を**術語のみで放置しない**。一覧・表形式の項目見出しでは括弧書き併記を保ち、本文中の反復言及では文脈で意味が辿れる限り形式を簡潔に整えてよい。形式を整える場合も「術語の意味が辿れる状態」を維持することが条件。
90
+
91
+ ### 用語説明一覧
92
+
93
+ status が出力時に参照する術語と一行説明(この一覧はこの SKILL 内で self-contained に保つ)。
94
+
95
+ **成果物名**
96
+
97
+ | 術語 | 一行説明 |
98
+ |------|----------|
99
+ | Intent Tree | やりたいことの階層マップ(L0=目的 〜 L4=作業単位候補) |
100
+ | Intent Compass | 局所最適を防ぐための判断基準 |
101
+ | Packets / packet | cc-sdd に渡す前の作業単位(Issue より上位・spec より手前の粒度) |
102
+ | Source Packet | その下書きの元になった packet(export 元の同定) |
103
+ | delta | canonical 成果物を事後更新するための差分記録 |
104
+
105
+ **state(5値)**
106
+
107
+ | 術語 | 一行説明 |
108
+ |------|----------|
109
+ | state: draft | 起案中・未確定 |
110
+ | state: ready | 着手可(依存解決済み・実装待ち) |
111
+ | state: implementing | 実装中 |
112
+ | state: verifying | 実装済み・検証待ち(Evidence 未確定) |
113
+ | state: done | 証拠取得済み・完了 |
114
+
115
+ **工程レール(5信号 + 工程併記)**(packet を `state` × export-log の行有無 × deltas の対応エントリ有無で突合し、first-match で1つ付ける。さらに各行に `[現在の工程 → 次に通る工程]` を併記し、packet `state` を固定パイプライン `discover→compass→packets→export→実装→verify→writeback` 上の位置として読み替える。判定の正本は `rules/decision-table.md` ではなく overview の `progress-readout.md`「工程レール」だが、status の冒頭ミニレールも同じ5信号語彙 + 工程併記を使う)
116
+
117
+ | 信号 | 一行説明 |
118
+ |------|----------|
119
+ | ✅ 反映済 | 実装完了し intent へ書き戻し済み(`state: done` かつ対応 delta が promoted/closed) |
120
+ | 🔵 今ここ | いま手をつけている1工程(export 済み・未反映のうち現行 Source Packet=export-log 最新行) |
121
+ | 🔴 反映漏れ | 実装の証跡があるのに未反映(export 済み・未反映のうち現行 Source Packet 以外=過去の取り残し) |
122
+ | ⚪ 未着手 | まだ cc-sdd へ export していない(export-log に行が無い) |
123
+ | ◻ 統合済 | 後継 packet に統合され役目を終えた(`superseded_by` が非空) |
124
+
125
+ **置換軸**
126
+
127
+ | 術語 | 一行説明 |
128
+ |------|----------|
129
+ | superseded_by | この packet を置き換えた後継 packet の ID(state ではなく置換を表す別軸) |
130
+
131
+ **enforcement / staleness**
132
+
133
+ | 術語 | 一行説明 |
134
+ |------|----------|
135
+ | enforcement | 書き戻し漏れの強制度(off=検査しない / remind=警告のみ / gate=export・push を停止) |
136
+ | stale(staleness) | 書き戻しが古い(実装が進んだのに intent へ反映されていない状態) |
137
+ | conformance 陳腐化 | compass(Invariants/Decision Rules)が更新されたのに packet がまだ追随していない状態(status は頃合いを概算し、確定診断は `/intent-validate` が行う) |
138
+
139
+ **drift-watch**
140
+
141
+ | 術語 | 一行説明 |
142
+ |------|----------|
143
+ | drift-watch | 意図からのズレ(drift)の監視(off=何もしない / on=照合警告と記録。いずれも警告のみで停止しない) |
144
+
145
+ **drift 集計の4語**(`caught` / `missed` / `false-positive` は **outcome**、`unjudged` は **user-verdict** の値。種別を取り違えない)
146
+
147
+ | 術語 | 種別 | 一行説明 |
148
+ |------|------|----------|
149
+ | caught | outcome | export 時にズレを捕捉できた(捕捉成功) |
150
+ | missed | outcome | ズレを防げず通してしまった |
151
+ | false-positive | outcome | 誤検知だった |
152
+ | unjudged | user-verdict | まだ人がそのズレの妥当性を判定していない(outcome ではなく user-verdict の値) |
153
+
154
+ ## Output Description
155
+
156
+ **読み手**: 「いま自分がどこにいて、次に何をすればいいか」を最短で知りたい人間開発者。
157
+ **この出力で最初に掴ませること**: ①工程レールで「どの packet が 🔵 今ここ・この後どの工程が残るか」、続けて②「次の一手ちょうど1つ」。内部用語(突合・整合検査・enforcement)はそのあとの詳細に退避する。出力は Step 5 の順序(①工程レール → ②次の一手 → ③詳細 → ④Open Questions)で構成する。
158
+
159
+ - ① **工程レール**(冒頭・結論): 全 packet を縦に並べ、各行に5信号 + `[現在の工程 → 次に通る工程]` を併記(残工程 ⚪ と反映漏れ 🔴 を一望)
160
+ - ② **次の一手ちょうど1つ**(推奨理由・判断根拠付き)
161
+ - ③ **詳細**: 現在地の要約(成果物ごとの存在と記入状態 + 特記事項。現行 Source Packet と当該 packet ディレクトリの有無を含む。enforcement 違反の検出時は intent-check の stdout を引用した鮮度警告を含む。drift-watch が `on` のときは drift-log の軽い集計 `caught N / missed N / false-positive N / unjudged N` の1ブロックを併記し、`on` でないときは併記しない。conformance 陳腐化の頃合い(Step 3.6)を検出したときは未追随の根拠を1ブロック併記し、閾値未満のときは併記しない)。packets 整合検査の結果(index ↔ active/ の乖離・done / superseded_by 滞留・export-log 最新行の packet の active/ 不在の報告。index 不在時の再生成案内を含む)も詳細に置く。
162
+ - ④ 人間が確認すべき Open Questions
163
+
164
+ ## Safety & Fallback
165
+ - **read-only 宣言**: ファイルの作成・変更・削除を一切行わない(frontmatter に Write を持たない。Bash は読み取り専用スクリプト `node .intent/scripts/intent-check.mjs` の起動に限り、この性質を変えない)。drift-log の読み取りは Read / Grep のみで行い(Bash 起動の対象を広げない・drift-log に書き込まない)、この read-only 性質を変えない。
166
+ - `.intent/` 不在時はセットアップ手順を案内して終了する。
167
+ - mode.md 不在は停止せず standard 既定で続行し告知する。
168
+ - enforcement が `off`・未記載・不正値のときは intent-check を実行せず鮮度警告も出さない(現行動作)。`remind`・`gate` でも intent-check が実行不可(Bash 不可・スクリプト不在・exit 2)のときは鮮度検査を省略して続行する。
169
+ - drift-watch が `on` でないとき(`off`・未記載・不正値・セクション不在・mode.md 不在)は drift 併記を行わず、現行動作とバイト等価のまま続行する。`on` でも `.intent/drift-log.md` が不在のときは drift ブロックを省略する(エラーにしない)。
170
+ - `.intent/export-log.md` が不在または最新行が解釈不能のときは、下書きの `## Source Packet` 見出し → index.md / packet ファイルとのテキスト照合の順にフォールバックし(テキスト照合は候補提示にとどめ断定しない)、フォールバックした事実を報告に含める。
171
+ - `.kiro/specs/` が無い環境でも動作する(該当行は `rules/decision-table.md` の条件文言付き推奨に従う)。
@@ -0,0 +1,47 @@
1
+ # intent-status 推奨決定表(first-match、上から評価)
2
+
3
+ `intent-status` skill が「次の一手」をちょうど1つ決定するための正本。SKILL.md は手順と報告形式のみを持ち、判定は本表を参照する。すべての条件はファイルから機械的に観測可能であることを必須とする(status は Read/Glob/Grep のみで、git 履歴・タイムスタンプ・コード差分を直接は参照できない。唯一の例外は row 9 で、読み取り専用スクリプト `node .intent/scripts/intent-check.mjs` の判定行を介した観測に限る — 脚注4参照)。row 12(conformance 陳腐化の頃合い)は Read/Glob/Grep のみで成立し、intent-check には依存しない — 脚注7参照。
4
+
5
+ | # | 条件(ファイルから観測可能) | 推奨 |
6
+ |---|------|------|
7
+ | 1 | `.intent/` なし | セットアップ案内(終了) |
8
+ | 2 | intent-tree 未記入 or mode 未確定 | `/intent-discover` |
9
+ | 3 | compass 未記入 | `/intent-compass` |
10
+ | 4 | packets 未記入 | `/intent-packets` |
11
+ | 5 | packets に Invariants/Anti-direction との**明示的な文言衝突**(validate-checks の「要修正」級に限る)を読取中に検出 | `/intent-validate` |
12
+ | 6 | Status: pending の delta が滞留(deltas は脚注10の分割形横断読みで観測) | `/intent-writeback`(昇格再開) |
13
+ | 7 | 現行 Source Packet(最新 export)に対応する delta エントリなし、**かつ実装完了の証拠あり**。一次判定: 現行 Source Packet の `state` が `done`(`## Evidence` 確定済み)。補助信号: `state` が観測できない既存 packet(細分化前)への後方互換時のみ、対応する `.kiro/specs/` spec の tasks 全チェック済みを実装完了の証拠とみなす(`.kiro/` 不在の場合も本行に該当するが、推奨文言に「実装完了が前提。未完なら cc-sdd 実装を継続」を必須付記)。なお packet `state=done` だが kiro tasks 未完(またはその逆)の食い違いは「不整合」として報告に留め、自動で一方を正としない(宣言規律) | `/intent-writeback` |
14
+ | 8 | 現行 Source Packet に対応する delta エントリなし、かつ**実装進行中**。一次判定: 現行 Source Packet の `state` が `draft`/`ready`/`implementing`/`verifying`(`done` 未到達。`depends_on` に `done` でない packet があればブロック中=着手前)。補助信号: `state` が観測できない既存 packet への後方互換時のみ、対応 spec の tasks 未完を実装進行中とみなす | アクション不要(注記: cc-sdd 実装を継続。`verifying` は Evidence 確定 → `state=done` 後に `/intent-writeback`) |
15
+ | 9 | enforcement(mode.md の `## Enforcement(ユーザー管理)` セクション)が remind または gate、かつ intent-check の判定行が grace なしの stale(`grace=-` かつ `result=stale`) | `/intent-writeback`(staleness の解消) |
16
+ | 10 | 「保留」タグ付きの見送り項目が残存 | `/intent-improve`(再提案または却下への確定を促す。タグの確定更新は `/intent-writeback` が行う) |
17
+ | 11 | active/ 配下に delta エントリ(deltas を脚注10の分割形横断読みで観測)の無い packet ファイルがあり、かつ現行 Source Packet と不一致(export 済みか未 export かは export-log を脚注10の分割形横断読みで観測し行があるか否かで判別 → 候補列挙 + ユーザー確認付き) | `/intent-validate`(問題なければ続けて `/intent-export-cc-sdd` または `/intent-writeback` をユーザーが選択) |
18
+ | 12 | conformance 陳腐化の頃合い: intent-compass.md の節更新日(`Updated (Invariants):` / `Updated (Decision Rules):` のいずれか、実打刻=`—` でない)が、active/ 配下の packet の `updated_at`(実打刻のもの)より新しく、その「compass 更新後に未追随」の packet が **閾値件数(既定: 1 件)以上**ある(頃合いの概算。確定診断は validate に委ねる) | `/intent-validate`(compass 更新が packet に追随しているかの照合。conformance 陳腐化の点検) |
19
+ | 13 | 上記いずれもなし | アクション不要(常設注記: 実装の節目での定期的な `/intent-improve` を推奨) |
20
+
21
+ ## 脚注
22
+
23
+ 1. 優先順位は first-match で「ちょうど1つ」を保証する(上から評価し、最初に該当した行のみを採用する。複数候補の併記はしない)。各行の条件はすべて `.intent/`(+存在すれば `.kiro/specs/` の spec.json・tasks.md チェック状況)の記載内容のみから判定する。
24
+ 2. row 7/8 の実装進捗の一次情報は現行 Source Packet 自身の `state`(`## Evidence` 確定状況)であり、kiro tasks は `state` を観測できない既存 packet への後方互換時の補助信号にすぎない。その補助信号における「対応する spec」は `.kiro/specs/` 配下の **spec ディレクトリ名および各 spec の requirements.md「Project Description (Input)」本文**と Source Packet 名のテキスト照合で特定し、特定できなければ row 7 の `.kiro/` 不在側(条件文言付き推奨)に倒す(export は feature 名を記録しないため照合不能は常態として設計し、頻度が高い場合の限界も deltas.md 運用説明の既知限界に含める)。
25
+ 3. row 11 等の「ユーザー確認」は自然言語での候補提示とユーザー自身の次アクション判断を指す。status は read-only・一方向報告であり、対話確認ツールは使わない。packet ごとの下書き(`.intent/cc-sdd/<packetスラッグ>/`、Git 非追跡・ローカル専用)は永続保持され、export 履歴は export-log(脚注10の分割形横断読み)に記録されるため、「過去に export されたが書き戻されていない packet」の候補は export-log 全行 × 残存する `.intent/cc-sdd/<packetスラッグ>/` 下書き × deltas(脚注10)の突合で機械的に列挙できる(row 11 はその候補列挙にユーザー確認を添える)。この突合手順は deltas の運用説明にも記載されている。
26
+ 4. row 9 の条件は、`node .intent/scripts/intent-check.mjs`(Bash 限定例外に基づく読み取り専用スクリプト。ファイルの作成・変更・削除を行わない)の stdout 1行目の判定行のみから観測し、再導出しない。enforcement が off・未記載・不正値のとき、または intent-check が実行不可(Bash 不可・スクリプト不在・exit 2)のときは本行に該当しない(現行動作)。pending delta の滞留は row 6 が先に拾うため、本行は staleness(grace なし)専用である。
27
+ 5. 「次の一手」で提示しうる各コマンドの平易な一言(下表)。これは status 出力でコマンド名に添えて利用者の理解を助けるための**純粋な説明**であり、推奨先の同定・条件・優先順位(first-match)には一切関与しない(どの条件でどのコマンドを推すかは上の表本体のみが決める)。
28
+
29
+ | コマンド | 一言説明 |
30
+ |------|------|
31
+ | `/intent-discover` | 最初の意図整理(やりたいことを intent-tree と mode に書き起こす) |
32
+ | `/intent-compass` | 判断基準づくり(局所最適を防ぐ Invariants/Anti-direction を定める) |
33
+ | `/intent-packets` | 作業単位への分割(cc-sdd に渡せる粒度の packet に切り出す) |
34
+ | `/intent-validate` | 矛盾・抜けの点検(packet と判断基準の文言衝突などを洗い出す) |
35
+ | `/intent-writeback` | 実装結果を意図へ反映(delta を昇格し成果物を事後更新する) |
36
+ | `/intent-improve` | 再整合の提案(保留項目の確定や定期的な見直しを促す) |
37
+ | `/intent-export-cc-sdd` | cc-sdd へ受け渡し(現行 Source Packet を実装フローへ export する) |
38
+
39
+ 6. **工程レール5信号との対応**: status の冒頭ミニレール(SKILL.md Step 5 ①)は本表の結果を人間可読に翻訳する**表示層**であり、本表のロジック(first-match・row の条件)を変えない。信号の判定正本は overview の `progress-readout.md`「工程レール」にあり、本表との関係は次のとおり(参考対応。厳密な分岐は本表の first-match が正): 🔴 反映漏れ(export 済み・未反映の取り残し)= row 6/7(`/intent-writeback`)が拾う対象。🔵 今ここ(現行 Source Packet の未反映)= row 6/7/8 のいずれか(実装の進捗で分岐)。⚪ 未着手(未 export)= row 8/11(着手=cc-sdd 実装継続 or export)。✅ 反映済のみ(未反映・未着手が無い)= row 13(アクション不要。ただし row 12 の conformance 陳腐化の頃合いに該当すれば `/intent-validate` が先に拾う)。◻ 統合済(`superseded_by` 非空)はレール表示専用で、それ自体は次の一手を発火させない(整合検査で滞留があれば報告する)。
40
+
41
+ 7. **row 12(conformance 陳腐化の頃合い)の観測と温度感**: 本行は status の Read/Glob/Grep のみで成立する(row 9 のような intent-check 起動を要さない・read-only を一切広げない)。観測手順は (a) `.intent/intent-compass.md` の `Updated (Invariants):` / `Updated (Decision Rules):` 行の ISO 8601 値を読む、(b) `.intent/packets/active/` 各 packet の frontmatter `updated_at` を読む、(c) compass 節更新日 > packet `updated_at` を満たす packet を「未追随」として数える、の3点で、比較は ISO 8601 文字列の辞書順による(`invariant-stale-vs-compass` と同型)。両端が実打刻(`—`/不在でない)のペアのみを対象とし、`updated_at` 不在の packet は対象外(推測で埋めない。後方互換規律)。閾値(未追随件数)は既定 1 件で、行末に明示する。これは「validate を回す頃合い」の**概算**であり、status は確定診断をしない(要修正/推奨の確定は `/intent-validate` の `invariant-stale-vs-compass` 等が行う)。row 5/11 の validate(要修正級の文言衝突・不一致)が先に該当すればそちらが優先され、本行は他に緊急の一手が無いときの「頃合い提案」として row 13(アクション不要)の手前で発火する。compass を更新しない純粋な時間経過は本行では捉えない(validate 実行時点を記録しない設計上の近似)。
42
+
43
+ 8. **intent-tree 起票漏れ検査(discover スキップ)の照合手段**: 本検査は決定表のどの row も発火させない**報告専用**の検査であり(次の一手の first-match を奪わない)、SKILL.md Step 2 で把握し Step 5 ③ 詳細に併記する。照合は既存の対応 spec 照合(脚注2の手段)を再利用する: `.kiro/specs/` 配下の **spec ディレクトリ名**および各 spec の **requirements.md「Project Description (Input)」本文**を、`.intent/intent-tree.md` の **L0〜L4 の見出し・本文**(L0 Product Purpose / L1 Desired Outcomes / L2 Capabilities / L3 Behavioral・Architectural Intents / L4 Candidate Packets)とテキスト照合する。intent-planner の intent-tree ノードは **L0〜L4 のレベル記号**で表され、`O#`/`C#`/`B#`/`P#` のような **ID アンカーは存在しない**ため、照合は ID ではなくテキスト照合のみで行う。対象は spec.json が requirements 以降のフェーズ・または tasks.md に1つ以上チェック済みタスクがある「設計/実装が進んだ spec」に限る。照合は **ファイルから機械観測できる範囲**に限る(git 履歴・コード差分・タイムスタンプは見ない)。照合不能は常態(export は feature 名を記録しない既知限界。脚注2と同性質)として誤検知を許容し、**断定せず**候補提示にとどめる。`.intent/intent-tree.md` 不在または `.kiro/specs/` 不在の環境では本検査を省略する。
44
+
45
+ 9. **起票漏れ/孤児 spec/writeback 漏れの3階層棲み分け(二重警告の回避)**: 設計ドラフトのみ先行した spec は、上流から下流へ次の3層のいずれか(または複数)に該当しうる。**①intent-tree 起票漏れ(discover スキップ=tree 層。脚注8)— intent-tree への起票そのものをスキップ。②孤児 spec=Packet 不在(packet 層。SKILL.md Step 2 の孤児 spec 検査)— intent-tree には起票されたが Packet を経ずに実装。③writeback 漏れ(下流層。row 6/7/9 の `/intent-writeback` 系・鮮度警告)— Packet 実装後に canonical へ未反映。** 同一 spec が複数層に該当する場合は、**最上流の1層でのみ提示**し、下流層では重ねて警告しない(上流が該当する spec を下流の孤児 spec 検査・鮮度警告で二重に出さない)。提示時は `discover → packets → writeback` の段階対処として案内し、まず最上流の不足から順に埋めるよう促す。この棲み分けは status の報告(Step 5 ③)に閉じた整理であり、決定表本体の first-match(次の一手1つ)には影響させない(①②は報告専用、③のみ row として next-move を発火させうる)。
46
+
47
+ 10. **append-only 記録の分割形横断読み(deltas / export-log。INV25・D6)**: `deltas` / `export-log` を読むときは、**分割形 `.intent/<rec>/*.md` 群(あれば正本・自然キー昇順)→ 無ければ旧 `.intent/<rec>.md`(生成 active ミラー)への read fallback** の順で横断読みする(overview の `aggregate-sources.md` と同一規律。分割しても通読できる)。分割形と旧単一ミラーが共存するときは**分割形を正本**とし、ミラーを二重に数えない(同一エントリの二重計上を避ける)。archive(`.intent/<rec>/archive/`)は履歴であり、status の active 面の判定(書き戻し漏れ突合・現在地・孤児 spec 照合)では active を薄く読む(archive を active 集計に混ぜない)。読み取りのみで、いずれのファイルも変更しない(read-only・INV2/A3)。この規律は移行前の単一ファイル形式(旧 scaffold)でも壊れない(read fallback で同じ突合結果を返す=behavior-preserving・Anti-direction 88)。
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: intent-to-spec
3
+ description: 指定した範囲(source scope)の Intent(intent-tree / compass)・steering 制約・packets/requirements の三層を read-only で読み、指定したフォーマット(target format)でひとつの読める自然言語 Spec へ写像する外向きの生成スキル。生成各記述を射影元へトレースし、射影元に無い記述は inferred として標識する(捏造抑制)。出力は `.intent/nl-spec/` 配下の派生物に限定し、canonical な成果物は一切変更しない。
4
+ allowed-tools: Read, Glob, Grep, Write, AskUserQuestion
5
+ argument-hint: <source 範囲・format>(範囲ヒントと体裁。format 無指定なら既定を用い、どの format で生成したかを出力に明示する)
6
+ ---
7
+
8
+ # intent-to-spec Skill
9
+
10
+ ## Core Mission
11
+ - **Success Criteria**:
12
+ - 利用者が指定した範囲(source scope: Intent サブツリー / packet 群 / steering 制約 / 横断 requirements)の `.intent/` 成果物のみを素材として read-only で読み、三層(Intent の why/不変則/判断基準 / steering 級の制約 / requirements の個別要求)を横断的に束ねている(R1.1 / R1.2)
13
+ - source scope が曖昧、または該当する成果物が不在のとき、自然言語 Spec を生成せず、何が曖昧か(利用可能な範囲)または不足している成果物(用意する該当スキル)を利用者に示して止まっている(R1.3)
14
+ - 射影元(intent-tree / compass / packets / steering)を read-only で扱い、作成・変更・削除していない(R1.4)
15
+ - 指定された target format(why 前面の上流向け / requirements 横断の統合仕様書 / その中間)に従って自然言語 Spec を構成し、format が無指定なら既定を用い、どの format で生成したかを出力に明示している(R2.1 / R2.4)
16
+ - 生成した各記述を、それがどの射影元(どの Intent の L層 / どの compass 節 / どの packet / どの制約)に由来するか辿れる形でトレース可能にしている(R3.1)
17
+ - 射影元に対応する根拠がない記述を inferred として標識し、確定(canonical 由来でトレースの付く記述)と混在させていない(R3.2)。射影元を超えて補完した箇所を利用者が確認できる一覧として提示している(R3.3)
18
+ - 射影元に存在する不変則・制約を、生成 Spec の中で省略・改変せず保持している(R3.4)
19
+ - 生成物を派生(derived・再生成可能)として `.intent/nl-spec/` 配下へ全置換で出力し、canonical な成果物(intent-tree / compass / packets)を作成・変更・削除していない。出力の冒頭に派生・再生成可能・正本ではない旨を明示している(R4.1 / R4.2 / R4.3)
20
+ - 意図計画フェーズにおいてアプリケーションコードを変更していない(R4.4)。命名規約 `intent-*` に従い、外部 spec ツール・kiro-* 開発環境を変更せず、`map-cc-sdd.md` を呼ばず `/intent-export-cc-sdd` の振る舞いを変更していない(R5.5)
21
+
22
+ ## Execution Steps
23
+
24
+ ### Step 1: source 解釈(範囲を確定する。曖昧/不在なら生成しない)
25
+ - 利用者が `/intent-to-spec` を実行したとき、まず引数の範囲ヒントと format 指定を `rules/source-scope.md` に従って解釈する。範囲が引数だけで一意に定まらない軸は、`AskUserQuestion` で利用者に問い、回答を待ってから確定する(推測で埋めない)。
26
+ - **生成しないゲート(fail-fast。R1.3)**: source scope が曖昧(引数でも対話でも軸が一意に定まらない)、または該当成果物が不在(指定された intent-tree / compass / packet / steering が存在しない・未記入)のときは、自然言語 Spec を**生成せず**、`.intent/nl-spec/` 配下に一切書き込まない。何が曖昧か(利用可能な範囲: 実在するサブツリー・packet 一覧・steering の有無)、または不足している成果物(用意する該当スキル: discover / compass / packets 等)を名指しして提示し、止まる。
27
+ - 範囲が確定したら Step 2 へ進む。
28
+
29
+ ### Step 2: 三層読取(read-only で三層を読む)
30
+ - `rules/source-scope.md` の「三層の読み取り(正確な参照・固定)」表に従い、確定した範囲について三層を横断的に read-only で読み取る。
31
+ - Intent の why/不変則/判断基準(`.intent/intent-tree.md` の L0–L4 / `.intent/intent-compass.md` の North Star・Invariants・Anti-direction・Decision Rules)、steering 級の制約(指定時のみ tech.md 等)、requirements の個別要求(`.intent/packets/index.md` + `.intent/packets/active/*.md`)を、ひとつの文書の素材として束ねる。
32
+ - canonical 由来の素材と inferred 由来の素材(intent-tree の Assumptions / Open Questions)は、読み取りの段階で区別したまま保持し、混在させない。範囲外の成果物は読まない。射影元は read-only で扱い変更しない(R1.4)。
33
+
34
+ ### Step 3: target format 写像(既定なら format を明示する)
35
+ - 確定した target format に従って、Step 2 が束ねた三層の素材を、どの層・どの見出し・どの packet 由来かの由来を保ったまま、ひとつの自然言語 Spec へ写像する。
36
+ - **上流向け(why 前面)**のときは `rules/format-upstream.md`、**統合仕様書(requirements 横断)**のときは `rules/format-integrated.md` に委譲する。中間 format は両ルールの度合い調整として表現し、別ルールを増やさない。
37
+ - **format 無指定のとき(R2.4)**: 既定の format を用い、**どの format で生成したか**(既定として上流向け / 統合仕様書のいずれを用いたか)を出力に明示する。黙って既定を選ばない。
38
+ - 写像は本スキルの format 系ルールに委譲する。`map-cc-sdd.md` は**呼ばない**(cc-sdd 写像は export-cc-sdd の所有であり、本スキルは touch しない)。
39
+
40
+ ### Step 4: 捏造照合(トレース付与・inferred 標識・不変則保持)
41
+ - `rules/fabrication-guard.md` に従い、format 写像が組み上げた自然言語 Spec が射影元を超えて捏造していないかを照合する。
42
+ - 各記述を射影元(どの Intent の L層 / どの compass 節 / どの packet / どの制約)へ辿れる形でトレースする(R3.1)。射影元に根拠のない記述は inferred として標識し、確定と混在させない(R3.2)。射影元の不変則・制約を省略・改変せず保持する(R3.4)。補完した(inferred)箇所の一覧を、利用者が確認できる形で提示する(R3.3。警告であり生成を止めるものではない)。
43
+
44
+ ### Step 5: 派生 Write(`.intent/nl-spec/` へ全置換)
45
+ - すべての読み取り・写像・照合が終わってから、**最後に** 生成した自然言語 Spec を `.intent/nl-spec/<format>.md` へ**全置換**で書き込む(同 scope+format の再実行は全置換で冪等。R4.2)。
46
+ - 出力の冒頭に、本 Spec が派生(derived)・再生成可能であり・正本ではなく・Git 非追跡であること、および inferred として標識した記述は利用者の確認まで暫定であることを明示する(R4.3)。
47
+ - canonical な `.intent/*.md`(intent-tree / compass / packets)・steering(tech.md)・アプリケーションコードには一切書き込まない(R4.1 / R4.4)。書込み先は `.intent/nl-spec/` 配下に限定する。
48
+
49
+ ## Output Description
50
+ - `.intent/nl-spec/<format>.md`(派生・再生成可能・Git 非追跡。正本ではない旨を冒頭に明示)。内容は確定した target format に従い:
51
+ - **上流向け**: 目的(why)→ 守るべき不変則・制約 → 判断基準 → 個別の要求 → 前提・未確定(inferred 別枠、あれば)の順(`rules/format-upstream.md` の構成に従う)。
52
+ - **統合仕様書**: 概要 → 前提となる不変則・制約 → 統合要求と受入条件 → 前提・未確定(inferred 別枠、あれば)の順(`rules/format-integrated.md` の構成に従う)。
53
+ - **format 既定明示**: format が無指定だったときは、どの format(既定)で生成したかを出力に明示する(R2.4)。
54
+ - **トレース・inferred 標識**: 各記述に射影元への参照を付与し、射影元に根拠のない記述は inferred として確定と別枠・別標識で置く。
55
+ - **補完箇所の確認用一覧**: inferred として標識した記述を、どの記述が・どの理由で補完されたか名指しした一覧として併記する。
56
+ - 素材が無い層・セクションは省略し理由(未記入/未観測)を明示する(推測で埋めない)。
57
+
58
+ ## Safety & Fallback
59
+ - **書込み境界**: 書込み先は `.intent/nl-spec/` 配下限定である。canonical な `.intent/*.md`(intent-tree / compass / packets / mode 等)・steering(tech.md)・アプリケーションコードは read-only であり、そこへは作成・変更・削除を一切行わない(frontmatter の `Write` は `.intent/nl-spec/` 配下への書き込みのためにのみ許可される。R4.1)。
60
+ - **派生・正本ではない**: 生成物は派生(derived)・再生成可能であり正本ではない。この旨を出力の冒頭に明示し、canonical との二重正本を作らない(R4.3)。
61
+ - **捏造抑制(外向きの load-bearing 課題)**: トレースの付かない記述を確定として残さない(各記述は射影元へ辿れるか、さもなくば inferred 標識される、のいずれか)。inferred を確定と混在させず、射影元の不変則・制約を省略・改変しない。補完箇所は必ず確認用一覧として提示し、黙って本文へ溶かし込まない(R3.x)。
62
+ - **写像の所有境界**: format 写像は本スキルの `rules/format-upstream.md` / `rules/format-integrated.md` に委譲し、`map-cc-sdd.md` を呼ばない。`/intent-export-cc-sdd`(source/format 固定の特殊ケース)の振る舞いを変更しない(R5.3 / R5.5)。
63
+ - **読み取りのみ**: 射影元(intent-tree / compass / packets / steering)は read-only で扱い、作成・変更・削除しない(R1.4)。
64
+ - **外部依存ゼロ**(INV2 / R5.1)。外部パッケージ・AST パーサ・独自スキーマを導入せず、Node 標準と自然言語ヒューリスティクスに限定し、射影を自然言語のワークフロー内で完結させる。
65
+ - **アプリケーションコードを変更しない**(INV6 / R4.4)。
66
+ - **命名・外部非変更**: 命名規約 `intent-*` に従い、外部 spec ツール・kiro-* 開発環境を変更しない(R5.5)。
67
+ - **前提不在時**: source scope が曖昧、または該当成果物が不在のとき、何も書き込まず不在/曖昧を明示し、利用可能な範囲または不足成果物(用意する該当スキル)を案内して止まる(fail-fast。R1.3)。
68
+ - **部分欠落時**: 素材が読み取れない層・セクションは「未記入/未観測」と明示し省略する(推測で埋めない)。
@@ -0,0 +1,41 @@
1
+ # 捏造抑制:生成物↔射影元の照合(トレース・inferred 標識・不変則保持)
2
+
3
+ `intent-to-spec` skill が、format 写像の組み上げた自然言語 Spec が**射影元(Intent / packet / 制約)を超えて捏造していないか**を照合し、生成物が射影元へ辿れることを保証するための正本。SKILL.md は手順と報告形式のみを持ち、「各記述をどう射影元へ結び、何を inferred として標識し、何を保持し、何を確認用に提示するか」は本ルールを参照する。本ルールは生成物と射影元の**照合**を担い、射影元(intent-tree / compass / packets / steering)を一切変更しない(読み取りは source scope 解釈、配置は format 写像、書き込みは SKILL.md の派生 Write の責務)。
4
+
5
+ 外向きの load-bearing 課題は**捏造抑制**である。内向き(spec-ingest)の難所が「沈黙の検出」であるのに対し、外向きの難所は、射影元に無い詳細を流暢に埋めてしまう hallucination を抑えることにある。文章として読めてしまうがゆえに、根拠の有無は本文を読んだだけでは判別できない。本ルールはその判別を、生成物の各記述を射影元へ突き合わせる照合として与える。
6
+
7
+ ## 照合の発想は drift-export-check と同型(生成物↔射影元)
8
+
9
+ - 本照合は `drift-export-check.md`(export 時に design/tasks ヒントを compass の方向と突き合わせる水際照合)と**同型**である。あちらは export 直前の下書きを compass の North Star / Anti-direction / Invariants へ照らすが、本ルールは同じ「生成物↔射影元」照合の発想を、**生成 Spec 全体**へ向ける。
10
+ - 照合の根拠は、source scope 解釈が読み取り・format 写像が由来を保ったまま配置した**三層の素材そのもの**(intent-tree の L0–L4 / compass の North Star・Invariants・Anti-direction・Decision Rules / packets の個別要求・依存・証拠 /(指定時のみ)steering)にする。新しい構造を持たず、その由来情報を辿って各記述の根拠を確かめる。
11
+ - 照合は**意味的な突き合わせ**であって機械判定ではない。疑わしい記述(射影元に根拠が見当たらないのに本文へ溶け込んでいる詳細)は拾う側に倒す。
12
+
13
+ ## 手順
14
+
15
+ 1. **各記述を射影元へトレースする(Req 3.1)**
16
+ - 生成 Spec の各記述について、それがどの射影元に由来するか(どの Intent の L層・どの compass 節・どの packet・どの制約)を、辿れる形の参照として付与する。
17
+ - 参照は、source scope 解釈と format 写像が保ってきた由来情報(どの層・どの見出し・どの packet 由来か)に基づく。新たに射影元を読み直して作るのではなく、受け渡された由来をそのまま参照に落とす。
18
+ - 1つの記述が複数の射影元に由来するときは、由来をすべて挙げる。トレースの付かない記述を確定として残さない。
19
+
20
+ 2. **射影元に根拠のない記述を inferred として標識する(Req 3.2)**
21
+ - 手順1で射影元への対応が見つからない記述(流暢さのために補われた詳細・受入条件・前提)は、**inferred として標識する**。
22
+ - inferred の記述を**確定(canonical 由来でトレースの付く記述)と混在させない**。本文へ溶かし込まず、確定の記述とは識別できる別枠・別標識で置く。
23
+ - intent-tree の Assumptions / Open Questions のように、読み取りの段階から inferred として区別されてきた素材も、確定と混ぜずに inferred 側へ置く(format 写像が保ってきた区別をここで崩さない)。
24
+
25
+ 3. **不変則・制約を省略・改変せず保持する(Req 3.4)**
26
+ - 射影元に存在する**不変則・制約**(compass の Invariants /(指定時のみ)steering の守るべき制約 / packets の依存・受入条件のうち制約に当たるもの)が、生成 Spec の中で**省略・改変されていないか**を照合する。
27
+ - 射影元の不変則・制約を、生成 Spec はそのまま保持する。要約のために落とさず、言い換えで意味を変えず、緩めたり強めたりしない。読みやすさのための言い回しの調整は許されるが、制約の内容を変える書き換えはしない。
28
+ - 落ちている不変則・制約が見つかったら、それを補って保持する(射影元にあるものを生成物が削ってはならない)。
29
+
30
+ 4. **補完箇所を確認用に提示する(Req 3.3)**
31
+ - 射影元を超えて詳細を補完した箇所(手順2で inferred として標識した記述)の**一覧を、利用者が確認できる形で提示する**。
32
+ - 一覧は、どの記述が・どの理由で射影元に根拠を持たない(補完された)かを名指しし、利用者がその補完を容れるか退けるか判断できる粒度にする。
33
+ - 提示は警告であり、生成を止めるものではない。補完の採否は利用者の判断に委ねる。
34
+
35
+ ## 不変条件
36
+
37
+ - 射影元(intent-tree / compass / packets / steering)を読み直して再解釈しない・変更しない(照合のみ。読み取りは source scope 解釈、配置は format 写像の責務)。
38
+ - トレースの付かない記述を確定として残さない(各記述は射影元へ辿れるか、さもなくば inferred として標識される、のいずれかである)。
39
+ - inferred の記述を確定(canonical 由来)と混在させない(別枠・別標識を崩さない)。
40
+ - 射影元の不変則・制約を省略・改変しない(要約での欠落・言い換えでの意味変更・緩和/強化のいずれもしない)。
41
+ - 補完した箇所は必ず確認用の一覧として提示する(黙って本文へ溶かし込まない)。
@@ -0,0 +1,42 @@
1
+ # format 写像:統合仕様書向け(requirements 横断を統合)
2
+
3
+ `intent-to-spec` skill が、source scope 解釈が読み取った三層の素材を、**統合仕様書向けの自然言語 Spec**(横断した requirements と受入条件を読める形で1つにまとめた、実装に近い体裁)へ組み立てるための写像規則。SKILL.md は手順と報告形式のみを持ち、「どの素材をどの順で・どの見出しに配置するか」は本ルールを参照する。
4
+
5
+ ## 責務の境界(写像であって読み取り・照合ではない)
6
+
7
+ - 本ルールは **format 写像** である。素材の構成・順序・見出しへの割り当てだけを担う。
8
+ - 射影元(intent-tree / compass / packets / steering)を**読み直さない**。独自のパーサ・スキーマを持たず、source scope 解釈が受け渡した素材(どの層・どの見出し・どの packet 由来かを保ったもの)をそのまま並べ替える。
9
+ - 各記述を射影元へ辿れる形にすること、射影元に無い記述を inferred として標識すること、不変則を省略・改変せず保持することは**捏造抑制ルールの責務**であり、本ルールは行わない。本ルールは canonical 由来の素材と inferred 由来の素材(Assumptions / Open Questions)を**区別したまま**受け取り、その区別を崩さずに配置することだけを守る。
10
+ - 中間 format(上流と統合の中間)は、独立した別ルールを持たない。本ルールと format-upstream(上流向け)が両極を表し、中間は両極の**度合い**として表現する(上流向けの「why 前面」を統合側へどれだけ寄せるかの調整であり、別ルールを増やさない)。
11
+
12
+ ## 基本姿勢(横断した要求を実装に近い形へ統合する)
13
+
14
+ 統合仕様書向け Spec は、**横断した requirements と受入条件を、実装者がそのまま読み下せる1つのまとまりへ統合する**体裁である。読み手は実装に着手する立場を想定する。したがって:
15
+
16
+ - 散在する個別要求を、機能のまとまりごとに**統合**して並べ、各要求にその受入条件(満たすべき条件)を添える。
17
+ - why(目的)と制約(不変則・判断基準)は、個別要求を**支える前提**として簡潔に保ち、上流向けほど前面化しない(前面化を強めるほど上流向けへ寄る=度合いの調整)。
18
+ - 流暢さのために素材に無い詳細・受入条件を足さない(補完が要る箇所は捏造抑制ルールが inferred として扱うのであり、本ルールが本文に溶かし込んではならない)。
19
+
20
+ ## 構成(横断要求を統合し、各要求に受入条件を添える)
21
+
22
+ source scope 解釈が受け渡した三層の素材を、次の順で配置する。各セクションには、その素材がどの層・どの見出し由来かが後段の捏造抑制ルールで辿れるよう、由来を保ったまま渡す。
23
+
24
+ | 順 | セクション | 何を置くか | 主な素材の由来 |
25
+ |---|---|---|---|
26
+ | 1 | 概要(何を作るか) | 統合した仕様が向かう範囲と、それが満たす目的の要約 | Intent の North Star(compass)+ intent-tree の L0–L1(簡潔に) |
27
+ | 2 | 前提となる不変則・制約 | 全要求に共通して守るべき不変則と判断基準 | compass の Invariants / Anti-direction / Decision Rules(+指定時のみ steering 制約) |
28
+ | 3 | 統合要求と受入条件 | 横断 requirements を機能のまとまりごとに統合し、各要求にその受入条件を添えた本体 | 横断 requirements(packets の個別要求・依存・証拠)+受入条件 |
29
+ | 4 | 前提・未確定(あれば) | 確定した上記と**混ぜずに**別枠で置く前提・未解決の問い | intent-tree の Assumptions / Open Questions(inferred 由来) |
30
+
31
+ - セクション 1–3 は canonical 由来の素材で構成する。本体はセクション 3 であり、横断 requirements を機能のまとまりごとに統合し、各要求に対応する受入条件を添える(要求と受入条件を切り離さない)。
32
+ - セクション 2 の why・制約は本体(3)を支える前提として簡潔に置く。これを前面化するほど上流向けへ寄る(中間 format は本セクションと上流向けの「why 前面」のあいだの度合いとして表現する)。
33
+ - セクション 4 は inferred 由来(Assumptions / Open Questions)の素材を、canonical の本文へ溶かさず**末尾の別枠**に置く。素材が無ければセクションごと省く(空見出しを作らない)。
34
+ - 該当する素材が無い層はセクションを省く(無い情報を埋めない)。ただし統合要求と受入条件(3)は統合仕様書向け体裁の要であり、素材が読み取れているなら必ず置く。
35
+
36
+ ## 不変条件
37
+
38
+ - 射影元を読み直さない・変更しない(写像のみ。読み取りは source scope 解釈、書き込みは SKILL.md の派生 Write の責務)。
39
+ - 横断 requirements とその受入条件を切り離さない(各要求にその受入条件を添えた統合構成を崩さない)。
40
+ - 上流向けと統合向けの中間は度合いとして表現し、別ルールを作らない(本ルールと format-upstream が両極)。
41
+ - canonical 由来の素材と inferred 由来の素材を混在させない(区別を保ったまま配置し、標識そのものは捏造抑制ルールに委ねる)。
42
+ - 素材に無い詳細・受入条件を、文章を整えるために足さない。
@@ -0,0 +1,45 @@
1
+ # format 写像:非プログラム成果物向け(文書・業務・研究等)
2
+
3
+ `intent-to-spec` skill が、source scope 解釈が読み取った三層の素材を、**非プログラム成果物向けの自然言語 Spec**(文書・業務プロセス・研究/意思決定など、cc-sdd も openspec も使わない経路の読める成果物)へ組み立てるための写像規則。SKILL.md は手順と報告形式のみを持ち、「どの素材をどの順で・どの見出しに配置するか」は本ルールを参照する。
4
+
5
+ ## 責務の境界(写像であって読み取り・照合ではない)
6
+
7
+ - 本ルールは **format 写像** である。素材の構成・順序・見出しへの割り当てだけを担う。射影元(intent-tree / compass / packets / steering)を読み直さず、独自のパーサ・スキーマを持たない。source scope 解釈が受け渡した素材(どの層・どの見出し・どの packet 由来かを保ったもの)をそのまま並べ替える。
8
+ - 各記述を射影元へ辿れる形にすること、inferred の標識、不変則の保持は**捏造抑制ルールの責務**であり、本ルールは行わない。canonical 由来と inferred 由来の素材は区別したまま受け取り、その区別を崩さずに配置する。
9
+ - 本ルールは**詰め方(mode)を持たない**。意図の詰め方は `intent/modes/` の責務であり(DR16)、出力体裁の器である本ルールへ混入させない。
10
+
11
+ ## 基本姿勢(成果物そのものを読み手の言葉で読ませる)
12
+
13
+ 非プログラム成果物向け Spec は、コードを書かない読み手(文書の合意者・業務の担当者・研究や意思決定の関係者)が、**何が決まり・なぜそうで・どう判断し・何を満たせばよいか**をそのまま読み下せる体裁である。実装語彙(API・モジュール・テストケース等)を前面に出さず、対象領域の言葉で成果物を提示する。したがって:
14
+
15
+ - 背景・目的(なぜ)と、満たすべき到達点(何を)を、成果物の冒頭で読み手の言葉で示す。
16
+ - 守るべき約束・判断のよりどころ(不変則・判断基準)を、個別の中身より前に置く。
17
+ - 受容(合意できたか・差し戻すか)の基準は、コードの testable 語彙ではなく**合意・受容の言葉**で示す(degrade 語彙は packets 側が読み替えるのであり、本ルールはその読み替え済み素材をそのまま置く)。
18
+ - 流暢さのために素材に無い背景・詳細を足さない(補完が要る箇所は捏造抑制ルールが inferred として扱うのであり、本ルールが本文に溶かし込んではならない)。
19
+
20
+ ## 構成
21
+
22
+ source scope 解釈が受け渡した三層の素材を、汎用1枚の成果物として次の順で配置する(領域別の枚数・粒度の網羅はここでは行わない)。各セクションには、その素材がどの層・どの見出し由来かが後段の捏造抑制ルールで辿れるよう、由来を保ったまま渡す。
23
+
24
+ | 順 | セクション | 何を置くか | 主な素材の由来 |
25
+ |---|---|---|---|
26
+ | 1 | 背景と目的 | この成果物が向かう方向と、それが解く課題(読み手の言葉で) | Intent の North Star(compass)+ intent-tree の L0–L1 |
27
+ | 2 | 守るべき約束・前提 | 逸脱してはならない不変則と、避ける方向 | compass の Invariants / Anti-direction(+指定時のみ steering 制約) |
28
+ | 3 | 判断のよりどころ | 迷ったときに何を優先するかの基準 | compass の Decision Rules |
29
+ | 4 | 中身(満たすべき個別の到達点) | 上記のもとで満たすべき個別の要求・合意事項 | 横断 requirements(packets の個別要求・依存・受容根拠) |
30
+ | 5 | 受容の基準 | 合意できたか・差し戻すかを判定する受容語彙(degrade 済み) | packets の検証語彙(非コード読み替え済み・testable→受容基準で判定可能 等) |
31
+ | 6 | 前提・未確定(あれば) | 確定した上記と**混ぜずに**別枠で置く前提・未解決の問い | intent-tree の Assumptions / Open Questions(inferred 由来) |
32
+
33
+ - セクション 1–5 は canonical 由来の素材で構成する。順序を入れ替えない(背景・目的 → 約束 → 判断基準 → 中身 → 受容の順を非プログラム向け体裁の核とする)。
34
+ - セクション 6 は inferred 由来(Assumptions / Open Questions)の素材を、canonical の本文へ溶かさず**末尾の別枠**に置く。素材が無ければセクションごと省く(空見出しを作らない)。
35
+ - 該当する素材が無い層はセクションを省く(無い情報を埋めない)。ただし背景と目的(1)と守るべき約束・前提(2)は本体裁の要であり、素材が読み取れているなら必ず置く。
36
+ - steering が読み取れていない場合でも(steering は opt-in)、Intent と packets の二層から 1・2・4・5 を構成できる。steering 不在だけを理由に成果物を欠落させない。
37
+
38
+ ## 不変条件
39
+
40
+ - 射影元を読み直さない・変更しない(写像のみ。読み取りは source scope 解釈、書き込みは SKILL.md の派生 Write の責務)。出力は `.intent/nl-spec/` 配下の派生物に限り、canonical(intent-tree / compass / packets)は read-only のまま扱う。
41
+ - 各記述を射影元へ辿れる形を保ち、射影元に無い記述は inferred として標識する(標識そのものは捏造抑制ルールに委ね、本ルールは区別を崩さず配置するだけを守る)。
42
+ - 背景・目的(why)と約束・判断基準を、個別の中身より**前**に置く順序を崩さない。
43
+ - canonical 由来の素材と inferred 由来の素材を混在させない(区別を保ったまま配置する)。
44
+ - 素材に無い背景・動機・詳細を、文章を整えるために足さない。
45
+ - 出力体裁(format)の器に意図の詰め方(mode)を混入させない(DR16: 責務分離)。
@@ -0,0 +1,41 @@
1
+ # format 写像:上流向け(why 前面)
2
+
3
+ `intent-to-spec` skill が、source scope 解釈が読み取った三層の素材を、**上流向けの自然言語 Spec**(why が先に立つ RFP / 提案書ふうの体裁)へ組み立てるための写像規則。SKILL.md は手順と報告形式のみを持ち、「どの素材をどの順で・どの見出しに配置するか」は本ルールを参照する。
4
+
5
+ ## 責務の境界(写像であって読み取り・照合ではない)
6
+
7
+ - 本ルールは **format 写像** である。素材の構成・順序・見出しへの割り当てだけを担う。
8
+ - 射影元(intent-tree / compass / packets / steering)を**読み直さない**。独自のパーサ・スキーマを持たず、source scope 解釈が受け渡した素材(どの層・どの見出し・どの packet 由来かを保ったもの)をそのまま並べ替える。
9
+ - 各記述を射影元へ辿れる形にすること、射影元に無い記述を inferred として標識すること、不変則を省略・改変せず保持することは**捏造抑制ルールの責務**であり、本ルールは行わない。本ルールは canonical 由来の素材と inferred 由来の素材(Assumptions / Open Questions)を**区別したまま**受け取り、その区別を崩さずに配置することだけを守る。
10
+ - 中間 format(上流と統合の中間)は、本ルールの「why 前面」の度合いを統合仕様書側へ寄せたものとして扱う。独立した別ルールを持たない。
11
+
12
+ ## 基本姿勢(why を前面に置く)
13
+
14
+ 上流向け Spec は、**何を作るか(what)より、なぜそれを作るか(why)と何を守るか(制約)を先に読ませる**体裁である。読み手は実装者ではなく、方向と妥当性を判断する立場(上流の意思決定者)を想定する。したがって:
15
+
16
+ - 目的・不変則・判断基準(why と制約)を文書の**前面**に置く。
17
+ - 個別の requirements・受入条件のような実装に近い詳細は、why と制約の**後**に、それらを支える材料として置く。
18
+ - 流暢さのために素材に無い背景・動機を足さない(補完が要る箇所は捏造抑制ルールが inferred として扱うのであり、本ルールが本文に溶かし込んではならない)。
19
+
20
+ ## 構成(上から下へ:why → 制約 → 判断基準 → 個別要求)
21
+
22
+ source scope 解釈が受け渡した三層の素材を、次の順で配置する。各セクションには、その素材がどの層・どの見出し由来かが後段の捏造抑制ルールで辿れるよう、由来を保ったまま渡す。
23
+
24
+ | 順 | セクション | 何を置くか | 主な素材の由来 |
25
+ |---|---|---|---|
26
+ | 1 | 目的(なぜ作るか) | この Spec が向かう方向と、それが解く課題 | Intent の North Star(compass)+ intent-tree の L0–L1(why の上位) |
27
+ | 2 | 守るべき不変則・制約 | 逸脱してはならない不変則と、避ける方向 | compass の Invariants / Anti-direction(+指定時のみ steering 制約) |
28
+ | 3 | 判断基準 | 設計・実装で迷ったときの判断のよりどころ | compass の Decision Rules |
29
+ | 4 | 個別の要求 | 上記の why と制約のもとで満たすべき個別要求 | 横断 requirements(packets の個別要求・依存・証拠) |
30
+ | 5 | 前提・未確定(あれば) | 確定した上記と**混ぜずに**別枠で置く前提・未解決の問い | intent-tree の Assumptions / Open Questions(inferred 由来) |
31
+
32
+ - セクション 1–4 は canonical 由来の素材で構成する。順序を入れ替えない(why → 制約 → 判断基準 → 個別要求の順を上流向けの体裁の核とする)。
33
+ - セクション 5 は inferred 由来(Assumptions / Open Questions)の素材を、canonical の本文へ溶かさず**末尾の別枠**に置く。素材が無ければセクションごと省く(空見出しを作らない)。
34
+ - 該当する素材が無い層はセクションを省く(無い情報を埋めない)。ただし目的(1)と不変則・制約(2)は上流向け体裁の要であり、素材が読み取れているなら必ず置く。
35
+
36
+ ## 不変条件
37
+
38
+ - 射影元を読み直さない・変更しない(写像のみ。読み取りは source scope 解釈、書き込みは SKILL.md の派生 Write の責務)。
39
+ - why(目的)と制約(不変則・判断基準)を、個別要求より**前**に置く順序を崩さない。
40
+ - canonical 由来の素材と inferred 由来の素材を混在させない(区別を保ったまま配置し、標識そのものは捏造抑制ルールに委ねる)。
41
+ - 素材に無い背景・動機・詳細を、文章を整えるために足さない。