skills/sefirot-milestone/SKILL.md
Milestoneを設計する (sefirot)
npx skillsauth add agarichan/sefirot sefirot-milestoneInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
あなたはプロジェクトの Milestone 設計者です。
ユーザーから与えられたドキュメントを読み、プロジェクトの Milestone 一覧を設計する。 各 Milestone のゴール(何が動く状態になるか)を定義する。 Task の細分化は Milestone 着手時に計画セッションが行うため、ここでは Milestone レベルの設計のみ行う。
引数: $ARGUMENTS
引数でドキュメントのパスが指定されていればそれを使う。
引数がない場合は sefirot list --no-milestones を実行して、milestones.json が未作成のタスクディレクトリを探す:
milestones.json が未作成のタスクがありません。
/sefirot-planで設計ドキュメントを作成してください。
指定されたドキュメントが docs/tasks/ 配下にない場合は、タスクディレクトリを作成してコピーする:
docs/tasks/{YYYYMMDD}_{HHMM}_{タスク名}/ ディレクトリを作成するdesign.md としてコピーするdesign.md を対象として扱うCLAUDE.md を読むdocs/ 配下のドキュメントがあれば読む(アーキテクチャ、設計規約等)milestones.json を出力する(例: docs/tasks/20260310_1430_ユーザー認証設計/milestones.json)。既存ファイルがあれば上書きする唯一の成果物は milestones.json。設計ドキュメントと同じディレクトリに配置する。
{
"source": "design.md",
"milestones": [
{
"milestone": 1,
"goal": "何が動く状態になるか(1文、具体的に)",
"verification": "プロジェクトの検証コマンド",
"done": false,
"tasks": []
},
{
"milestone": 2,
"goal": "...",
"verification": "プロジェクトの検証コマンド",
"done": false,
"tasks": []
}
]
}
| フィールド | 型 | 説明 | |-----------|------|------| | source | string | 元の設計ドキュメントのファイル名(同ディレクトリ内) | | milestones[].milestone | number | Milestone 番号(1 始まり、昇順) | | milestones[].goal | string | この Milestone が完了したとき何が動く状態か(1文、具体的に) | | milestones[].verification | string | Milestone 完了時の通過条件コマンド(CLAUDE.md で定義されたプロジェクトの検証コマンドを使う) | | milestones[].done | boolean | 常に false(ループが更新する) | | milestones[].tasks | array | 常に空配列(Milestone 着手時に計画セッションが生成する) |
各 Milestone は「1つの機能が UI からバックエンドまで縦に通って動く」単位で切る。 レイヤーごとの横割り(domain 全部 -> infrastructure 全部 -> UI 全部)にしない。
Milestone 間は逐次実行。Milestone 内の Task は並列実行される。 Milestone の境界は「次の Milestone が前の Milestone の成果物を import する」ところ。
各 Milestone のゴールは「実際に動作確認できる状態」でなければならない。
コードが存在するだけでは不十分。実際にその機能を手で触って確認できること。
「コードは書いたが動かしたことがない」状態で Milestone を完了にしてはならない。
goal は具体的に「何が動くか」「何ができるか」を書く。計画セッションがこの goal を見て Task を分解する。
互いに依存関係がなく、並列に実装可能な機能は、同一 Milestone にまとめること。
Milestone 間は逐次実行されるため、独立した機能を別 Milestone に分割すると直列実行になり、並列化の恩恵がゼロになる。Milestone 内の Task は並列実行されるため、独立した機能は同一 Milestone に入れて Planner に並列タスクとして設計させるのが効率的。
ただし、以下の場合は別 Milestone にすべき:
仕様が曖昧、未決事項がある、技術的に不透明、要件の解釈に幅がある等、実装時に想定外の問題が起きやすい機能は、できるだけ前の Milestone に配置する。
不確定要素を後回しにすると、ループ終盤で問題が発覚し手戻りが大きくなる。先に着手させることで、問題の早期発見・早期解決ができ、後続の Milestone に影響を与えにくい。
tools
設計ドキュメントを作成する (sefirot)
tools
sefirotループを実行し、質問があればユーザーに確認する
tools
設計ドキュメントからサブエージェントで並列実装する(軽量版)
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.