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.
- package/LICENSE +21 -0
- package/README.en.md +225 -0
- package/README.md +225 -0
- package/bin/cli.mjs +289 -0
- package/package.json +46 -0
- package/src/install.mjs +527 -0
- package/templates/en/agents/claude/CLAUDE.md +62 -0
- package/templates/en/agents/codex/AGENTS.md +62 -0
- package/templates/en/agents/gemini/GEMINI.md +62 -0
- package/templates/en/claude/skills/CONTRACT.md +86 -0
- package/templates/en/claude/skills/intent-compass/SKILL.md +55 -0
- package/templates/en/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/en/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/en/claude/skills/intent-discover/SKILL.md +63 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/en/claude/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/en/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/en/claude/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/en/claude/skills/intent-export-openspec/SKILL.md +90 -0
- package/templates/en/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/en/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/en/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/en/claude/skills/intent-from-spec/SKILL.md +60 -0
- package/templates/en/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/en/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/en/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/en/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/en/claude/skills/intent-improve/SKILL.md +70 -0
- package/templates/en/claude/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/en/claude/skills/intent-overview/SKILL.md +63 -0
- package/templates/en/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/en/claude/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/en/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/en/claude/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/en/claude/skills/intent-packets/SKILL.md +97 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/en/claude/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/en/claude/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/en/claude/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/en/claude/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/en/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/en/claude/skills/intent-release-note/SKILL.md +58 -0
- package/templates/en/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/en/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/en/claude/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/en/claude/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/en/claude/skills/intent-status/SKILL.md +171 -0
- package/templates/en/claude/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/en/claude/skills/intent-to-spec/SKILL.md +68 -0
- package/templates/en/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/en/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/en/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/en/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/en/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/en/claude/skills/intent-validate/SKILL.md +80 -0
- package/templates/en/claude/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/en/claude/skills/intent-writeback/SKILL.md +71 -0
- package/templates/en/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/en/codex/skills/CONTRACT.md +77 -0
- package/templates/en/codex/skills/intent-compass/SKILL.md +52 -0
- package/templates/en/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/en/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/en/codex/skills/intent-discover/SKILL.md +60 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/en/codex/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/en/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/en/codex/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/en/codex/skills/intent-export-openspec/SKILL.md +87 -0
- package/templates/en/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/en/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/en/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/en/codex/skills/intent-from-spec/SKILL.md +58 -0
- package/templates/en/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/en/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/en/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/en/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/en/codex/skills/intent-improve/SKILL.md +67 -0
- package/templates/en/codex/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/en/codex/skills/intent-overview/SKILL.md +61 -0
- package/templates/en/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/en/codex/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/en/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/en/codex/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/en/codex/skills/intent-packets/SKILL.md +94 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/en/codex/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/en/codex/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/en/codex/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/en/codex/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/en/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/en/codex/skills/intent-release-note/SKILL.md +56 -0
- package/templates/en/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/en/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/en/codex/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/en/codex/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/en/codex/skills/intent-status/SKILL.md +169 -0
- package/templates/en/codex/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/en/codex/skills/intent-to-spec/SKILL.md +66 -0
- package/templates/en/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/en/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/en/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/en/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/en/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/en/codex/skills/intent-validate/SKILL.md +78 -0
- package/templates/en/codex/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/en/codex/skills/intent-writeback/SKILL.md +68 -0
- package/templates/en/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/en/intent/README.md +118 -0
- package/templates/en/intent/cc-sdd/README.md +28 -0
- package/templates/en/intent/compass-archive/README.md +9 -0
- package/templates/en/intent/compass-archive/archive/.gitkeep +0 -0
- package/templates/en/intent/compass-archive.md +7 -0
- package/templates/en/intent/constraint-library.md +32 -0
- package/templates/en/intent/constraint-starters.md +58 -0
- package/templates/en/intent/context-cost-cues.md +55 -0
- package/templates/en/intent/deltas/README.md +11 -0
- package/templates/en/intent/deltas/archive/.gitkeep +0 -0
- package/templates/en/intent/deltas.md +34 -0
- package/templates/en/intent/drift-log/README.md +11 -0
- package/templates/en/intent/drift-log/archive/.gitkeep +0 -0
- package/templates/en/intent/drift-log.md +41 -0
- package/templates/en/intent/drift-patterns.md +68 -0
- package/templates/en/intent/export-log/README.md +12 -0
- package/templates/en/intent/export-log/archive/.gitkeep +0 -0
- package/templates/en/intent/export-log.md +6 -0
- package/templates/en/intent/glossary.md +23 -0
- package/templates/en/intent/intent-compass.md +55 -0
- package/templates/en/intent/intent-tree.md +59 -0
- package/templates/en/intent/milestones/README.md +10 -0
- package/templates/en/intent/milestones/archive/.gitkeep +0 -0
- package/templates/en/intent/milestones.md +22 -0
- package/templates/en/intent/mode.local.md +23 -0
- package/templates/en/intent/mode.md +32 -0
- package/templates/en/intent/modes/README.md +28 -0
- package/templates/en/intent/modes/behavior-unknown.md +57 -0
- package/templates/en/intent/modes/feature-growth.md +57 -0
- package/templates/en/intent/modes/non-code.md +46 -0
- package/templates/en/intent/modes/refactor.md +56 -0
- package/templates/en/intent/modes/standard.md +50 -0
- package/templates/en/intent/nl-spec/README.md +18 -0
- package/templates/en/intent/openspec/proposal.md +15 -0
- package/templates/en/intent/openspec/spec-delta.md +25 -0
- package/templates/en/intent/overview/README.md +18 -0
- package/templates/en/intent/packets/README.md +29 -0
- package/templates/en/intent/packets/index.md +6 -0
- package/templates/en/intent/packets/plan.md +23 -0
- package/templates/en/intent/release-note/README.md +18 -0
- package/templates/en/intent/scripts/intent-check.mjs +786 -0
- package/templates/en/intent/scripts/pre-push +27 -0
- package/templates/en/intent/spec-ingest/README.md +18 -0
- package/templates/ja/agents/claude/CLAUDE.md +62 -0
- package/templates/ja/agents/codex/AGENTS.md +62 -0
- package/templates/ja/agents/gemini/GEMINI.md +62 -0
- package/templates/ja/claude/skills/CONTRACT.md +90 -0
- package/templates/ja/claude/skills/intent-compass/SKILL.md +55 -0
- package/templates/ja/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/ja/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/ja/claude/skills/intent-discover/SKILL.md +63 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/ja/claude/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/ja/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/ja/claude/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/ja/claude/skills/intent-export-openspec/SKILL.md +90 -0
- package/templates/ja/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/ja/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/ja/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/ja/claude/skills/intent-from-spec/SKILL.md +60 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/ja/claude/skills/intent-improve/SKILL.md +70 -0
- package/templates/ja/claude/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/ja/claude/skills/intent-overview/SKILL.md +63 -0
- package/templates/ja/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/ja/claude/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/ja/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/ja/claude/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/ja/claude/skills/intent-packets/SKILL.md +97 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/ja/claude/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/ja/claude/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/ja/claude/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/ja/claude/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/ja/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/ja/claude/skills/intent-release-note/SKILL.md +58 -0
- package/templates/ja/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/ja/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/ja/claude/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/ja/claude/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/ja/claude/skills/intent-status/SKILL.md +171 -0
- package/templates/ja/claude/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/ja/claude/skills/intent-to-spec/SKILL.md +68 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/ja/claude/skills/intent-validate/SKILL.md +80 -0
- package/templates/ja/claude/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/ja/claude/skills/intent-writeback/SKILL.md +71 -0
- package/templates/ja/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/ja/codex/skills/CONTRACT.md +81 -0
- package/templates/ja/codex/skills/intent-compass/SKILL.md +52 -0
- package/templates/ja/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/ja/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/ja/codex/skills/intent-discover/SKILL.md +60 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/ja/codex/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/ja/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/ja/codex/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/ja/codex/skills/intent-export-openspec/SKILL.md +87 -0
- package/templates/ja/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/ja/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/ja/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/ja/codex/skills/intent-from-spec/SKILL.md +58 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/ja/codex/skills/intent-improve/SKILL.md +67 -0
- package/templates/ja/codex/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/ja/codex/skills/intent-overview/SKILL.md +61 -0
- package/templates/ja/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/ja/codex/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/ja/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/ja/codex/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/ja/codex/skills/intent-packets/SKILL.md +94 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/ja/codex/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/ja/codex/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/ja/codex/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/ja/codex/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/ja/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/ja/codex/skills/intent-release-note/SKILL.md +56 -0
- package/templates/ja/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/ja/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/ja/codex/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/ja/codex/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/ja/codex/skills/intent-status/SKILL.md +169 -0
- package/templates/ja/codex/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/ja/codex/skills/intent-to-spec/SKILL.md +66 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/ja/codex/skills/intent-validate/SKILL.md +78 -0
- package/templates/ja/codex/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/ja/codex/skills/intent-writeback/SKILL.md +68 -0
- package/templates/ja/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/ja/intent/README.md +118 -0
- package/templates/ja/intent/cc-sdd/README.md +28 -0
- package/templates/ja/intent/compass-archive/README.md +9 -0
- package/templates/ja/intent/compass-archive/archive/.gitkeep +0 -0
- package/templates/ja/intent/compass-archive.md +7 -0
- package/templates/ja/intent/constraint-library.md +32 -0
- package/templates/ja/intent/constraint-starters.md +58 -0
- package/templates/ja/intent/context-cost-cues.md +55 -0
- package/templates/ja/intent/deltas/README.md +11 -0
- package/templates/ja/intent/deltas/archive/.gitkeep +0 -0
- package/templates/ja/intent/deltas.md +34 -0
- package/templates/ja/intent/drift-log/README.md +11 -0
- package/templates/ja/intent/drift-log/archive/.gitkeep +0 -0
- package/templates/ja/intent/drift-log.md +41 -0
- package/templates/ja/intent/drift-patterns.md +68 -0
- package/templates/ja/intent/export-log/README.md +12 -0
- package/templates/ja/intent/export-log/archive/.gitkeep +0 -0
- package/templates/ja/intent/export-log.md +6 -0
- package/templates/ja/intent/glossary.md +23 -0
- package/templates/ja/intent/intent-compass.md +55 -0
- package/templates/ja/intent/intent-tree.md +59 -0
- package/templates/ja/intent/milestones/README.md +10 -0
- package/templates/ja/intent/milestones/archive/.gitkeep +0 -0
- package/templates/ja/intent/milestones.md +22 -0
- package/templates/ja/intent/mode.local.md +23 -0
- package/templates/ja/intent/mode.md +32 -0
- package/templates/ja/intent/modes/README.md +28 -0
- package/templates/ja/intent/modes/behavior-unknown.md +57 -0
- package/templates/ja/intent/modes/feature-growth.md +57 -0
- package/templates/ja/intent/modes/non-code.md +46 -0
- package/templates/ja/intent/modes/refactor.md +56 -0
- package/templates/ja/intent/modes/standard.md +50 -0
- package/templates/ja/intent/nl-spec/README.md +18 -0
- package/templates/ja/intent/openspec/proposal.md +15 -0
- package/templates/ja/intent/openspec/spec-delta.md +25 -0
- package/templates/ja/intent/overview/README.md +18 -0
- package/templates/ja/intent/packets/README.md +29 -0
- package/templates/ja/intent/packets/index.md +6 -0
- package/templates/ja/intent/packets/plan.md +23 -0
- package/templates/ja/intent/release-note/README.md +18 -0
- package/templates/ja/intent/scripts/intent-check.mjs +786 -0
- package/templates/ja/intent/scripts/pre-push +27 -0
- package/templates/ja/intent/spec-ingest/README.md +18 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-from-spec
|
|
3
|
+
description: 利用者が渡した自然言語仕様書(PRD・設計仕様・機能仕様・issue・ユーザーストーリー)を read-only で読み、明示されていない意図候補を抽出し、既存の物差しに照らして沈黙をギャップとして表出し、load-bearing で定性優先づけして omission recap を提示する内向きの取り込みスキル。抽出はすべて Assumptions(仮説)であり、出力は `.intent/spec-ingest/` 配下の派生物に限定し canonical な成果物は一切変更しない。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# intent-from-spec Skill
|
|
7
|
+
|
|
8
|
+
## Core Mission
|
|
9
|
+
- **Success Criteria**:
|
|
10
|
+
- 利用者が渡した自然言語仕様書(PRD・設計仕様・機能仕様・issue・ユーザーストーリーなど一般的な開発仕様書のテキスト)を read-only で読み、目的・成果・能力・不変則・制約・anti-direction・暗黙の前提の意図候補を抽出している。抽出したすべての候補を Assumptions(推測された意図)として標識し、canonical(確定した意図)と混在させない(R1.1 / R1.2)
|
|
11
|
+
- ソースコード・実行トレース・テスト結果を意図抽出の入力に用いない。入力は利用者が指定した自然言語仕様書のテキストに限定する(R1.4)
|
|
12
|
+
- 仕様書に含まれる技術要求・セキュリティ要求などの守るべき制約を取りこぼさず Compass の Invariants 候補として拾い、その行き先を Invariants に限定する(steering(tech.md)/design への反映は下流に委ねる。R1.5 / R1.6)
|
|
13
|
+
- 入力として仕様書テキストが与えられていないとき、抽出を行わず、入力すべき仕様書を利用者に求めて終了する(fail-fast。R1.3)
|
|
14
|
+
- 既存の物差し(`validate-checks.md` の検査カタログ・`decision-slots.md` の共通コアスロット)に仕様書を照らし、埋まらない項目をギャップとして列挙する。各ギャップがどのカテゴリ・どのスロットの沈黙かを観測可能な形で示し、確定欠陥でなく仮説として提示する(R2.1 / R2.2 / R2.3)
|
|
15
|
+
- ギャップを提示している間も処理を停止せず、警告・気づきの提示に留める(drift-watch と同 stance。R2.4)
|
|
16
|
+
- 抽出物・ギャップを load-bearing(落ちると後続の正しさを損なう種類か)で定性的に仕分けし、high の項目を low と区別できる形で提示する。判定は `decision-slots.md` の「前倒し/遅延ドア」列を読んで写すだけで、数理ソルバー・数値スコア・閾値を持たない(R3.1 / R3.2 / R3.3)
|
|
17
|
+
- 「何を照合し(枠の提示)・何が埋まらなかったか」を omission recap として要約し、再確認を促す(R4.1)
|
|
18
|
+
- 承認された項目のみを canonical な Intent 構造へ載せる対象とし、未承認項目は Assumptions のまま破棄せず保持する。canonical への自動反映は行わず、昇格は利用者の人手コピーに委ねる(R4.2 / R4.3 / R4.4)
|
|
19
|
+
- 出力は `.intent/spec-ingest/` 配下の派生物に限定し、canonical な `.intent/*.md`・アプリケーションコード・入力仕様書を一切変更しない(read-only。R5.2)。命名規約 `intent-*` に従い、外部 spec ツール・kiro-* 開発環境を変更しない(R5.6)
|
|
20
|
+
|
|
21
|
+
## Execution Steps
|
|
22
|
+
|
|
23
|
+
### Step 1: 入力(自然言語仕様書テキスト)の存在を確認する(fail-fast)
|
|
24
|
+
- 利用者が `/intent-from-spec` を実行したとき、まず取り込む自然言語仕様書のテキスト(ファイルパス指定または本文の貼り付け)が与えられているかを確認する。
|
|
25
|
+
- 仕様書テキストが与えられていない場合は、**何も書き込まず**に入力の不在を明示し、取り込む仕様書(パス指定または貼り付け)を渡すよう利用者に自然言語で求めて終了する(fail-fast。R1.3)。この時点では `.intent/spec-ingest/` 配下に一切書き込まない。
|
|
26
|
+
- ソースコード・実行トレース・テスト結果は意図抽出の入力に**用いない**。それらからの意図逆算は behavior-unknown モードの code→Intent が担う別経路であり、本スキルの対象外である(R1.4)。
|
|
27
|
+
- 物差しの正本(`intent-validate/rules/validate-checks.md`・`intent-packets/rules/decision-slots.md`)と canonical な `.intent/*.md`(あれば intent-tree / compass / mode)は後続 Step で read-only に参照する。無くても停止しない(紐づけ不能な箇所は不在を明示する)。
|
|
28
|
+
|
|
29
|
+
### Step 2: 4 つの rules に委譲して抽出・照合・仕分け・recap する
|
|
30
|
+
- 本スキルは独自の抽出・照合・判定・採点ロジックを持たない。各観点の正確な読み取り・転記・紐づけ規則は以下 4 つの rules に委譲する(相対パスで参照)。各 rules が指定する正確な見出し・転記先・ID 体系に従い、抽出候補をすべて Assumptions として標識し、物差しは読むだけで再実装せず、欠落・未観測は推測で埋めず明示する。
|
|
31
|
+
- `rules/extract-intent.md` — 仕様書テキストを読み、目的/成果/能力/不変則/制約/anti-direction/暗黙の前提の7カテゴリの意図候補を抽出する。全候補を Assumptions として標識し、各候補を転記先(intent-tree の L0–L4 Assumptions / compass の Invariants・Anti-direction・Decision Rules)が一意に決まる見出し・粒度で書き出す。技術/セキュリティ要求などの守るべき制約は取りこぼさず compass の Invariants 候補へ拾い、その行き先を Invariants に限定する(tech.md/design への反映は output に含めない=下流委譲。R1.1 / R1.2 / R1.4 / R1.5 / R1.6 / R5.1)。
|
|
32
|
+
- `rules/gap-readout.md` — `validate-checks.md` の安定 kebab-case 検査 ID と `decision-slots.md` の共通コア8スロット ID を**読み取り**、入力仕様書に照らして埋まらない項目をギャップとして列挙する。各ギャップがどの物差しの沈黙か(ID 紐づけ)・どのカテゴリ/スロットの沈黙か(観測可能な根拠)を示し、確定欠陥でなく仮説として提示する。独自の検査 ID・スロット ID を新しく定義しない。spec-ingest は提案者(proposer)であり受理ゲートではないため、仕様書の沈黙からスロット該当を**推論してよいが、確定はしない**(validate と別 posture)。処理を止めず warn のみ(R2.1 / R2.2 / R2.3 / R2.4)。
|
|
33
|
+
- `rules/load-bearing.md` — gap-readout がスロット ID に紐づけたギャップ・意図候補について、`decision-slots.md` の**「前倒し/遅延ドア」列**を読んで写すだけで high/low を定性仕分けする。「前倒し」=high(落ちると危険)、「遅延可」=low。数理ソルバー・数値スコア・閾値を持たず、判別軸を新たに発明しない。スロット ID に紐づけられない項目は load-bearing 不明として不在を明示する。high を low と観測可能に区別して提示し、low も切り捨てず保持する(R3.1 / R3.2 / R3.3)。
|
|
34
|
+
- `rules/omission-recap.md` — 「照合した枠(何を読んだか)/埋まった箇所/埋まらなかった箇所(沈黙)/照合できなかった箇所(不在)」を一覧として要約し、「沈黙の沈黙」(AI が網羅を匂わせ人間が探索を止める不作為エラー)を避ける。gap-readout が紐づけた既存 ID をそのまま引き再定義しない。承認項目のみ canonical 昇格の対象とし、未承認は Assumptions のまま保持、昇格は利用者が承認項目を手で discover / compass の対話へ持ち込む人手コピーであることを案内する(機械ハンドオフを持たない。R4.1 / R4.2 / R4.3 / R4.4)。
|
|
35
|
+
|
|
36
|
+
### Step 3: 派生ビューを最後に `.intent/spec-ingest/` へ書き込む(全置換・派生)
|
|
37
|
+
- すべての抽出・照合・仕分け・recap が終わってから、**最後に** `.intent/spec-ingest/spec-ingest.md` を**全置換**で書き込む(再生成の冪等性)。canonical な `.intent/*.md`(intent-tree / compass 等)・steering(tech.md)・design・入力仕様書には一切書き込まない。
|
|
38
|
+
- ビュー冒頭に、本ビューが派生(derived)・再生成可能であり・正本ではなく・Git 非追跡であること、および記載された意図候補・ギャップ・load-bearing 度がすべて Assumptions(仮説)であり利用者の承認まで暫定であることを明示する(R1.2)。
|
|
39
|
+
- 出力は extract-intent の転記先見出しに従い、人が intent-tree の Assumptions / compass の各ブロックへ 1:1 で写せる粒度で構成する(昇格の継ぎ目を人手に保つ)。
|
|
40
|
+
|
|
41
|
+
## Output Description
|
|
42
|
+
- `.intent/spec-ingest/spec-ingest.md`(派生・再生成可能・Git 非追跡。正本ではなく全項目が Assumptions である旨をビュー冒頭に明示)。内容は次を含む:
|
|
43
|
+
- **意図候補(抽出)**: extract-intent の output contract に従い、目的/成果/能力候補(→ intent-tree L0–L4 Assumptions)・Invariants 候補(→ compass Invariants、技術/セキュリティ制約を含む)・Anti-direction 候補(→ compass Anti-direction)・暗黙前提候補(→ intent-tree Assumptions / compass Decision Rules)を、転記先が一意に決まる見出しで提示。各候補に抽出根拠(仕様書のどの記述/沈黙からか)を併記。
|
|
44
|
+
- **ギャップ(沈黙)**: gap-readout が `validate-checks.md` / `decision-slots.md` の ID に紐づけたギャップを、どのカテゴリ/スロットの沈黙かとともに仮説として列挙。
|
|
45
|
+
- **load-bearing 仕分け**: high の項目を low と区別して提示(high を先頭にまとめる等)。スロットに紐づけ不能なものは load-bearing 不明として明示。
|
|
46
|
+
- **omission recap**: 照合した枠/埋まった箇所/埋まらなかった箇所/照合できなかった箇所の一覧と、承認項目を利用者が discover / compass へ手で転記する昇格案内。
|
|
47
|
+
- 素材が無いカテゴリ・軸は「該当記述なし(沈黙)/未観測」と明示し省略する(推測で埋めない)。
|
|
48
|
+
|
|
49
|
+
## Safety & Fallback
|
|
50
|
+
- **書込み境界**: 書込み先は `.intent/spec-ingest/` 配下限定である。canonical な `.intent/*.md`(intent-tree / compass / mode 等)・物差しの正本(`validate-checks.md` / `decision-slots.md`)・steering(tech.md)・design・入力仕様書は read-only であり、そこへは作成・変更・削除を一切行わない(書き込みは `.intent/spec-ingest/` 配下に限る。R5.2)。
|
|
51
|
+
- **ギャップは仮説(warn のみ・止めない)**: ギャップ・load-bearing 度・意図候補はすべて確定した欠陥/深刻度ではなく Assumptions(仮説)である。提示している間も処理を停止せず、警告・気づきの提示に留める(drift-watch と同 stance。R2.3 / R2.4)。
|
|
52
|
+
- **承認ゲート・昇格は人手**: canonical への反映には利用者の明示的な承認を必須とする。承認項目のみを canonical 昇格の対象とし、未承認項目は破棄せず Assumptions のまま保持する。canonical への自動反映は行わない。昇格は利用者が承認項目を手で discover / compass の対話へ持ち込む人手コピーであり、spec-ingest は discover / compass を呼ばず、discover / compass が spec-ingest の出力を自動で読み込むこともない(機械ハンドオフを持たない=hidden shared ownership を作らない。R4.2 / R4.3 / R4.4)。
|
|
53
|
+
- **物差しを再実装しない**: 検査・スロット検証を自前で実行せず、`validate-checks.md` / `decision-slots.md` の ID カタログと「前倒し/遅延ドア」列を読むだけである。独自の検査 ID・スロット ID・スコアリング・重み付けエンジンを持たない。
|
|
54
|
+
- **外部依存ゼロ**(INV2 / R5.3)。外部パッケージ・AST パーサ・数理ソルバーを導入せず、Node 標準と自然言語ヒューリスティクスに限定し、抽出処理を自然言語のワークフロー内で完結させる。
|
|
55
|
+
- **アプリケーションコードを変更しない**(R5.2)。意図計画フェーズにおいてアプリケーションコードおよび入力された仕様書を変更しない(読み取りのみ)。
|
|
56
|
+
- **命名・外部非変更**: 命名規約 `intent-*` に従い、外部 spec ツール・kiro-* 開発環境を変更しない(R5.6)。
|
|
57
|
+
- **前提不在時**: 入力仕様書テキストが無いとき、何も書き込まず不在を明示し、取り込む仕様書(パス指定または貼り付け)を渡すよう利用者に自然言語で求めて終了する(fail-fast。R1.3)。
|
|
58
|
+
- **部分欠落時**: 7カテゴリのうち仕様書が沈黙しているもの、物差しのカタログに紐づけ不能なギャップ、スロットに紐づけ不能で load-bearing 不明なものは、当該箇所を「該当記述なし(沈黙)/不在/不明」と明示し省略する(推測で埋めない)。
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 意図候補の抽出手順(read-only・全候補は Assumptions)
|
|
2
|
+
|
|
3
|
+
`intent-from-spec` skill が、利用者の渡した自然言語仕様書(PRD・設計仕様・機能仕様・issue・ユーザーストーリーなど一般的な開発仕様書のテキスト)を読み、明示されていない意図の候補を抽出するための正本。SKILL.md は手順と報告形式のみを持ち、「何を・どのカテゴリで読み取り、どの転記先へ向けて書き出すか」は本ルールを参照する。本ルールは仕様書を**読むだけ**であり、入力仕様書・canonical な `.intent/*.md`・steering(tech.md 等)・design を一切変更しない(書き込みは `.intent/spec-ingest/` 配下のみ)。
|
|
4
|
+
|
|
5
|
+
## posture(提案者であって判定者ではない)
|
|
6
|
+
|
|
7
|
+
本ルールが行うのは LLM 判断のヒューリスティクスによる**抽出(提案)**であり、確定された意図の認定ではない。抽出した候補はすべて**仮説(Assumptions)**であり、利用者が確認・承認するまで暫定として扱う。処理は止めず、警告・気づきの提示に留める(推測された意図は人間がレビューするまで暫定として扱う、というプロダクト不変条件に一貫する)。したがって本ルールは仕様書の記述・沈黙からスロット該当を**推論してよいが、確定はしない**。
|
|
8
|
+
|
|
9
|
+
## 入力の境界(固定)
|
|
10
|
+
|
|
11
|
+
- 入力は利用者が指定した自然言語仕様書のテキストに**限定**する(パス指定または貼り付け)。
|
|
12
|
+
- **ソースコード・実行トレース・テスト結果を意図抽出の入力に用いない**。それらからの意図逆算は behavior-unknown モードの code→Intent が担う別経路であり、本ルールの対象外である。
|
|
13
|
+
- 入力が与えられていないときは抽出を行わず、入力すべき仕様書を利用者に求める(何も書かない)。
|
|
14
|
+
|
|
15
|
+
## 抽出する候補カテゴリ(7種・すべて Assumptions)
|
|
16
|
+
|
|
17
|
+
仕様書テキストを読み、次の7カテゴリの候補を抽出する。各候補には抽出根拠(仕様書のどの記述・どの沈黙から導いたか)を併記する。**抽出したすべての候補を Assumptions(推測された意図)として標識し、canonical(確定した意図)と混在させない。**
|
|
18
|
+
|
|
19
|
+
1. **目的(Purpose)** — このプロダクト/機能は何のために存在するか。
|
|
20
|
+
2. **成果(Desired Outcomes)** — ユーザー・事業・運用・開発体験に起こしたい状態変化。
|
|
21
|
+
3. **能力(Capabilities)** — 成果を支える責務・能力(機能名でなく能力として)。
|
|
22
|
+
4. **不変則(Invariants)** — 絶対に壊してはいけない振る舞い・API・データ・UX・運用制約。技術要求・セキュリティ要求などの「守るべき制約」を含む。
|
|
23
|
+
5. **制約(Constraints)** — 守るべき技術/セキュリティ/運用上の要求・前提条件。
|
|
24
|
+
6. **anti-direction** — 進んではいけない方向、避けるべき局所最適。
|
|
25
|
+
7. **暗黙の前提(Implicit Assumptions)** — 仕様書が明示せず前提にしている事項、およびそこから導かれる判断。
|
|
26
|
+
|
|
27
|
+
> 技術要求・セキュリティ要求などの守るべき制約は、明示されていても暗黙でも**取りこぼさない**。これらは不変則カテゴリへ確実に拾い上げ、下記 output contract の Invariants 候補として書き出す。
|
|
28
|
+
|
|
29
|
+
## output contract(転記先が一意に決まる見出しで書き出す)
|
|
30
|
+
|
|
31
|
+
各候補を、人が転記先へ 1:1 で写せる見出し・粒度で書き出す。見出しは下表の転記先に一意対応させる。本ルールは候補を**書き出すところまで**を責務とし、転記先(canonical な intent-tree / compass、および steering / design)への反映は行わない。承認された候補を利用者が手で discover / compass の対話へ持ち込むことで昇格する(機械ハンドオフを持たない)。
|
|
32
|
+
|
|
33
|
+
| 抽出カテゴリ | 書き出す見出し | 転記先(人手・本ルールでは反映しない) |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| 目的 | `### 目的候補(→ intent-tree L0 Assumptions)` | intent-tree `## Assumptions`(L0: Product Purpose 相当) |
|
|
36
|
+
| 成果 | `### 成果候補(→ intent-tree L1 Assumptions)` | intent-tree `## Assumptions`(L1: Desired Outcomes 相当) |
|
|
37
|
+
| 能力 | `### 能力候補(→ intent-tree L2 Assumptions)` | intent-tree `## Assumptions`(L2: Capabilities 相当) |
|
|
38
|
+
| 不変則 | `### Invariants 候補(→ compass Invariants)` | compass `## Invariants` |
|
|
39
|
+
| 制約 | `### 制約候補(→ compass Invariants)` | compass `## Invariants` |
|
|
40
|
+
| anti-direction | `### Anti-direction 候補(→ compass Anti-direction)` | compass `## Anti-direction` |
|
|
41
|
+
| 暗黙の前提 | `### 暗黙前提候補(→ intent-tree Assumptions / Decision Rules)` | intent-tree `## Assumptions`、および前提から導かれる判断は compass `## Decision Rules` 候補 |
|
|
42
|
+
|
|
43
|
+
- **目的・成果・能力**は intent-tree の対応する L0–L4 レベルの `## Assumptions` 項目へ 1:1 で写せる粒度にする(canonical な L0–L4 本体には書かない)。
|
|
44
|
+
- **anti-direction** は compass の `## Anti-direction` ブロックへ写せる粒度にする。
|
|
45
|
+
- **暗黙の前提から導かれる判断**は compass の `## Decision Rules` 候補として書き出す(候補であり確定 ADR ではない)。
|
|
46
|
+
- **不変則・制約(技術/セキュリティ要求を含む守るべき制約)は compass の `## Invariants` ブロック候補へ書き出す。** Invariants 候補の行き先は compass の Invariants に**限定**する。
|
|
47
|
+
|
|
48
|
+
## 下流委譲(output に含めないこと)
|
|
49
|
+
|
|
50
|
+
- Invariants 候補が steering(tech.md)や design へ反映されるのは既存の流れ(writeback / export / 人手)が担う。**本ルールの output に tech.md / design への反映は含めない。** 本ルールの責務は Invariants 候補として compass 行きの見出しで記録するところまでに留め、単一正本を保つ。
|
|
51
|
+
- canonical な intent-tree / compass への書き込みも行わない(昇格は承認後に人手)。
|
|
52
|
+
|
|
53
|
+
## 欠落・未観測の扱い
|
|
54
|
+
|
|
55
|
+
- 7カテゴリのうち仕様書が沈黙しているものは、推測で埋めず「該当記述なし(沈黙)」として明示する。沈黙そのものをギャップとして扱うのは gap-readout 側の責務であり、本ルールは抽出できた候補と、抽出できなかったカテゴリの不在を区別して提示する。
|
|
56
|
+
- すべての出力は派生(derived)・再生成可能であり正本ではない旨を明示する。canonical へは書き戻さない。
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# 沈黙のギャップ表出手順(read-only・物差しを読むだけ・ギャップは仮説)
|
|
2
|
+
|
|
3
|
+
`intent-from-spec` skill が、利用者の渡した自然言語仕様書に既存の物差しを照らし、仕様書が**沈黙している箇所**をギャップとして表出するための正本。SKILL.md は手順と報告形式のみを持ち、「どの物差しを・どう読み、どのカテゴリ/スロットの沈黙として紐づけるか」は本ルールを参照する。本ルールは物差しのカタログを**読むだけ**であり、独自の検査 ID・スロット ID を定義しない。判定ロジックの正本は参照先にあり、本ルールはその ID 体系という器を借りて、仕様書が満たさない項目を振り分けるだけである。観測は Read / Glob / Grep に限り、入力仕様書・canonical な `.intent/*.md`・物差しの正本を一切変更しない(書き込みは `.intent/spec-ingest/` 配下のみ)。
|
|
4
|
+
|
|
5
|
+
## posture(提案者であって受理ゲートではない)
|
|
6
|
+
|
|
7
|
+
本ルールの posture を冒頭に明記する。これは隣の `intent-validate` と**別 posture** であり、矛盾ではない。
|
|
8
|
+
|
|
9
|
+
- `intent-packets/rules/decision-slots.md` は「ツール(slot 検証器)は成果物の内容からスロット該当を推論してはならない」と規律する。これは `intent-validate` が**受理ゲート(accept/reject の判定者)**だからである — 判定者が内容から該当を推論すると、宣言されていない事項で着工を止める/通す不当な判定が生じる。
|
|
10
|
+
- `intent-from-spec` は**提案者(proposer)**であって判定者ではない。出力は accept/reject の判定ではなく、人間の確認を必須とする **Assumptions(仮説)**である。
|
|
11
|
+
- したがって本ルールは **spec-ingest は仕様書の沈黙からスロット該当を推論してよいが、確定はしない**。validate が推論を禁じられるのは判定者だからであり、提案者である本ルールが推論するのは規律の例外ではなく、最初から別の posture に立っている。
|
|
12
|
+
- 推論された該当はすべて仮説として標識し、利用者が確認・承認するまで暫定として扱う(推論された意図は人間がレビューするまで暫定として扱う、というプロダクト不変条件に一貫する)。
|
|
13
|
+
|
|
14
|
+
## 読む物差し(ID を定義せず参照する)
|
|
15
|
+
|
|
16
|
+
本ルールは次の2つの既存正本の ID カタログを**読み取る**。ID の値域・発火条件・深刻度は参照先が正であり、本ルールでは複製・再定義しない(「表が正」)。
|
|
17
|
+
|
|
18
|
+
1. **`intent-validate/rules/validate-checks.md` の検査カタログ表** — `ID` 列の安定 kebab-case ID 群(`invariant-conflict` / `anti-direction-violation` / `requirements-smell` / `decision-slot-empty` / `decision-slot-unsown` など)と `深刻度の目安` 列を読む。検査の追加・変更はこの表が正であり、本ルールは ID 列をそのまま引く(再導出しない)。
|
|
19
|
+
2. **`intent-packets/rules/decision-slots.md` の共通コアスロット表** — 全モードで播く8スロットの ID 群(`decision-consistency` / `decision-idempotency` / `decision-error-semantics` / `decision-authz` / `decision-quality-priority` / `decision-fit-criterion` / `decision-exception-flow` / `decision-downstream-trace`)を読む。スロットの区分・閉じ先は参照先が正であり、本ルールはその ID をそのまま引く。
|
|
20
|
+
|
|
21
|
+
> 本ルールが独自の検査 ID/スロット ID を**新しく定義することはない**。上記カタログに無い ID を作らず、観測したギャップを既存 ID へ振り分ける。
|
|
22
|
+
|
|
23
|
+
## ギャップ列挙の手順
|
|
24
|
+
|
|
25
|
+
意図候補の抽出(extract-intent)が完了したら、上記カタログを読み、入力仕様書に照らして**埋まらない項目**をギャップとして列挙する。各ギャップは次の3点を観測可能な形で示す。
|
|
26
|
+
|
|
27
|
+
1. **どの物差しの沈黙か** — `validate-checks.md` の安定 kebab-case ID、または `decision-slots.md` の共通コアスロット ID のどれに対応するかを明示する(参照可能なものは ID に紐づけ、紐づけ不能なものは ID を省略し不在を明示する)。
|
|
28
|
+
2. **どのカテゴリ/スロットの沈黙か** — そのギャップが仕様書のどの不在(どの検査区分・どのスロット)の沈黙に当たるかを観測可能な根拠(仕様書のどの箇所が沈黙しているか)とともに示す。
|
|
29
|
+
3. **仮説としての提示** — 確定した欠陥としてではなく、利用者が確認すべき**仮説**として提示する(「この項目は仕様書が沈黙している疑いがある」)。確定欠陥の認定はしない。
|
|
30
|
+
|
|
31
|
+
### 紐づけの例(ID は参照先カタログから引く)
|
|
32
|
+
|
|
33
|
+
- 仕様書がデータ変更時の整合モデルに沈黙 → `decision-slots.md` の `decision-consistency` スロットの沈黙として紐づけ、仮説提示する。
|
|
34
|
+
- 仕様書が異常入力時の返却契約に沈黙 → `decision-error-semantics` スロットの沈黙。
|
|
35
|
+
- 仕様書がアクセス権限・実行アクターに沈黙 → `decision-authz` スロットの沈黙。
|
|
36
|
+
- 要求記述に曖昧語・主観語・比較級が残る → `validate-checks.md` の `requirements-smell` に紐づけ、引用して利用者の判断に委ねる(言い換えを正本に書き戻さない)。
|
|
37
|
+
- compass Invariants と衝突しうる方向の記述 → `invariant-conflict`、避けるべき方向の記述 → `anti-direction-violation` に紐づけて仮説提示する。
|
|
38
|
+
|
|
39
|
+
> 上記はいずれも例であり、ID の定義そのものではない。値域・発火条件・深刻度は参照先カタログを正とする。
|
|
40
|
+
|
|
41
|
+
## 処理を止めない(warn のみ・drift-watch と同 stance)
|
|
42
|
+
|
|
43
|
+
- ギャップを提示している間も処理を**停止しない**。本ルールは受理ゲートではないため、ギャップの存在で着工や後続を止めず、警告・気づきの提示に留める(drift-watch の「警告のみ・止めない」姿勢と一貫する)。
|
|
44
|
+
- 列挙したギャップはすべて仮説であり、利用者が確認・承認するまで Assumptions のまま保持する。承認も棄却もせず破棄しない。
|
|
45
|
+
|
|
46
|
+
## 「沈黙の沈黙」を避ける(何を照合したかも示す)
|
|
47
|
+
|
|
48
|
+
- 各ギャップを示すだけでなく、**何を照合したか(読んだ物差しの枠)**も提示し、検査した枠自体が見えないことによる不作為エラーを避ける(照合枠と埋まらなかった箇所の要約は omission-recap が担うが、本ルールも紐づけた ID 体系を明示することで「どの器に照らしたか」を観測可能にする)。
|
|
49
|
+
- 参照不能な箇所(カタログに該当 ID が無い・物差しが当該観点を持たない)は推測で埋めず、ID への紐づけを**省略**し不在を明示する。
|
|
50
|
+
|
|
51
|
+
## 出力の扱い
|
|
52
|
+
|
|
53
|
+
- すべての出力は派生(derived)・再生成可能であり正本ではない。canonical な intent-tree / compass へは書き戻さない(昇格は承認後に人手)。
|
|
54
|
+
- 本ルールは物差しの正本(`validate-checks.md` / `decision-slots.md`)を一切変更しない。検査やスロット検証を自前で実行せず、ID カタログを読みに行くだけである。
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# load-bearing 仕分け手順(read-only・表を読むだけ・数値を持たない)
|
|
2
|
+
|
|
3
|
+
`intent-from-spec` skill が、抽出した意図候補と表出したギャップを「落ちると後続の正しさを損なう種類か(load-bearing か)」で定性的に優先づけし、load-bearing 度が高い項目を低い項目と区別できる形で提示するための正本。SKILL.md は手順と報告形式のみを持ち、「何を判別軸として読み、どう high/low へ仕分けるか」は本ルールを参照する。本ルールは判別軸を**新たに発明せず**、既存正本の列を**読んで写すだけ**である。観測は Read / Glob / Grep に限り、入力仕様書・canonical な `.intent/*.md`・物差しの正本を一切変更しない(書き込みは `.intent/spec-ingest/` 配下のみ)。
|
|
4
|
+
|
|
5
|
+
## 判別軸は表を読む操作であって新たな判断ではない
|
|
6
|
+
|
|
7
|
+
本ルールの核は「**`decision-slots.md` の既存列を読んで写す**」ことに尽きる。high/low の軸を本ルールで定義・導出せず、数理ソルバー・数値スコア・閾値を一切持たない。仕分けは表を引く操作であり、新たに重み付けや採点を行うことではない。
|
|
8
|
+
|
|
9
|
+
- スロットごとの load-bearing 度は `intent-packets/rules/decision-slots.md` の**「前倒し/遅延ドア」列**に既に書かれている。本ルールはこの列を**第一の判別軸**として読む。
|
|
10
|
+
- この列は `decision-slots.md` の**共通コアスロット表・全モード別差分表(standard / refactor / behavior-unknown / feature-growth)のすべてに存在する**。したがって、どのスロットを引く場合でもこの列を一意に読める。
|
|
11
|
+
- 「根拠」列は**共通コア表にしか存在しない**。よってこれを判別の主キーにはせず、high と判定した理由を**補足説明**する材料としてのみ用いる(なぜ落ちると危険かの言葉を借りるだけで、high/low の判別そのものは「前倒し/遅延ドア」列で行う)。
|
|
12
|
+
|
|
13
|
+
## 読む列と high/low の対応
|
|
14
|
+
|
|
15
|
+
`decision-slots.md` の「前倒し/遅延ドア」列の値を、そのまま次のように写す。
|
|
16
|
+
|
|
17
|
+
| 「前倒し/遅延ドア」列の値 | load-bearing 度 | 意味 |
|
|
18
|
+
|---------------------------|-----------------|------|
|
|
19
|
+
| 前倒し(一方向・不可逆・セキュリティ/法規制の床) | **high** | 後から覆すと外部影響が大きく、落ちると後続の正しさを損なう。沈黙していると危険 |
|
|
20
|
+
| 遅延可(双方向・局所化でき可逆) | **low** | 双方向に決め直せ可逆で、後から局所的に補える。沈黙していても後続を直接は壊しにくい |
|
|
21
|
+
|
|
22
|
+
- 列の値が「前倒し」で始まるスロットの沈黙は **high**、「遅延可」で始まるスロットの沈黙は **low** とする。これ以上の段階(中間値・数値)を本ルールで導入しない。
|
|
23
|
+
- 「前倒し」「遅延可」の括弧内(一方向/双方向、不可逆/可逆、セキュリティ・法規制の床 など)は、その high/low をなぜそう読むかを表自身が説明している箇所であり、本ルールはその語をそのまま提示理由に引く(再定義しない)。
|
|
24
|
+
|
|
25
|
+
### 写しの例(値は参照先の表から引く)
|
|
26
|
+
|
|
27
|
+
- `decision-authz`(認可)は「前倒し(一方向: セキュリティ/法規制の床)」 → 沈黙は **high**。理由は共通コア表「根拠」列の「不可逆・セキュリティ床」を補足として添える。
|
|
28
|
+
- `decision-consistency`(整合性モデル)は「前倒し(一方向: 後から覆すと外部影響が大きい)」 → 沈黙は **high**。
|
|
29
|
+
- `decision-error-semantics`(エラー意味論)は「遅延可(双方向)」 → 沈黙は **low**。
|
|
30
|
+
- `decision-data-migration`(データ移行・feature-growth)は「前倒し(一方向: 不可逆)」 → 沈黙は **high**。
|
|
31
|
+
|
|
32
|
+
> いずれも参照先の表の値を写した例であって、本ルールでの再判定ではない。値が変わったら参照先の表が正であり、本ルールは追従して読み直すだけである。
|
|
33
|
+
|
|
34
|
+
## ギャップ・意図候補への適用
|
|
35
|
+
|
|
36
|
+
- gap-readout が `decision-slots.md` のスロット ID に紐づけたギャップは、そのスロット行の「前倒し/遅延ドア」列を引いて high/low を付す。スロット ID に紐づけられないギャップ(カタログに該当列が無いもの)は high/low を推測で付けず、**load-bearing 不明**として不在を明示する。
|
|
37
|
+
- 意図候補(extract-intent が拾った invariant・制約・anti-direction 等)も、対応するスロットがあればその行の列を引いて high/low を付す。とりわけ技術/セキュリティ要求由来の Invariants 候補は `decision-authz` 等の「前倒し」スロットに当たることが多く、**high** に寄る。
|
|
38
|
+
- high/low はいずれも**確定した深刻度ではなく仮説**である。利用者が確認・承認するまで Assumptions のまま保持し、本ルールの仕分けで項目を破棄も確定もしない。
|
|
39
|
+
|
|
40
|
+
## high と low を区別して提示する
|
|
41
|
+
|
|
42
|
+
- 提示では high の項目を low の項目と**観測可能に区別**する(例: high を先頭にまとめる、明示ラベルを付すなど)。すべてのギャップを等しく浴びせず、落ちると危険なものから利用者が対処できるようにする。
|
|
43
|
+
- 区別はラベル付けに留め、low を切り捨てない。low も Assumptions として保持し、omission-recap の再確認対象に含める。
|
|
44
|
+
|
|
45
|
+
## 出力の扱い
|
|
46
|
+
|
|
47
|
+
- すべての出力は派生(derived)・再生成可能であり正本ではない。canonical な intent-tree / compass へは書き戻さない(昇格は承認後に人手)。
|
|
48
|
+
- 本ルールは物差しの正本(`decision-slots.md`)を一切変更しない。スコアリングや重み付けエンジンを自前で持たず、「前倒し/遅延ドア」列を読みに行くだけである。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# omission recap 手順(何を照合し・何が埋まらなかったかを要約し再確認を促す)
|
|
2
|
+
|
|
3
|
+
`intent-from-spec` skill が、抽出(extract-intent)と照合(gap-readout)・定性仕分け(load-bearing)を終えたあとに、**何を照合し(枠の提示)・何が埋まらなかったか**を要約して利用者に提示し、再確認を促すための正本。SKILL.md は手順と報告形式のみを持ち、「照合した枠をどう要約し、未承認項目をどう保持し、承認項目をどう昇格案内するか」は本ルールを参照する。本ルールは新たな検査・スロットを定義せず、gap-readout が紐づけた既存 ID 体系(`validate-checks.md` / `decision-slots.md`)の枠を**そのまま要約**する。観測は Read / Glob / Grep に限り、入力仕様書・canonical な `.intent/*.md`・物差しの正本を一切変更しない(書き込みは `.intent/spec-ingest/` 配下のみ)。
|
|
4
|
+
|
|
5
|
+
## なぜ recap が要るか(「沈黙の沈黙」を避ける)
|
|
6
|
+
|
|
7
|
+
本ルールの目的を冒頭に明記する。これは隣の gap-readout が「各ギャップを示す」のに対し、本ルールは「**照合した枠そのものと、埋まらなかった箇所を一覧として要約する**」役割を負う。
|
|
8
|
+
|
|
9
|
+
- 各ギャップを個別に示すだけでは、AI が**どの枠まで照合したのか**が利用者から見えない。検査した枠自体が不可視だと、利用者は「もう網羅された」と早合点して自分の探索を止めてしまう。これが「**沈黙の沈黙**」(AI が完全性を匂わせたことで人間が探索を止める不作為エラー・自動化バイアス)である。
|
|
10
|
+
- これを避けるため、recap は**照合した物差しの枠を明示的に提示する**。「どの物差しを読み(validate-checks の検査カタログ・decision-slots の8スロット)、そのうちどれが埋まり・どれが沈黙し・どれが照合できなかったか」を一覧化し、検査の輪郭そのものを利用者に見せる。
|
|
11
|
+
- 沈黙だけでなく**照合できなかった箇所**(カタログに該当 ID が無い・物差しが当該観点を持たない)も明示する。推測で埋めず、不在を不在として残す。網羅を主張しないこと自体が recap の責務である。
|
|
12
|
+
|
|
13
|
+
## recap が要約する内容
|
|
14
|
+
|
|
15
|
+
extract-intent・gap-readout・load-bearing の出力を受けて、次を観測可能な形で一覧化する。いずれも gap-readout が紐づけた既存 ID をそのまま引き、再導出・再定義しない。
|
|
16
|
+
|
|
17
|
+
1. **照合した枠(何を読んだか)** — 読んだ物差し(`validate-checks.md` の検査カタログ、`decision-slots.md` の共通コア8スロット)を提示し、検査の輪郭を見せる。
|
|
18
|
+
2. **埋まった箇所(仕様書が応えていた項目)** — 仕様書が応えていた枠を示し、recap が「沈黙だけを拾った」のではないことを観測可能にする。
|
|
19
|
+
3. **埋まらなかった箇所(沈黙)** — gap-readout が列挙したギャップを、紐づいた ID とともに一覧化する。load-bearing の定性仕分け(高い/低い)を区別できる形で併記する。
|
|
20
|
+
4. **照合できなかった箇所(不在)** — 紐づく ID が無く判断を保留した箇所を、推測で埋めずに不在として明示する。
|
|
21
|
+
|
|
22
|
+
## 承認ゲート(承認した項目のみ canonical 昇格)
|
|
23
|
+
|
|
24
|
+
recap は再確認を促すための提示であって、確定ではない。canonical への反映には利用者の明示的な承認を必須とする。
|
|
25
|
+
|
|
26
|
+
- 利用者が項目を**確認・承認**した場合に限り、その項目を canonical な意図構造(intent-tree / compass の Invariants・Anti-direction・Decision Rules)へ載せる対象とする(Req 4.2)。
|
|
27
|
+
- 利用者の確認を経ていない項目は canonical へ**自動的に反映しない**(Req 4.3)。recap が提示した時点では、すべての項目はなお仮説である。
|
|
28
|
+
- 承認されなかった項目は**破棄せず Assumptions のまま保持**する(Req 4.4)。棄却ではなく保留であり、次回以降の再確認のために派生領域(`.intent/spec-ingest/`)に残す。
|
|
29
|
+
|
|
30
|
+
## 昇格は人手コピー(機械ハンドオフを持たない)
|
|
31
|
+
|
|
32
|
+
ここが本機能の境界の要であり、明示しなければ hidden shared ownership を生む。
|
|
33
|
+
|
|
34
|
+
- spec-ingest の出力は**派生(derived)・再生成可能**であり、canonical の正本ではない。spec-ingest は派生領域に「**転記しやすい形**」で承認候補を書き出すだけである。
|
|
35
|
+
- canonical への昇格は**利用者が承認項目を手で discover / compass の対話に持ち込む人手コピー**で行う。spec-ingest が discover / compass を**呼び出すことはなく**、discover / compass が spec-ingest の出力を**自動で読み込むこともない**。両者の間に自動連携(機械ハンドオフ)は存在しない。
|
|
36
|
+
- したがって recap は「承認した項目を、利用者自身が discover / compass の対話へ転記してください」という**案内**を提示する。recap 自身が昇格を実行することはない。転記先(intent-tree の Assumptions / compass の各ブロック)へ 1:1 で写せる見出し・粒度で書き出すことで、人手転記を容易にする(昇格の継ぎ目を人手に保つ)。
|
|
37
|
+
- この分離により、派生(spec-ingest)と canonical(intent-tree / compass)の二重正本を作らず、所有権の重なり(hidden shared ownership)を避ける。
|
|
38
|
+
|
|
39
|
+
## 出力の扱い
|
|
40
|
+
|
|
41
|
+
- すべての出力は派生・再生成可能であり正本ではない。canonical な intent-tree / compass へは書き戻さない(昇格は承認後に人手)。
|
|
42
|
+
- 本ルールは物差しの正本(`validate-checks.md` / `decision-slots.md`)を一切変更せず、gap-readout・load-bearing の出力を要約するだけである。検査やスロット検証を自前で実行しない。
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-improve
|
|
3
|
+
description: 実装後に .intent/ 成果物と実装の現実を completeness / correctness / coherence の3軸で突き合わせ、ズレを分類して是正案を提示する。反映はユーザー承認後のみ。書き戻し漏れは /intent-writeback へ誘導する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# intent-improve Skill
|
|
7
|
+
|
|
8
|
+
## Core Mission
|
|
9
|
+
- **Success Criteria**:
|
|
10
|
+
- `.intent/` 成果物と実装の現実(コードベース・テスト・cc-sdd spec の進行状況)を3軸(completeness / correctness / coherence)で評価している
|
|
11
|
+
- 評価結果を5分類(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)で、根拠(ファイル / 該当記述)付きで提示している
|
|
12
|
+
- `.intent/` への反映はユーザーが承認した是正のみ(承認単位は提案ごと)
|
|
13
|
+
- 書き戻し未実施の学びを検出したら、自ら delta を書かず `/intent-writeback` の実行を促している
|
|
14
|
+
- 5分類に `Decision Rules 更新推奨` または `invariant 違反検出` を含む回では、`rules/improve-axes.md` の規定に従い `/intent-validate`(conformance 追従の点検)の実行を併せて促している(含まない回では促さない。誘導のみで自らは conformance 判定をしない)
|
|
15
|
+
- drift-watch が on のとき coherence 検出を drift-log に stage:improve・outcome:missed で記録し pattern×outcome 改善度レポートを出している(off / 未記載 / 不正値 / 節不在 / mode.md 不在のとき何もしない。5分類は不変)
|
|
16
|
+
- drift-watch が on のとき context-cost-cues を照合してコンテキストを食う進め方を気づき口調で名指している(どのログにも記録せず・pattern×outcome 集計にも含めず・5分類は不変・off のとき何もしない)
|
|
17
|
+
- アプリケーションコードを一切変更していない
|
|
18
|
+
|
|
19
|
+
## Execution Steps
|
|
20
|
+
|
|
21
|
+
### Step 1: 現状を収集する
|
|
22
|
+
- `.intent/` の成果物(intent-tree.md / intent-compass.md / `.intent/packets/index.md` + active/ 配下の packet ファイル(completeness 軸の横断読み。archive/ は読まない) / `cc-sdd/<スラッグ>/` 配下の packet 毎下書き / deltas.md)を読む。`.intent/` が無ければセットアップ(intent-planner のインストールと `/intent-discover` の実行)を案内して停止する。
|
|
23
|
+
- `.intent/mode.local.md`(無ければ旧 `.intent/mode.md`)の mode 状態を読む。無ければ standard 既定で続行し告知する。
|
|
24
|
+
- 実装の現実を収集する: コードベース(Read/Glob/Grep の読み取りのみ)、テストの有無と配置、`.kiro/specs/` の進行状況(存在する場合のみ)、deltas.md の promoted / pending エントリ。
|
|
25
|
+
- `.kiro/` が無ければ cc-sdd 文脈なしで継続する。deltas.md が無ければ「delta 記録なし」として継続する(非ブロッキング)。
|
|
26
|
+
- 引数で対象範囲が指定されていればそこに絞る。なければ `.intent/` 全体を対象とする。
|
|
27
|
+
|
|
28
|
+
### Step 2: 3軸で評価する
|
|
29
|
+
- `rules/improve-axes.md` を読み、completeness / correctness / coherence の3軸で `.intent/` と実装の現実を突き合わせる。
|
|
30
|
+
- 評価には必ず根拠(ファイル / 該当記述)を添える。根拠を示せない評価は提示しない。
|
|
31
|
+
|
|
32
|
+
### Step 3: 分類して報告する
|
|
33
|
+
- 評価結果を5分類(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出。複数該当可)し、分類ごとに整理して提示する。
|
|
34
|
+
- 書き戻し未実施の学びや「保留」タグ付きの見送り項目を検出したら、`rules/improve-axes.md` の規定に従い `/intent-writeback` への誘導を併記する。
|
|
35
|
+
- 5分類に `Decision Rules 更新推奨` または `invariant 違反検出` を含む回は、`rules/improve-axes.md` の「validate 追従誘導」規定に従い `/intent-validate`(conformance 追従の点検)への誘導を writeback 誘導と並置で併記する(含まない回は併記しない。誘導のみで自らは判定しない)。
|
|
36
|
+
- drift-watch が on のとき(off / 未記載 / 不正値 / 節不在 / mode.md 不在は何もしない): `.intent/mode.md` の `## Drift-watch(ユーザー管理)` セクションの `drift-watch` 値を確認し、`on` のときのみ、`rules/improve-axes.md` の規定に従い coherence 軸で検出した逸脱(invariant 違反 / anti-direction 抵触)を `.intent/drift-log.md` へ `stage: improve` / `outcome: missed` の下書きとして記録し、`pattern × outcome` クロス集計の改善度レポートを出す。記録手順の詳細(9キー固定順・append-only・commit 取得・drift-log 不在時の新規作成)は `rules/improve-axes.md` に委ねる(ここでは重複させない)。この記録は**新しい是正分類を作らず**(上の5分類は不変)、deltas.md への書き込みや writeback フックも行わない。off / 未記載 / 不正値 / 節不在 / mode.md 不在のときは drift 記録・集計を行わず現行どおり進む(現行動作とバイト等価)。なお上の5分類の報告は drift-watch の値によらず常に行う。あわせて `drift-watch: on` のとき、`rules/improve-axes.md` 末尾の「コンテキストコストの気づき」節に従い `.intent/context-cost-cues.md` を照合してコンテキストを食う進め方を気づき口調で名指す(**どのログにも記録せず・pattern × outcome 集計にも含めず・5分類も不変**。カタログ不在ならスキップ)。
|
|
37
|
+
|
|
38
|
+
### Step 4: 是正案を提案ごとに承認確認する
|
|
39
|
+
- 是正が必要な項目ごとに是正案(成果物の更新案または是正 packet 案)を提示し、**提案ごとに**ユーザーの承認を確認する(一括承認を強要しない)。
|
|
40
|
+
- 承認されなかった提案は提示のみで終了する(書き換えない)。
|
|
41
|
+
|
|
42
|
+
### Step 5: 承認された是正のみ反映する
|
|
43
|
+
- 承認された是正のみ canonical 成果物(intent-tree.md / intent-compass.md / `.intent/packets/` 配下(対象 packet ファイル・plan.md))へ反映する。
|
|
44
|
+
- `.intent/packets/` 配下の canonical を変更した場合(delta 昇格を対象 packet ファイルへ反映した時を含む)、`.intent/packets/index.md` を active/ 配下の frontmatter から再生成する。
|
|
45
|
+
- Decision Rules を変更する是正は `rules/improve-axes.md` の変更規約(ADR 形式で新エントリ追加 + 旧エントリへ superseded・後継参照を明記して `.intent/compass-archive/<rule-slug>.md`(rule 単位ファイル)へ退避)に従う。
|
|
46
|
+
- deltas.md には書き込まない(delta の記録・見送りタグの確定更新は `/intent-writeback` の責務)。
|
|
47
|
+
|
|
48
|
+
## Output Description
|
|
49
|
+
|
|
50
|
+
**読み手**: 実装後に意図と実装のズレを承認・是正する人間開発者。
|
|
51
|
+
**この出力で最初に掴ませること**: 「**実装と意図のズレはここ(invariant 違反があれば最優先)。承認待ちは N 件**。書き戻し漏れがあれば `/intent-writeback` へ」。3軸評価の内訳は判断材料の詳細。
|
|
52
|
+
|
|
53
|
+
出力は結論(ズレと承認待ち)を先頭に立てる。
|
|
54
|
+
|
|
55
|
+
- **ズレのサマリ(先頭)**: 検出した是正の要点を分類で示す。`invariant 違反検出` があれば最優先で筆頭に立てる。すべて `aligned`(ズレなし)なら「整合済み・是正不要」と明言する。
|
|
56
|
+
- **承認待ちリスト(次・提案ごと)**: 各是正案に根拠(ファイル / 該当記述)を添える。何を承認すれば何が反映されるかが分かる形。
|
|
57
|
+
- **writeback 誘導**(該当時): 書き戻し未実施の学びを検出したら `/intent-writeback` の実行案内。
|
|
58
|
+
- **validate 追従誘導**(該当時): 5分類に `Decision Rules 更新推奨` / `invariant 違反検出` を含む回は、writeback 誘導と並置で `/intent-validate`(conformance 追従の点検)の実行案内を添える。
|
|
59
|
+
- **詳細**: 3軸評価サマリ(completeness / correctness / coherence)と分類別(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)の内訳。
|
|
60
|
+
- **改善度レポート**(drift-watch=on のとき): drift-log を `pattern × outcome` でクロス集計したレポート。誠実さ注記(`missed=0` は記録漏れの疑い / `false-positive` 多発は anti-direction が広すぎる疑い)を必ず添え、集計キーは型(pattern)に揃え、群間比較(なし群 / あり群)は型 id と drift-log の `commit` 列のみで成立させる(追加の比較機構は作らない)。
|
|
61
|
+
|
|
62
|
+
## Safety & Fallback
|
|
63
|
+
- ユーザー承認なしに `.intent/` 成果物を書き換えない。承認は提案ごとに確認する。
|
|
64
|
+
- アプリケーションコードは変更しない(INV6。コードは Read/Glob/Grep の読み取りのみ)。
|
|
65
|
+
- `.kiro/` には書き込まない(進行状況の読み取りのみ)。`.kiro/` 不在は cc-sdd 文脈なしで継続する。
|
|
66
|
+
- deltas.md には直接書き込まない。書き戻し漏れ・保留項目への対応は `/intent-writeback` への誘導のみで、確定更新は writeback が行う。
|
|
67
|
+
- `.intent/` 不在はセットアップを案内して停止する。mode.md 不在は停止せず standard 既定で続行し告知する。
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Improve: 3軸評価と分類基準
|
|
2
|
+
|
|
3
|
+
実装後の再整合で `.intent/` 成果物と実装の現実を突き合わせる規則。`intent-improve` skill が使う。writeback が packet 単位の通常経路であるのに対し、improve は packet に紐づかない drift も拾う全体横断の safety net である。
|
|
4
|
+
|
|
5
|
+
## 評価3軸
|
|
6
|
+
|
|
7
|
+
- **completeness**(意図した内容が実現されているか): active/ 配下の packet ファイルの Expected Behavior / Scope が実装とテストに現れているか(横断読みは active/ 限定。archive/ は読まない)。未実現・部分実現を検出する。
|
|
8
|
+
- **correctness**(実現された内容が意図に合っているか): 実装された挙動が packet の Why / Expected Behavior と一致しているか。意図と異なる実現・意図外の追加を検出する。
|
|
9
|
+
- **coherence**(実装が North Star・Invariants・Decision Rules と整合しているか): intent-compass.md の North Star / Invariants / Anti-direction / Decision Rules と実装が矛盾していないか。局所最適や invariant 違反を検出する。また、intent-compass.md の Decision Rules の Revisit when 条件の成立が、実装の現実・`deltas`(分割形横断読み: 分割形 `.intent/deltas/*.md` 群(あれば正本・自然キー昇順)→ 無ければ旧 `.intent/deltas.md`(生成ミラー)への read fallback。共存時は分割形を正本とし、ミラーを二重に数えない)から読み取れる Decision エントリを検出する。検出は既存分類「Decision Rules 更新推奨」として根拠付きで報告する(新しい分類は作らない)。さらに、入力源を異にする別経路として、`.intent/milestones.md` の各 event 文字列を全 Decision Rule の `Revisit when` 欄と substring 照合し、合致した Decision Rule を同じ「Decision Rules 更新推奨」分類として見直し再提案する。`Revisit when` が「未定」と明示されている Rule は照合対象外とする(誤った発火を生まない)。event が短すぎる過剰一致を避けるため、十分具体的な event(一定長以上)を前提とする。この milestones 起点の照合は read-only・報告のみで行い、compass を自動書き換えせず、新しい是正分類も作らない。実装/deltas 起点の Revisit 検出と milestones 起点の照合は併存し、いずれも「Decision Rules 更新推奨」分類で報告する。
|
|
10
|
+
|
|
11
|
+
## 分類(5種・複数該当可)
|
|
12
|
+
|
|
13
|
+
- **aligned**: ズレなし。3軸とも整合している(是正不要。整合の根拠は添える)。
|
|
14
|
+
- **intent 強化推奨**: 実装は妥当だが `.intent/` 側の記述が薄い・暗黙のまま。成果物(intent-tree.md / intent-compass.md / packet ファイル)の追記・明確化の更新案を提示する。
|
|
15
|
+
- **是正 packet 推奨**: 実装側にズレがあり、コード変更が必要。improve はコードを変更しないため、是正作業を新しい packet 案として提示する(新規 packet ファイル(active/ 配下)の追加案 → export → cc-sdd 実装の通常経路へ)。
|
|
16
|
+
- **Decision Rules 更新推奨**: 実装で得た判断が既存の Decision Rules と食い違う、または新しい判断基準が必要。Revisit when 条件の成立が検出された Decision エントリの見直しもこの分類として報告する。下記の「Decision Rules 変更規約」に従う。
|
|
17
|
+
- **invariant 違反検出**: 実装が Invariants に違反している。最優先で報告し、是正 packet 案または invariant 自体の見直し(ユーザー判断)を提示する。
|
|
18
|
+
|
|
19
|
+
複数該当する場合はすべて挙げ、報告は分類ごとに整理する。
|
|
20
|
+
|
|
21
|
+
## 証拠の扱い
|
|
22
|
+
|
|
23
|
+
- 実装の現実の参照元: コードベース(Read/Glob/Grep のみ、変更禁止)、テストの有無と配置、`.kiro/specs/` の進行状況、`deltas`(promoted / pending。分割形横断読み)。いずれも**読み取りのみ**。
|
|
24
|
+
- **`deltas` は分割形で横断読みする(CONTRACT「append-only 記録の分割・archive 規約」。`intent-overview` の `aggregate-sources.md` と同一規律)**: 分割形 `.intent/deltas/*.md` 群(あれば正本・自然キー昇順)→ 無ければ旧 `.intent/deltas.md`(生成ミラー)への read fallback の順で読み、共存時は分割形を正本としてミラーを二重に数えず、archive は履歴として active 集計に混ぜない(read-only)。
|
|
25
|
+
- 評価には必ず根拠(ファイル / 該当記述)を添える。根拠を示せない評価・是正案は提示しない。
|
|
26
|
+
|
|
27
|
+
## Decision Rules 変更規約(writeback と同一規約)
|
|
28
|
+
|
|
29
|
+
- Decision Rules を変更する是正は、intent-compass.md の既存 ADR 形式(**Context** / **Decision** / **Why** / **Alternatives considered** / **Consequences** / **Revisit when**)で**新エントリを追加**し、置き換えられる旧エントリに superseded である旨と後継エントリへの参照を注記する。
|
|
30
|
+
- superseded を注記した旧エントリは、6欄の内容のまま(要約しない)退避する Decision Rule の **rule 単位ファイル** `.intent/compass-archive/<rule-slug>.md` へ move する(CONTRACT 分割・archive 規約。`<rule-slug>` は既存スラッグ規則で導出・新採番なし・同一 rule の再 supersede は同ファイル)。`compass-archive/` ディレクトリが無ければ作る。active な Decision Rules エントリは引き続き compass 内に直接記載のまま保つ。
|
|
31
|
+
- 旧エントリは削除しない(履歴は compass-archive.md に保持される)。独自フィールド(例: Supersedes)を導入しない。
|
|
32
|
+
- 6欄形式の導入前に記録された旧4欄エントリ(Alternatives considered / Revisit when を持たないもの)は有効として扱い、欄の不足をエラー・指摘・書き換えの対象にしない。
|
|
33
|
+
|
|
34
|
+
## writeback 誘導(safety net の役割分担)
|
|
35
|
+
|
|
36
|
+
- 書き戻し未実施の学び — 現行 Source Packet(最新 export)に対応する delta エントリが `deltas`(分割形横断読み: `.intent/deltas/*.md` 群(あれば正本)→ 無ければ旧 `.intent/deltas.md` への read fallback。二重計上しない)に無い、または実装に現れた未記録の決定 — を検出したら、自ら delta を書かず `/intent-writeback` の実行を促す。
|
|
37
|
+
- 「保留」タグ付きの見送り項目が残っている場合は、再提案または却下への確定を促すのみとする。タグの確定更新(昇格 / 却下確定 / 継続保留)は `/intent-writeback` の責務。
|
|
38
|
+
- improve は `deltas` 記録(分割形 / 旧単一ミラーいずれの形でも)に書き込まない(delta の記録・状態更新はすべて writeback が行う)。
|
|
39
|
+
|
|
40
|
+
## validate 追従誘導(conformance の点検への橋渡し)
|
|
41
|
+
|
|
42
|
+
- その回の5分類に `Decision Rules 更新推奨` または `invariant 違反検出` が含まれる場合(=compass の Decision Rules / Invariants に影響する反映が生じうる回)に限り、writeback 誘導と並置で `/intent-validate`(compass 更新が各 packet に追随しているかの照合=conformance 陳腐化の点検)の実行を促す1文を添える。`aligned` のみの回や上記2分類を含まない回では添えない(過剰誘導の回避)。
|
|
43
|
+
- improve 自身は conformance 陳腐化の判定(頃合いの概算)をしない。頃合いの概算は intent-status の責務であり、improve は誘導のみ。確定診断は `/intent-validate` が行う。
|
|
44
|
+
- 本誘導は誘導文の追加に閉じ、3軸評価(completeness / correctness / coherence)と5分類のロジックを一切変更しない(5分類は不変)。
|
|
45
|
+
|
|
46
|
+
## drift-log への記録(drift-watch 連動)
|
|
47
|
+
|
|
48
|
+
`drift-watch: on` のときだけ、coherence 軸で検出した逸脱(invariant 違反 / anti-direction 抵触)を `.intent/drift-log.md` へ事後記録として写す。`off` / 未記載 / 不正値のときは記録しない(現行動作とバイト等価。off ガードは SKILL.md 側で保証)。
|
|
49
|
+
|
|
50
|
+
### 記録手順
|
|
51
|
+
|
|
52
|
+
- coherence 軸が検出した逸脱(invariant 違反 / anti-direction 抵触)を**改めて検出し直すのではなく流用し**、`.intent/drift-log.md` へ `stage: improve` のエントリとして1件ずつ append する。値は:
|
|
53
|
+
- `pattern: <該当する drift-patterns の id | uncatalogued:<短い名> | ->`(特定できれば id、カタログ外の実逸脱なら `uncatalogued:<短い名>`、判別できなければ `-`)
|
|
54
|
+
- `stage: improve`
|
|
55
|
+
- `packet: <帰属する packet 名 | ->`(帰属を特定できなければ `-`)
|
|
56
|
+
- `mechanism: compass-invariant`(Invariant に違反したとき)または `compass-anti-direction`(Anti-direction に抵触したとき。どちらの compass 要素に抵触したかで選ぶ)
|
|
57
|
+
- `outcome: missed`(**下書き**。improve の時点では逸脱は既に起きて通り抜けたあとなので基本は `missed`。確定は利用者の `user-verdict` が valid / false-alarm / unjudged で裏づける)
|
|
58
|
+
- `user-verdict: unjudged`
|
|
59
|
+
- `recorded_at: <ISO 8601>`
|
|
60
|
+
- `commit: <短縮ハッシュ | ->`
|
|
61
|
+
- `note: <1〜2行>`(何に違反・抵触したか)
|
|
62
|
+
- 複数の逸脱が検出されたら、逸脱ごとに1エントリずつ append する。
|
|
63
|
+
- **分割形で書く(CONTRACT「append-only 記録の分割・archive 規約」)**: drift-log は事象由来なので、単一 `drift-log.md` 末尾へ追記せず **日付+slug 単位の分割ファイル** `drift-log/<date>-<slug>.md` へ1エントリ書く。`<date>` は recorded_at の日付、`<slug>` は pattern(事象)を既存スラッグ規則(`intent-packets/rules/packet-format.md`)で導出する(新採番・連番を作らない)。別事象が別ファイルを触るため末尾衝突が原理的に消える。既存エントリは書き換え・削除しない(**append-only**)。
|
|
64
|
+
- **9キーを固定順で必ず全部書く**: `pattern` → `stage` → `packet` → `mechanism` → `outcome` → `user-verdict` → `recorded_at` → `commit` → `note`。9キーのうち1つでも欠けたエントリは書かない。
|
|
65
|
+
- **commit**: `git rev-parse --short HEAD` の結果を書く。非リポジトリ・git CLI 不在などで取得できないときは `-` とする(fail-open。記録は続行する)。
|
|
66
|
+
- **`drift-log/` ディレクトリが不在のとき**: ディレクトリを作ってから分割ファイルを書く。旧単一 `drift-log.md` が残っていても読み手は共存して読める(移行は本スライスの migration が担う)。エントリ書式は `.intent/drift-log.md` の「エントリ書式」節の見本(`### drift-log entry`)に従う。
|
|
67
|
+
|
|
68
|
+
### 新しい是正分類を作らない(記録と是正の分離)
|
|
69
|
+
|
|
70
|
+
- この記録は**新しい是正分類を作らない**。上記「分類(5種)」(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)は一切変えない。coherence 軸で検出した逸脱を、是正分類とは別に**drift-log のスキーマへも写す**だけである。
|
|
71
|
+
- **drift-watch は記録し、improve は是正する**。記録(drift-log)と是正(5分類)は別の責務であり、混ぜない。drift-log への append は是正を一切代替・変更しない。
|
|
72
|
+
|
|
73
|
+
## 改善度レポート(pattern × outcome クロス集計)
|
|
74
|
+
|
|
75
|
+
`drift-watch: on` のとき、improve は出力に drift-log を `pattern × outcome` でクロス集計した改善度レポートを併せて提示する。
|
|
76
|
+
|
|
77
|
+
- **集計キーは型(pattern)に揃える**。利用者が「なし群(過去の失敗作)/ あり群(drift-watch 稼働期間)」を後から突合できる構造は、**型 id と drift-log の `commit` 列のみ**で成立させる(追加の比較機構は作らない)。
|
|
78
|
+
- レポートには次の**誠実さ注記**を必ず添える:
|
|
79
|
+
- `missed=0` は「効いた証拠」ではなく「記録漏れの疑い」と読む(効いた瞬間だけが集計に残るのは確証バイアス)。
|
|
80
|
+
- `false-positive` の多発は anti-direction が広すぎる疑いを示す。
|
|
81
|
+
- これらの注記は `.intent/drift-log.md` の正直注記と同趣旨であり、効いた系(prevented / caught)に偏らない読み方を担保する。
|
|
82
|
+
|
|
83
|
+
### packet-scope-overflow を「第一防御の効きを測る計器」として読む(DR9 第二防御)
|
|
84
|
+
|
|
85
|
+
`mechanism: packet-scope-overflow` のエントリ(export 後にユーザーが対象 packet の `## Scope` を超える実装指示を出したときに drift-watch が記録する第二防御由来の検知)は、**第一防御(規約文書の「スコープ超過なら intent に戻る」規律=想起のみ・強制力なし)が実際に効いているか**を測る計器として読む。同じ pattern × outcome クロス集計に乗せるが、読み方の規律を1つ足す:
|
|
86
|
+
|
|
87
|
+
- `outcome: caught`(ユーザーが警告を容れて `/intent-packets`→再 export で intent に戻った)=第一防御+第二防御が効いた瞬間。
|
|
88
|
+
- `outcome: missed`(警告を無視して cc-sdd で押し切った)=第一防御の想起が効かなかった瞬間=**意図流動率(scope-creep の発生率)の母数**。これが溜まることで初めて「第一防御がどれだけ効いていないか」が観測できる(鶏卵: 第一防御の効きを測る機構そのものが第二防御の中にある)。
|
|
89
|
+
- `outcome: false-positive`(実際は妥当なスコープ拡張だった)=照合が過敏な疑い。
|
|
90
|
+
- **数値スコアリング・閾値ソルバーは持ち込まない**。「caught が増えれば第一防御が効いている」と断定せず、`missed=0`=記録漏れの疑い・`false-positive` 多発=照合過敏、の正直注記をそのまま継承して候補提示に留める。集計キーは型(pattern=`scope-creep` または `uncatalogued:scope-overflow`)に揃え、追加の比較機構は作らない。
|
|
91
|
+
|
|
92
|
+
## 役割境界(記録・是正・writeback の三分立)
|
|
93
|
+
|
|
94
|
+
- **drift-watch は writeback にフックを差さない**(要件 R8)。writeback の単一責務=delta の二段階昇格を濁さないため、drift-log への記録は writeback 経路には一切干渉しない。上記「writeback 誘導」の挙動は変更しない。
|
|
95
|
+
- 記録(drift-log)・是正(5分類)・writeback(delta の二段階昇格)は**別個の3責務**である。三者を混ぜない。
|
|
96
|
+
|
|
97
|
+
## コンテキストコストの気づき(drift-watch 連動)
|
|
98
|
+
|
|
99
|
+
coherence 軸の評価と並んで、実装後の振り返り(realignment)の進め方がコンテキスト(トークン)を食っていないかに**気づかせる**照合を行う。drift-patterns(意図逸脱の型)とは**別カタログ**であり、症状(symptom)が「意図逸脱」ではなく「コンテキストを食う場面」である点だけが異なる。これは規範ではなく気づきであり、上の「drift-log への記録」「改善度レポート(pattern×outcome 集計)」とは性質が違うので**手順を分けて持つ**。
|
|
100
|
+
|
|
101
|
+
- **`drift-watch: on` のときだけ**この照合を行う(off / 未記載 / 不正値のとき何もしない)。`.intent/context-cost-cues.md` が不在のときは照合をスキップしてその旨を告知する(停止しない)。
|
|
102
|
+
- **これはどのログにも記録しない**。上の coherence 逸脱検出(`drift-log.md` へ append し pattern×outcome 集計する)とは異なり、コンテキストコストの気づきは **`drift-log.md` にも他のどのログにも append しない**。理由: 消費量は計測できず outcome を評価できないため、ログに混ぜると drift-log の集計を推測値で汚す。さらに何が文脈を食うかは人により正当に異なり、記録すればプライバシーに踏み込む。**上の「drift-log への append 手順」「改善度レポートの集計」をこの照合には適用せず、pattern×outcome 集計にも含めない**。
|
|
103
|
+
- **5分類は不変**: この気づきは既存の5分類(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)を一切変えない。是正分類とは別の、ログに残さない助言として提示する。
|
|
104
|
+
|
|
105
|
+
### 手順
|
|
106
|
+
|
|
107
|
+
1. **context-cost-cues.md を読む**
|
|
108
|
+
- `.intent/context-cost-cues.md` を読み、全型(seed + 利用者が育てた型すべて)を取得する。不在ならスキップして告知する(停止しない)。
|
|
109
|
+
|
|
110
|
+
2. **各型の symptom を realignment の進め方と照合する**
|
|
111
|
+
- 各型の `symptom` を、実装後の振り返り(コードや done を読む経路・題材)に照らす。`symptom` は弱い手がかりで、当てはまりが弱ければ黙る(誤検知より黙る側に倒す=気づき機能の信頼を保つ)。
|
|
112
|
+
- 照合に使うのは題材のみ。トークン消費量・git 差分・実行時メトリクスは読まない。
|
|
113
|
+
|
|
114
|
+
3. **該当型があるとき(気づきの提示・ログには書かない)**
|
|
115
|
+
- 利用者に気づき口調で名指しする。例:「この振り返りの進め方は `<id>` に当てはまるかもしれません — これがコンテキストを食っている可能性があります」。
|
|
116
|
+
- その型の「もし意図せず効いていれば」の軽い代替(薄い入口 / JIT pull / 入力限定)を、**任意の選択肢**として添える。例:「もし意図せず効いていれば、<軽い代替> もあります(判断はお任せします)」。
|
|
117
|
+
- **矯正・指図をしない**。命令形・断定で言わず、気づきの提示に留める。大量スキルの導入・全文ロード等は正当な高コスト選択でありうるので、コストを食う選択を不要と断じない。判断は利用者に委ねる。
|
|
118
|
+
- **どのログにも append しない**(coherence 逸脱の append 手順・集計を流用しない)。
|
|
119
|
+
|
|
120
|
+
4. **該当型がないとき**
|
|
121
|
+
- 何も名指さない。**ログにも書かない**(空振りの記録もしない=そもそもこの照合はログを持たない)。
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-overview
|
|
3
|
+
description: 散在する .intent/ 成果物を read-only で読み、整形済みの通読・俯瞰ビューを .intent/overview/ 配下に派生(derived)として生成する集約スキル。canonical な成果物は一切変更しない。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# intent-overview Skill
|
|
7
|
+
|
|
8
|
+
## Core Mission
|
|
9
|
+
- **Success Criteria**:
|
|
10
|
+
- 散在する `.intent/` の既存成果物(intent-tree / intent-compass / packets の index・active / packets/plan / export-log / deltas / mode / drift-log)を read-only で読み、人間とエージェントが一度に通読できる整形済み俯瞰ビューを `.intent/overview/overview.md` に生成している(R1.1)
|
|
11
|
+
- 生成物を派生(derived)として扱い、canonical な `.intent/*.md` 成果物を一切作成・変更・削除していない。書込み先は `.intent/overview/` 配下限定である(R1.2)
|
|
12
|
+
- 再実行時は最新の成果物から俯瞰ビューを全置換で再生成し、正本との二重化を生んでいない(冪等な再生成。R1.3)
|
|
13
|
+
- `.intent/` または必須成果物(intent-tree など)が存在しないとき、何も書き込まず不在を明示し、先に実行すべき該当スキル(例: `/intent-discover`)を案内している(R1.4)
|
|
14
|
+
- 生成物が派生・再生成可能であり正本ではないこと(および Git 非追跡であること)を明示している(読み手の関心を優先し、ビュー末尾に退避してよい。R1.5)
|
|
15
|
+
- 関心ごとの派生ビュー(意図ビュー / 依存・ブロックビュー / 進捗ビュー)として整理し、進捗を単一%でなく性質の異なる軸で映している
|
|
16
|
+
- ビュー最上段に全 packet を1本の工程レールとして並べ、各行に5信号 + `[現在の工程 → 次に通る工程]` を併記し、「今どの packet が 🔵 今ここで・この後どの工程が残り・どこに ⚪ 残工程 / 🔴 反映漏れがあるか」を一望できるようにしている(5信号と `state` を read-only で映すのみで、状態を算出・推論しない)
|
|
17
|
+
- canonical な意図と inferred(推測)な意図、設計意図と実装実態を区別したまま集約し、欠落・未観測は「未記入/未観測」と明示して推測で埋めていない
|
|
18
|
+
- 他スキルを直接呼ばず、scaffold ファイル(`.intent/*.md`)を介した読み取りと出力テキストの案内のみで連携している(R6.5)。状態機械・自律ループ・常駐プロセスを持たず、外部依存ゼロを維持している(R6.1 / R6.2)
|
|
19
|
+
|
|
20
|
+
## Execution Steps
|
|
21
|
+
|
|
22
|
+
### Step 1: `.intent/` と必須成果物の存在を確認する(fail-fast)
|
|
23
|
+
- 利用者が俯瞰ビューの生成を要求したとき、まず `.intent/` ディレクトリの存在を確認する。
|
|
24
|
+
- `.intent/` または必須成果物(少なくとも `.intent/intent-tree.md`)が存在しない場合は、**何も書き込まず**に不在を明示し、先に実行すべき該当スキル(例: `/intent-discover`)を案内して終了する(fail-fast。R1.4)。この時点では `.intent/overview/overview.md` を生成・更新しない。
|
|
25
|
+
- `.intent/mode.md` を読む(無くても停止しない。enforcement / drift-watch の値は後続 Step で参照する。読み取りのみで変更しない)。
|
|
26
|
+
|
|
27
|
+
### Step 2: ソースを読み取り、4 つの rules に委譲して集約する
|
|
28
|
+
- 本スキルは独自の解析・逆算・検査ロジックを持たない。各観点の正確な読み取り規則は以下 4 つの rules に委譲する(相対パスで参照)。各 rules が指定する正確な見出し・キー・列名に従い、canonical と inferred を区別し、欠落・未観測は明示する(推測で埋めない)。
|
|
29
|
+
- `rules/aggregate-sources.md` — 意図ドキュメント集約(intent-tree の L0–L4 / intent-compass の North Star・Anti-direction・Invariants・Decision Rules / packets の index・active / plan / export-log / deltas)。canonical な意図と inferred(intent-tree の Assumptions / Open Questions 由来)を分離する。逆算は refactor モードの `algo-intent-recovery` 出力を読むのみで、独自の AST / スキャナ逆算は行わない。逆算が未取得なら不在を明示し該当 algo を案内する(R2.x / R4.x)。
|
|
30
|
+
- `rules/mermaid-tree.md` — intent-tree の L0→L4 を純 Mermaid `graph` として描画し、対応するテキスト階層を正本として併記する。intent-tree が空/未生成なら Mermaid を省略し理由を明示する(R3.x)。
|
|
31
|
+
- `rules/gap-readout.md` — drift-log と intent-validate の検査軸を**再実装せず読み取り**、「設計意図 vs 実装実態」のギャップとして集約する。`mode.md` の `## Drift-watch(ユーザー管理)` が `on` かつ `drift-log.md` が存在するときのみ drift を集約し、`off`/未記載/不在のときは当該ブロックを省略して未観測を明示する。validate 軸は `validate-checks.md` の安定 kebab-case ID カタログに紐づける。`## Enforcement(ユーザー管理)` / `## Drift-watch(ユーザー管理)` は読取のみ・変更しない(R5.x)。
|
|
32
|
+
- `rules/progress-readout.md` — 進捗を単一%でなく 3 軸(意図の安定度 / 実現の完了度 / 証拠の確定度)に分け、各軸を既存成果物の読み取りから導いて出所を明示する。軸間のズレは潰さずそのまま提示する。packet frontmatter の `depends_on` を読んでブロック状態を read-only 導出し(依存は宣言を読むだけで推論・算出しない)、循環・未解決依存があれば明示する。関心別の派生ビュー(意図 / 依存・ブロック / 進捗)として整理する。対応成果物が無い軸・ビューは「未観測/未生成」と明示し省略する(R8.x / R9.x)。
|
|
33
|
+
- 分岐方針: inferred の有無、drift-watch の on/off で分岐し、不在なら該当ブロックを省略してその状態を明示する(推測で埋めない)。後方互換として、`depends_on` 不在の既存 packet は「依存なし」、`## Evidence` 不在は「未記入」、旧 3 値 state(`draft|active|done`)の `active` は「進行中(実装中相当)」として読む(rules の規則に従う)。
|
|
34
|
+
|
|
35
|
+
### Step 3: 俯瞰ビューを最後に書き込む(全置換・派生)
|
|
36
|
+
- すべての読み取りと集約が終わってから、**最後に** `.intent/overview/overview.md` を**全置換**で書き込む(再生成の冪等性。R1.3)。canonical な `.intent/*.md` には一切書き込まない。
|
|
37
|
+
- 書き込む内容の構成順は「Output Description」に従う(最上段に工程レール=結論、続いて関心別ビュー、**末尾に派生・正本ではない旨の注記**)。読み手(人間開発者)の「今どこ・この先どうなる」を最優先し、派生注記でビュー冒頭を埋めない。
|
|
38
|
+
- 本ビューが派生(derived)であり・再生成可能であり・正本ではなく・Git 非追跡であることは末尾の注記で明示する(R1.2 / R1.3 / R1.5)。各派生ビューが derived・再生成可能であること(正本ではないこと)も同様に各ビューの注記で示す(R9.5)。
|
|
39
|
+
|
|
40
|
+
## Output Description
|
|
41
|
+
|
|
42
|
+
**読み手**: `.intent/` 全体を通読したい人間開発者(と、後続で読む AI)。
|
|
43
|
+
**この出力で最初に掴ませること**: 「いま全 packet のうちどれが 🔵 今ここで、各 packet がこの後どの工程を通り、どこに 🔴 反映漏れ・⚪ 残工程があるか」。派生・正本ではない旨などツール内部の注記は読み手の関心ではないため**末尾に退避**する。
|
|
44
|
+
|
|
45
|
+
ビュー冒頭は次の順で構成する(人間が「今どこ・この先どうなる」に最短で辿り着く順)。
|
|
46
|
+
|
|
47
|
+
1. **工程レール(最上段・結論)**: 全 packet を縦に並べ、各行に5信号(✅ 反映済 / 🔵 今ここ / ⚪ 未着手 / 🔴 反映漏れ / ◻ 統合済)と、それに続けて `[現在の工程 → 次に通る工程]` を併記する(`progress-readout.md`「各行に `[現在の工程 → 次に通る工程]` を併記する」に従う)。これにより「P いくつが今ここで、この後どの工程が残るか」「どこに反映漏れ・残工程があるか」を1枚で一望させる。
|
|
48
|
+
2. **関心別の派生ビュー**(レールの内訳):
|
|
49
|
+
- **意図ビュー**: intent-tree(L0–L4)の Mermaid 図 + テキスト階層、intent-compass、packets 一覧(plan / export-log / deltas を文脈として併記)。canonical と inferred を区別。
|
|
50
|
+
- **依存・ブロックビュー**: packet 間の `depends_on` に基づく依存関係とブロック状態(あれば循環・未解決依存も明示)。
|
|
51
|
+
- **進捗ビュー**: 3 軸(意図の安定度 / 実現の完了度 / 証拠の確定度)と各軸の出所、軸間のズレ、設計意図 vs 実装実態のギャップ集約(工程レールは 1. で先頭に出すため、ここでは3軸の内訳に集中する)。
|
|
52
|
+
3. **末尾の注記**: 本ビュー全体および各ビューが派生(derived)・再生成可能・Git 非追跡であり正本ではないこと(R1.2 / R1.3 / R1.5 / R9.5)。素材が無いビュー・軸は省略し理由(未観測/未生成)を明示する。
|
|
53
|
+
|
|
54
|
+
## Safety & Fallback
|
|
55
|
+
- **書込み境界**: 書込み先は `.intent/overview/` 配下限定である。canonical な `.intent/*.md` は read-only であり、そこへは作成・変更・削除を一切行わない(frontmatter の `Write` は `.intent/overview/` 配下への書き込みのためにのみ許可される)。
|
|
56
|
+
- **他スキルを直接呼ばない**: 連携は scaffold ファイル(`.intent/*.md`)を介した読み取りと、出力テキストでの案内のみで行う(R6.5)。逆算(`algo-intent-recovery`)/検査(intent-validate)/drift(drift-watch)の判定ロジックは持たず、それらが残した出力・定義を読むだけである。
|
|
57
|
+
- **状態機械・自律ループ・常駐プロセスを持たない**(R6.1)。出力ビュー自体が読み取り時点のスナップショットとして機能する。
|
|
58
|
+
- **外部依存ゼロ**(INV2 / R6.2)。外部パッケージを導入せず、Node 標準と自然言語ヒューリスティクスに限定する。
|
|
59
|
+
- **アプリケーションコードを変更しない**(INV6 / R6.3)。
|
|
60
|
+
- **前提不在時**: `.intent/` または必須成果物が無いとき、何も書き込まず不在を明示し、先に実行すべきスキル(例: `/intent-discover`)を案内して終了する(R1.4)。
|
|
61
|
+
- **部分欠落時**: inferred 未取得 / drift-watch off / intent-tree 空などは、当該ブロックを省略し「未取得/未観測/未生成」を明示する(推測で埋めない)。Mermaid 生成不能のときはテキスト階層を正本として提示し図を省略、理由を注記する。
|