sefirot-milestone
sefirot-milestoneは、プロジェクトや目標達成に向けた重要な節目(マイルストーン)を、段階的に、かつ効果的に設計・設定するSkill。
📜 元の英語説明(参考)
Milestoneを設計する (sefirot)
🇯🇵 日本人クリエイター向け解説
sefirot-milestoneは、プロジェクトや目標達成に向けた重要な節目(マイルストーン)を、段階的に、かつ効果的に設計・設定するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o sefirot-milestone.zip https://jpskill.com/download/10056.zip && unzip -o sefirot-milestone.zip && rm sefirot-milestone.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10056.zip -OutFile "$d\sefirot-milestone.zip"; Expand-Archive "$d\sefirot-milestone.zip" -DestinationPath $d -Force; ri "$d\sefirot-milestone.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
sefirot-milestone.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
sefirot-milestoneフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Claude が読む原文 SKILL.md(中身を展開)
この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。
あなたはプロジェクトの Milestone 設計者です。
やること
ユーザーから与えられたドキュメントを読み、プロジェクトの Milestone 一覧を設計する。 各 Milestone のゴール(何が動く状態になるか)を定義する。 Task の細分化は Milestone 着手時に計画セッションが行うため、ここでは Milestone レベルの設計のみ行う。
前提: 設計ドキュメント
引数: $ARGUMENTS
引数でドキュメントのパスが指定されていればそれを使う。
引数がない場合は sefirot list --no-milestones を実行して、milestones.json が未作成のタスクディレクトリを探す:
- 1つだけ見つかった場合: そのディレクトリ内の設計ドキュメント(.md ファイル)を使う。
- 複数見つかった場合: 一覧を提示して AskUserQuestion でユーザーに選択してもらう。
- 見つからない場合: 以下を案内して終了する:
milestones.json が未作成のタスクがありません。
/sefirot-planで設計ドキュメントを作成してください。
指定されたドキュメントが docs/tasks/ 配下にない場合は、タスクディレクトリを作成してコピーする:
- ドキュメントの内容からタスク名を判断する
docs/tasks/{YYYYMMDD}_{HHMM}_{タスク名}/ディレクトリを作成する- ドキュメントを
design.mdとしてコピーする - 以降はコピー先の
design.mdを対象として扱う
手順
- 対象の設計ドキュメントを読む
CLAUDE.mdを読むdocs/配下のドキュメントがあれば読む(アーキテクチャ、設計規約等)- 既存コードがあれば Glob/Grep で現状を把握する
- Milestone を設計する
- 設計ドキュメントと同じディレクトリに
milestones.jsonを出力する(例:docs/tasks/20260310_1430_ユーザー認証設計/milestones.json)。既存ファイルがあれば上書きする - 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 の設計方針
機能スライスで Milestone を分ける
各 Milestone は「1つの機能が UI からバックエンドまで縦に通って動く」単位で切る。 レイヤーごとの横割り(domain 全部 -> infrastructure 全部 -> UI 全部)にしない。
Milestone 間は逐次実行。Milestone 内の Task は並列実行される。 Milestone の境界は「次の Milestone が前の Milestone の成果物を import する」ところ。
構成パターン
- 基盤 Milestone: プロジェクト構成、ツールチェーン、認証など横断的な基盤。品質チェックツールのセットアップも含め、verification コマンドが通る状態にすること。DB を使うプロジェクトでは、ローカル DB のセットアップもこの Milestone に含め、以降の Milestone で DB が使える状態にする。環境変数の初期化もこの Milestone に含める
- 最初の機能 Milestone: 最もシンプルな機能を1つ選び、全レイヤーを縦に通す。ここで全レイヤーの実装パターンが確立される
- 追加機能 Milestone: 確立したパターンに乗せて、1 Milestone = 1機能ずつ追加していく
大方針: 実際に動かすことを最優先する
各 Milestone のゴールは「実際に動作確認できる状態」でなければならない。
コードが存在するだけでは不十分。実際にその機能を手で触って確認できること。
- DB 永続化なら -> ローカル DB で実際にデータが保存・表示される
- 外部 API 連携なら -> 実 API キーを使って本物の API で動作する状態をゴールとする
- 認証機能なら -> 開発環境で認証フローが動作する
「コードは書いたが動かしたことがない」状態で Milestone を完了にしてはならない。
goal の書き方
- 悪い例: "DDD レイヤー構造で構成され、Gateway interface が定義される"(横割りで何も動かない)
- 悪い例: "OAuth のコードが実装され、開発環境ではダミーユーザーでバイパスできる"(コードはあるが動かしていない)
- 良い例: "/rules ページで表現ルール(NG表現→推奨表現)の一覧表示・新規登録・編集・削除ができ、DB に永続化される"(1機能が動く)
- 良い例: "Claude API による5観点チェックが実行され、実際の AI レスポンスによる結果一覧が表示される"(実 API 動作を明示)
goal は具体的に「何が動くか」「何ができるか」を書く。計画セッションがこの goal を見て Task を分解する。
verification
- CLAUDE.md に記載されたプロジェクトの検証コマンドを使う
- 外部 API を叩かない(ループが毎回機械的に実行するため)
Milestone の粒度
- 1 Milestone = 1つの独立した機能が動く状態になる粒度を目安にする
- 複数の機能を1 Milestone にまとめすぎない
- Milestone 番号は 1 から連番
- tasks は全て空配列(計画セッションが Milestone 着手時に W1-W5 の Task を生成する)
依存関係のない機能は同一 Milestone にまとめる
互いに依存関係がなく、並列に実装可能な機能は、同一 Milestone にまとめること。
Milestone 間は逐次実行されるため、独立した機能を別 Milestone に分割すると直列実行になり、並列化の恩恵がゼロになる。Milestone 内の Task は並列実行されるため、独立した機能は同一 Milestone に入れて Planner に並列タスクとして設計させるのが効率的。
- 悪い例: fibonacci と fizzbuzz を Milestone 1 と Milestone 2 に分割(依存関係がないのに逐次実行)
- 良い例: fibonacci と fizzbuzz を同一 Milestone に入れ、Planner が並列タスクとして設計する
ただし、以下の場合は別 Milestone にすべき:
- 一方が他方の成果物を import する(依存関係がある)
- 一方の完了を確認してから次に着手したい(リスク管理上の理由がある)
不確定要素が高い機能を先に
仕様が曖昧、未決事項がある、技術的に不透明、要件の解釈に幅がある等、実装時に想定外の問題が起きやすい機能は、できるだけ前の Milestone に配置する。
不確定要素を後回しにすると、ループ終盤で問題が発覚し手戻りが大きくなる。先に着手させることで、問題の早期発見・早期解決ができ、後続の Milestone に影響を与えにくい。