/outcome - OUTCOME.md 生成 / 更新
他スキルが OUTCOME.md の不在を検知したときの受け皿。停止や警告で返すとアウトカムが空のまま残るので、対話で集めて生成する。
分岐
${CLAUDE_SKILL_DIR}/scripts/validate-outcome.ts .claude/OUTCOME.md を実行し、JSON の flow が示すフローへ入る。判定基準はスクリプトが持つ。
| state | 条件 | flow |
|---|---|---|
| absent | ファイル不在 | generate |
| empty | Behavior が空、または TBD のみ | generate |
| ok | Behavior に中身がある | update |
生成
- ${CLAUDE_SKILL_DIR}/templates/outcome.md を読む
- Behavior、Non-goals、Constraints の 3 項目を AskUserQuestion 1 回で各 1 問ずつ収集する。Behavior は 1 つ以上で主体を明示する
- 各 Behavior をアウトカムテストに通す。fail なら書き直してユーザーに再提示する
- テンプレートに流し込み、
.claude/OUTCOME.mdを Write。冒頭文と Indicators はどちらも収集しない。冒頭文を書かず、Indicators はセクションごと落とす - validate-outcome.ts を再実行し、
errorsが空になるまで直す。placeholder_leftはプレースホルダの残り、missing_sectionは見出しの欠落
更新
.claude/OUTCOME.mdを読み、現状の各セクションを提示する。生成時に落とした冒頭文と Indicators は、未記入であることを示す- 変更するセクションとその内容を AskUserQuestion で確認する。冒頭文と Indicators を足せるのはこの経路だけ
- 変更後の Behavior をアウトカムテストに通してから Edit する
- validate-outcome.ts を再実行し、
errorsが空であることを確認する warningsにmissing_indicatorがあれば、その指標を足すかをユーザーに確認する。Indicators セクションを持ちながら Time/Error rate/Value のどれかを欠く状態を指す