# Preflight

> 実行前にタスクの意図・スコープ・使用ツールを明確化するスキル。 ユーザーが `/preflight` を入力したとき、または「実行前に確認したい」「何から始めるか整理したい」 「プロンプトを整理したい」「やりたいことを整理して」「タスクを明確にしたい」と言ったときに必ず使うこと。 複雑なタスク・曖昧なスコープ・破壊的操作を含む可能性がある依頼にも積極的に適用すること。 「どうやって完遂するか・完了をどう確認するか」が自分の中で確立できていないタスクを受けたときも必ず使うこと。やり方が不明確なまま動き始めることを禁止する。

- Skill: `kura-by2/preflight` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add kura-by2/preflight`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kura-by2/preflight/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kura-by2 (https://skillmd.com/u/kura-by2)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kura-by2/preflight

---


# Preflight: 実行前タスク明確化

複雑なタスクを実行する前に「何を・どこまで・どのツールで」を明確にして、
実行後の手戻りをなくすためのスキル。

## 入力

タスク内容: `$ARGUMENTS`

引数がない場合は「どのタスクを明確化したいですか？」と聞く。

---

## Phase 1 — 意図の解像度を上げる

タスク文を読んで、実行の方向性が変わりうる曖昧な点を最大3つ特定して質問する。

**良い質問の条件:**
- タスク文中の具体的な言葉を引用して聞く（「整理して」→「何を基準に整理？ファイル名順？種類別？」）
- 回答によって実行ステップが変わるもの（スコープ・対象・破壊性）を優先する
- 汎用的な「どんな出力形式ですか？」のような質問はしない

**質問が不要なケース:** タスクが十分に具体的で、解釈の余地がない場合はPhase 1をスキップしてPhase 2へ進む。

ユーザーの回答を受け取ってからPhase 2へ進む。

---

## Phase 2 — ツール選択

明確化された意図に基づき、必要なツールを選定する。
詳細なツール選択基準は `references/tool-selection.md` を参照。

出力形式:

```
## 使用ツール

| ツール | 用途 | 理由 |
|--------|------|------|
| Grep   | ファイル検索 | TODOコメントのパターン検索に適切 |
| Edit   | ファイル編集 | 既存行の削除・書き換え |
```

不要なツールは省く。各ツールの選定理由はこのタスク固有の内容にする（「存在するから」ではなく「〇〇が必要だから」）。

---

## Phase 3 — 実行計画の出力

以下のフォーマットで出力する:

```
## 精緻化された意図
[1文、能動態。「〇〇を△△することで□□する」の形]

## 事前確認事項
- [ ] [確認すべきファイル・ディレクトリ・状態 + 確認コマンド]

## 実行ステップ
1. [ツール名] [対象] → [期待される結果]
2. [ツール名] [対象] → [期待される結果]
   ⚠️ [要確認] ← 破壊的・不可逆な操作にはこのフラグをつける

## 完了条件
- [完了条件の説明] / verify: [Stop hook が実コマンドとして実行する検証コマンド。失敗すると停止がブロックされるため、絶対パスへ展開済みの実行可能なコマンドだけを書く。`<worktree>` などの未展開プレースホルダや説明的日本語は残さない。機械検証できない条件は注釈なしのリテラル `manual` と書く]

## リスク・残る曖昧点
- [実行中に問題になりうること、または明確化できなかった点]

## 精緻化されたプロンプト
[このままコピーして投げ直せる形に書き直したタスク文]
```

**破壊的操作の判断基準:** ファイルの上書き・削除、既存データの変更、外部への送信 → `⚠️ [要確認]` フラグをつける。

---

## 出力先

Phase 3 の出力先は、デフォルトでは標準出力にする。

呼び出し元が出力先ファイルを明示した場合は、その指定に従って書き出す。

呼び出し元の指定がなく、かつ Phase 3 の出力をファイルとして残す必要がある場合は、固定パスや作業ディレクトリには書かず、必ず使い捨てとして `/tmp` 直下に `preflight-` 接頭辞つきのタスク別ユニーク名で書く。

```bash
output="/tmp/preflight-<task>-$(date +%Y%m%d-%H%M%S).md"
```

`<task>` はタスクを表す短い slug にする。`/tmp` 直下なので再起動で自然消滅し、毎回ユニーク名なので上書き衝突も残留も起きない。

---

## 参照ファイル

- `references/tool-selection.md` — ツール選択マトリクス（Phase 2で参照）

