# Outcome

> .claude/OUTCOME.md を対話的に生成 / 更新する。不在や空 (Behavior が空か TBD のみ) なら AskUserQuestion で収集して stub を生成し、既存なら現状を提示して更新する。

- Skill: `thkt/outcome-2` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add thkt/outcome-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thkt/outcome-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: thkt (https://skillmd.com/u/thkt)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/thkt/outcome-2

---


# /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   |

## 生成

1. ${CLAUDE_SKILL_DIR}/templates/outcome.md を読む
2. Behavior、Non-goals、Constraints の 3 項目を AskUserQuestion 1 回で各 1 問ずつ収集する。Behavior は 1 つ以上で主体を明示する
3. 各 Behavior をアウトカムテストに通す。fail なら書き直してユーザーに再提示する
4. テンプレートに流し込み、`.claude/OUTCOME.md` を Write。冒頭文と Indicators はどちらも収集しない。冒頭文を書かず、Indicators はセクションごと落とす
5. validate-outcome.ts を再実行し、`errors` が空になるまで直す。`placeholder_left` はプレースホルダの残り、`missing_section` は見出しの欠落

## 更新

1. `.claude/OUTCOME.md` を読み、現状の各セクションを提示する。生成時に落とした冒頭文と Indicators は、未記入であることを示す
2. 変更するセクションとその内容を AskUserQuestion で確認する。冒頭文と Indicators を足せるのはこの経路だけ
3. 変更後の Behavior をアウトカムテストに通してから Edit する
4. validate-outcome.ts を再実行し、`errors` が空であることを確認する
5. `warnings` に `missing_indicator` があれば、その指標を足すかをユーザーに確認する。Indicators セクションを持ちながら Time/Error rate/Value のどれかを欠く状態を指す

