bmad-sprint-planning
エピック(大きな課題)からスプリント(短期間の開発サイクル)の進捗状況を把握し、スプリント計画を立てる際に、「スプリント計画を実行」などの指示に応じて活用できるSkill。
📜 元の英語説明(参考)
Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"
🇯🇵 日本人クリエイター向け解説
エピック(大きな課題)からスプリント(短期間の開発サイクル)の進捗状況を把握し、スプリント計画を立てる際に、「スプリント計画を実行」などの指示に応じて活用できるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o bmad-sprint-planning.zip https://jpskill.com/download/23708.zip && unzip -o bmad-sprint-planning.zip && rm bmad-sprint-planning.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/23708.zip -OutFile "$d\bmad-sprint-planning.zip"; Expand-Archive "$d\bmad-sprint-planning.zip" -DestinationPath $d -Force; ri "$d\bmad-sprint-planning.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
bmad-sprint-planning.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
bmad-sprint-planningフォルダができる - 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
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
スプリント計画ワークフロー
目標: エピックからスプリントステータストラッキングを生成し、現在のストーリーのステータスを検出し、完全な sprint-status.yaml ファイルを構築します。
あなたの役割: あなたはスプリントトラッキングを生成し、維持する開発者です。エピックファイルを解析し、ストーリーのステータスを検出し、構造化された sprint-status.yaml を生成してください。
規約
- ベアパス (例:
checklist.md) は、スキルルートから解決されます。 {skill-root}は、このスキルがインストールされているディレクトリ (customize.tomlが存在する場所) に解決されます。{project-root}プレフィックス付きパスは、プロジェクトの作業ディレクトリから解決されます。{skill-name}は、スキルディレクトリのベース名に解決されます。
アクティベーション時
ステップ 1: ワークフローブロックの解決
実行: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow
スクリプトが失敗した場合、ベース → チーム → ユーザーの順にこれら3つのファイルを読み込み、リゾルバーと同じ構造マージルールを適用して、workflow ブロックを自分で解決してください。
{skill-root}/customize.toml— デフォルト{project-root}/_bmad/custom/{skill-name}.toml— チームのオーバーライド{project-root}/_bmad/custom/{skill-name}.user.toml— 個人のオーバーライド
ファイルが見つからない場合はスキップされます。スカラーはオーバーライドし、テーブルはディープマージし、code または id でキー付けされたテーブルの配列は一致するエントリを置き換え、新しいエントリを追加し、その他のすべての配列は追加されます。
ステップ 2: 前処理ステップの実行
{workflow.activation_steps_prepend} の各エントリを順番に実行してから進みます。
ステップ 3: 永続的な事実の読み込み
{workflow.persistent_facts} のすべてのエントリを、ワークフローの残りの実行期間中保持する基本的なコンテキストとして扱います。file: で始まるエントリは、{project-root} 下のパスまたはグロブです。参照されたコンテンツを事実として読み込みます。その他のすべてのエントリは、そのまま事実として扱われます。
ステップ 4: 設定の読み込み
{project-root}/_bmad/bmm/config.yaml から設定を読み込み、解決します。
project_name,user_namecommunication_language,document_output_languageimplementation_artifactsplanning_artifactsdateはシステム生成の現在の日時- エージェントのコミュニケーションスタイルで、設定された
{communication_language}で常に出力を話す必要があります。 - すべてのドキュメントを
{document_output_language}で生成します。
ステップ 5: ユーザーへの挨拶
{user_name} に、{communication_language} で挨拶します。
ステップ 6: 後処理ステップの実行
{workflow.activation_steps_append} の各エントリを順番に実行します。
アクティベーションが完了しました。以下のワークフローを開始します。
パス
tracking_system=file-systemproject_key=NOKEYstory_location={implementation_artifacts}story_location_absolute={implementation_artifacts}epics_location={planning_artifacts}epics_pattern=*epic*.mdstatus_file={implementation_artifacts}/sprint-status.yaml
入力ファイル
| 入力 | パス | 読み込み戦略 |
|---|---|---|
| エピック | {planning_artifacts}/*epic*.md (全体) または {planning_artifacts}/*epic*/*.md (分割) |
FULL_LOAD |
実行
ドキュメントの発見 - 完全なエピックの読み込み
戦略: スプリント計画では、完全なステータストラッキングを構築するために、すべてのエピックとストーリーが必要です。
エピック発見プロセス:
- まずドキュメント全体を検索 -
epics.md、bmm-epics.md、または任意の*epic*.mdファイルを探します。 - 分割バージョンを確認 - ドキュメント全体が見つからない場合、
epics/index.mdを探します。 - 分割バージョンが見つかった場合:
index.mdを読んでドキュメント構造を理解します。- インデックスにリストされているすべてのエピックセクションファイル (例:
epic-1.md、epic-2.mdなど) を読み込みます。 - 結合されたコンテンツからすべてのエピックとそのストーリーを処理します。
- これにより、スプリントステータスの完全なカバレッジが保証されます。
- 優先順位: ドキュメント全体と分割バージョンの両方が存在する場合、ドキュメント全体を使用します。
あいまい一致: ドキュメント名には柔軟に対応してください。ユーザーは epics.md、bmm-epics.md、user-stories.md などのバリエーションを使用する場合があります。
<workflow>
<step n="1" goal="エピックファイルを解析し、すべての作業項目を抽出する">
<action>プロジェクト全体のパターンと規約のために {project_context} を読み込む (存在する場合)</action>
<action>{communication_language} で {user_name} とコミュニケーションをとる</action>
<action>{epics_location} 内の {epics_pattern} に一致するすべてのファイルを探す</action>
<action>単一の epics.md ファイル、または複数の epic-1.md、epic-2.md ファイルである可能性があります</action>
<action>見つかった各エピックファイルから以下を抽出します:</action>
## Epic 1:や## Epic 2:のようなヘッダーからエピック番号### Story 1.1: User AuthenticationのようなパターンからストーリーIDとタイトル- ストーリー形式を
Epic.Story: Titleからケバブケースキー:epic-story-titleに変換
ストーリーID変換ルール:
- 元:
### Story 1.1: User Authentication - ピリオドをダッシュに置き換える:
1-1 - タイトルをケバブケースに変換する:
user-authentication - 最終キー:
1-1-user-authentication
<action>すべてのエピックファイルからすべてのエピックとストーリーの完全なインベントリを構築する</action> </step>
<step n="2" goal="スプリントステータス構造を構築する"> <action>見つかった各エピックについて、以下の順序でエントリを作成します:</action>
- エピックエントリ - キー:
epic-{num}、デフォルトステータス:backlog - ストーリーエントリ - キー:
{epic}-{story}-{title}、デフォルトステータス:backlog - レトロスペクティブエントリ - キー:
epic-{num}-retrospective、デフォルトステータス:optional
構造例:
development_status:
epic-1: backlog
1-1-user-authentication: backlog
1-2-account-management: backlog
epic-1-retrospective: optional
</step>
<step n="3" goal="インテリジェントなステータス検出を適用する"> <action>各ストーリーについて、以下のファイルをチェックして現在のステータスを検出します:</action>
ストーリーファイル検出:
- チェック:
{story_location_absolute}/{story-key}.md(例:stories/1-1-user-authentication.md) - 存在する場合 → ステータスを少なくとも
ready-for-devにアップグレード
保存ルール:
- 既存の
{status_file}が存在し、より高度なステータスを持っている場合、それを保存します。 - ステータスをダウングレードしない (例:
doneをready-for-devに変更しない)。
ステータスフロー参照:
- エピック:
backlog→in-progress→done
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Sprint Planning Workflow
Goal: Generate sprint status tracking from epics, detecting current story statuses and building a complete sprint-status.yaml file.
Your Role: You are a Developer generating and maintaining sprint tracking. Parse epic files, detect story statuses, and produce a structured sprint-status.yaml.
Conventions
- Bare paths (e.g.
checklist.md) resolve from the skill root. {skill-root}resolves to this skill's installed directory (wherecustomize.tomllives).{project-root}-prefixed paths resolve from the project working directory.{skill-name}resolves to the skill directory's basename.
On Activation
Step 1: Resolve the Workflow Block
Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow
If the script fails, resolve the workflow block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
{skill-root}/customize.toml— defaults{project-root}/_bmad/custom/{skill-name}.toml— team overrides{project-root}/_bmad/custom/{skill-name}.user.toml— personal overrides
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.
Step 2: Execute Prepend Steps
Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.
Step 3: Load Persistent Facts
Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} — load the referenced contents as facts. All other entries are facts verbatim.
Step 4: Load Config
Load config from {project-root}/_bmad/bmm/config.yaml and resolve:
project_name,user_namecommunication_language,document_output_languageimplementation_artifactsplanning_artifactsdateas system-generated current datetime- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config
{communication_language} - Generate all documents in
{document_output_language}
Step 5: Greet the User
Greet {user_name}, speaking in {communication_language}.
Step 6: Execute Append Steps
Execute each entry in {workflow.activation_steps_append} in order.
Activation is complete. Begin the workflow below.
Paths
tracking_system=file-systemproject_key=NOKEYstory_location={implementation_artifacts}story_location_absolute={implementation_artifacts}epics_location={planning_artifacts}epics_pattern=*epic*.mdstatus_file={implementation_artifacts}/sprint-status.yaml
Input Files
| Input | Path | Load Strategy |
|---|---|---|
| Epics | {planning_artifacts}/*epic*.md (whole) or {planning_artifacts}/*epic*/*.md (sharded) |
FULL_LOAD |
Execution
Document Discovery - Full Epic Loading
Strategy: Sprint planning needs ALL epics and stories to build complete status tracking.
Epic Discovery Process:
- Search for whole document first - Look for
epics.md,bmm-epics.md, or any*epic*.mdfile - Check for sharded version - If whole document not found, look for
epics/index.md - If sharded version found:
- Read
index.mdto understand the document structure - Read ALL epic section files listed in the index (e.g.,
epic-1.md,epic-2.md, etc.) - Process all epics and their stories from the combined content
- This ensures complete sprint status coverage
- Read
- Priority: If both whole and sharded versions exist, use the whole document
Fuzzy matching: Be flexible with document names - users may use variations like epics.md, bmm-epics.md, user-stories.md, etc.
<workflow>
<step n="1" goal="Parse epic files and extract all work items">
<action>Load {project_context} for project-wide patterns and conventions (if exists)</action>
<action>Communicate in {communication_language} with {user_name}</action>
<action>Look for all files matching {epics_pattern} in {epics_location}</action>
<action>Could be a single epics.md file or multiple epic-1.md, epic-2.md files</action>
<action>For each epic file found, extract:</action>
- Epic numbers from headers like
## Epic 1:or## Epic 2: - Story IDs and titles from patterns like
### Story 1.1: User Authentication - Convert story format from
Epic.Story: Titleto kebab-case key:epic-story-title
Story ID Conversion Rules:
- Original:
### Story 1.1: User Authentication - Replace period with dash:
1-1 - Convert title to kebab-case:
user-authentication - Final key:
1-1-user-authentication
<action>Build complete inventory of all epics and stories from all epic files</action> </step>
<step n="2" goal="Build sprint status structure"> <action>For each epic found, create entries in this order:</action>
- Epic entry - Key:
epic-{num}, Default status:backlog - Story entries - Key:
{epic}-{story}-{title}, Default status:backlog - Retrospective entry - Key:
epic-{num}-retrospective, Default status:optional
Example structure:
development_status:
epic-1: backlog
1-1-user-authentication: backlog
1-2-account-management: backlog
epic-1-retrospective: optional
</step>
<step n="3" goal="Apply intelligent status detection"> <action>For each story, detect current status by checking files:</action>
Story file detection:
- Check:
{story_location_absolute}/{story-key}.md(e.g.,stories/1-1-user-authentication.md) - If exists → upgrade status to at least
ready-for-dev
Preservation rule:
- If existing
{status_file}exists and has more advanced status, preserve it - Never downgrade status (e.g., don't change
donetoready-for-dev)
Status Flow Reference:
- Epic:
backlog→in-progress→done - Story:
backlog→ready-for-dev→in-progress→review→done - Retrospective:
optional↔done</step>
<step n="4" goal="Generate sprint status file"> <action>Create or update {status_file} with:</action>
File Structure:
# generated: {date}
# last_updated: {date}
# project: {project_name}
# project_key: {project_key}
# tracking_system: {tracking_system}
# story_location: {story_location}
# STATUS DEFINITIONS:
# ==================
# Epic Status:
# - backlog: Epic not yet started
# - in-progress: Epic actively being worked on
# - done: All stories in epic completed
#
# Epic Status Transitions:
# - backlog → in-progress: Automatically when first story is created (via create-story)
# - in-progress → done: Manually when all stories reach 'done' status
#
# Story Status:
# - backlog: Story only exists in epic file
# - ready-for-dev: Story file created in stories folder
# - in-progress: Developer actively working on implementation
# - review: Ready for code review (via Dev's code-review workflow)
# - done: Story completed
#
# Retrospective Status:
# - optional: Can be completed but not required
# - done: Retrospective has been completed
#
# WORKFLOW NOTES:
# ===============
# - Epic transitions to 'in-progress' automatically when first story is created
# - Stories can be worked in parallel if team capacity allows
# - Developer typically creates next story after previous one is 'done' to incorporate learnings
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
generated: { date }
last_updated: { date }
project: { project_name }
project_key: { project_key }
tracking_system: { tracking_system }
story_location: { story_location }
development_status:
# All epics, stories, and retrospectives in order
<action>Write the complete sprint status YAML to {status_file}</action> <action>CRITICAL: Metadata appears TWICE - once as comments (#) for documentation, once as YAML key:value fields for parsing</action> <action>Ensure all items are ordered: epic, its stories, its retrospective, next epic...</action> </step>
<step n="5" goal="Validate and report"> <action>Perform validation checks:</action>
- [ ] Every epic in epic files appears in {status_file}
- [ ] Every story in epic files appears in {status_file}
- [ ] Every epic has a corresponding retrospective entry
- [ ] No items in {status_file} that don't exist in epic files
- [ ] All status values are legal (match state machine definitions)
- [ ] File is valid YAML syntax
<action>Count totals:</action>
- Total epics: {{epic_count}}
- Total stories: {{story_count}}
- Epics in-progress: {{in_progress_count}}
- Stories done: {{done_count}}
<action>Display completion summary to {user_name} in {communication_language}:</action>
Sprint Status Generated Successfully
- File Location: {status_file}
- Total Epics: {{epic_count}}
- Total Stories: {{story_count}}
- Epics In Progress: {{in_progress_count}}
- Stories Completed: {{done_count}}
Next Steps:
- Review the generated {status_file}
- Use this file to track development progress
- Agents will update statuses as they work
- Re-run this workflow to refresh auto-detected statuses
<action>Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete — if the resolved value is non-empty, follow it as the final terminal instruction before exiting.</action>
</step>
</workflow>
Additional Documentation
Status State Machine
Epic Status Flow:
backlog → in-progress → done
- backlog: Epic not yet started
- in-progress: Epic actively being worked on (stories being created/implemented)
- done: All stories in epic completed
Story Status Flow:
backlog → ready-for-dev → in-progress → review → done
- backlog: Story only exists in epic file
- ready-for-dev: Story file created (e.g.,
stories/1-3-plant-naming.md) - in-progress: Developer actively working
- review: Ready for code review (via Dev's code-review workflow)
- done: Completed
Retrospective Status:
optional ↔ done
- optional: Ready to be conducted but not required
- done: Finished
Guidelines
- Epic Activation: Mark epic as
in-progresswhen starting work on its first story - Sequential Default: Stories are typically worked in order, but parallel work is supported
- Parallel Work Supported: Multiple stories can be
in-progressif team capacity allows - Review Before Done: Stories should pass through
reviewbeforedone - Learning Transfer: Developer typically creates next story after previous one is
doneto incorporate learnings