mcpField
G
gds-sprint-status

gds-sprint-status

github.com/bmad-code-org開発26244 回インストール5 週間前に更新
リポジトリ

gds-sprint-status について

gds-sprint-statusは、sprint-status.yamlを基にスプリント状況をまとめる開発者向けワークフロースキルです。ステータスとリスクを確認し、次のワークフローを提案するほか、ステータス別のStory表示やファイル内容の表示ができます。

主な機能

  1. 01スプリント状況の集計
  2. 02ステータスの検証
  3. 03リスクの検出
  4. 04次のワークフローの提案
  5. 05ステータス別のStory整理

活用シーン

  1. 01スプリントの進捗確認
  2. 02古い管理情報や不整合の検出
  3. 03次の開発ワークフローの選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bmad-code-org/bmad-module-game-dev-studio --skill gds-sprint-status

インストール後、Claude Code で/gds-sprint-statusを入力して読み込まれたか確認します。

同梱ファイルcustomize.toml

詳細

スプリント状況ワークフロー

目標: スプリントの状況を要約し、リスクを明らかにして、次に推奨するワークフローのアクションを提示します。

あなたの役割: 明確で実行可能なスプリント状況を示す開発者です。所要時間の見積もりは行わず、状況、リスク、次のステップに重点を置いてください。

パス

  • sprint_status_file = {implementation_artifacts}/sprint-status.yaml

入力ファイル

入力パス読み込み方法
スプリント状況{sprint_status_file}FULL_LOAD

コンテキスト

  • project_context = **/project-context.md(存在する場合に読み込み)

規則

  • パスのみ(例:template.md)はスキルのルートから解決します。
  • {skill-root} は、このスキルのインストール先ディレクトリ(customize.toml がある場所)を指します。
  • {project-root} は、プロジェクトの作業ディレクトリから親ディレクトリをたどり、最初に見つかった _bmad/ を含むフォルダーを指します。
  • {skill-name} はスキルディレクトリのベース名を指します。

有効化時

ステップ 1:ワークフローブロックを解決する

実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow

スクリプトが失敗した場合は、次の 3 つのファイルをベース → チーム → ユーザーの順に読み込み、リゾルバーと同じ構造マージ規則を適用して、workflow ブロックを自分で解決します。

  1. {skill-root}/customize.toml — デフォルト
  2. {project-root}/_bmad/custom/{skill-name}.toml — チームによる上書き
  3. {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/gds/config.yaml から設定を読み込み、次の項目を解決します。

  • user_name
  • communication_language
  • implementation_artifacts
ステップ 5:ユーザーにあいさつする

{communication_language} で {user_name} にあいさつします。

ステップ 6:追加の後続ステップを実行する

{workflow.activation_steps_append} の各エントリを順番に実行します。

有効化が完了しました。activation_steps_prepend または activation_steps_append にエントリがあった場合は、すべてのエントリを順番どおりに実行したことを確認してから続行します。すべての有効化ステップが完了するまで、メインワークフローを開始しないでください。

実行

呼び出し元が指定した場合は mode = {{mode}} に設定します。指定がない場合は mode = "interactive" に設定します ステップ 20 に進みます ステップ 30 に進みます ステップ 1 に進みます {project_context} を読み込み、プロジェクト全体のパターンと規則を確認します(存在する場合) {sprint_status_file} を探します ❌ sprint-status.yaml が見つかりません。 `/bmad:gds:workflows:sprint-planning` を実行して生成してから、sprint-status を再実行してください。 ワークフローを終了します ステップ 2 に進みます ファイル全体を読み込みます:{sprint_status_file} 次のフィールドを解析します:generated、last_updated、project、project_key、tracking_system、story_location development_status マップを解析します。キーを分類します: - エピック:「epic-」で始まり、「-retrospective」で終わらないキー - レトロスペクティブ:「-retrospective」で終わるキー - ストーリー:その他すべてのキー(例:1-2-login-form) 旧式のストーリーステータス「drafted」を「ready-for-dev」にマッピングします ストーリーステータスを集計します:backlog、ready-for-dev、in-progress、review、done 旧式のエピックステータス「contexted」を「in-progress」にマッピングします エピックステータスを集計します:backlog、in-progress、done レトロスペクティブのステータスを集計します:optional、done

すべてのステータスが既知の値か検証します:

  • 有効なストーリーステータス:backlog、ready-for-dev、in-progress、review、done、drafted(旧式)

  • 有効なエピックステータス:backlog、in-progress、done、contexted(旧式)

  • 有効なレトロスペクティブのステータス:optional、done

⚠️ 不明なステータスが見つかりました: {{#each invalid_entries}}

  • {{key}}:「{{status}}」(認識されません) {{/each}}

有効なステータス:

  • ストーリー:backlog、ready-for-dev、in-progress、review、done
  • エピック:backlog、in-progress、done
  • レトロスペクティブ:optional、done どのように修正しますか? {{#each invalid_entries}} {{@index}}. {{key}}:「{{status}}」→[有効なステータスを選択] {{/each}}

修正内容を入力してください(例:「1=in-progress, 2=backlog」)。修正せずに続行する場合は「skip」と入力してください: 修正した値で sprint-status.yaml を更新します 修正後のステータスでファイルを再解析します

リスクを検出します:

  • IF いずれかのストーリーのステータスが「review」→ /bmad:gds:workflows:code-review を提案します
  • IF いずれかのストーリーのステータスが「in-progress」かつ、ステータスが「ready-for-dev」のストーリーがない → 作業中のストーリーに集中し続けることを推奨します
  • IF すべてのエピックのステータスが「backlog」かつ、ステータスが「ready-for-dev」のストーリーがない → /bmad:gds:workflows:create-story を促します
  • IF last_updated のタイムスタンプが7日より古い(または last_updated がない場合は generated を使用)→ 「sprint-status.yaml may be stale」と警告します
  • IF いずれかのストーリーキーがエピックのパターンと一致しない(例:ストーリーが「5-1-...」なのに「epic-5」がない)→ 「orphaned story detected」と警告します
  • IF いずれかのエピックのステータスが「in-progress」なのに関連するストーリーがない → 「in-progress epic has no stories」と警告します
優先順位に従って、次に推奨するワークフローを選択します: 「最初の」ストーリーを選ぶ場合:エピック番号、次にストーリー番号の順に並べ替えます(例:1-1、1-2、2-1 の順) 1. ストーリーのステータスが in-progress の場合 → 最初の in-progress ストーリーに対して `dev-story` を推奨します(next_agent = DEVELOPER) 2. それ以外で、ストーリーのステータスが review の場合 → 最初の review ストーリーに対して `code-review` を推奨します(next_agent = REVIEWER) 3. それ以外で、ストーリーのステータスが ready-for-dev の場合 → `dev-story` を推奨します(next_agent = DEVELOPER) 4. それ以外で、ストーリーのステータスが backlog の場合 → `create-story` を推奨します(next_agent = STORY_AUTHOR) 5. それ以外で、いずれかのレトロスペクティブのステータスが optional の場合 → `retrospective` を推奨します(next_agent = FACILITATOR) 6. それ以外 → 実装項目はすべて完了です。ユーザーをねぎらい、二人で素晴らしい成果を上げたことを伝えます! 選択した推奨事項を次の値として保存します:next_story_id、next_workflow_id、next_agent。注:統合された GDS Phase 4 モデルでは、すべての役割ラベル(DEVELOPER、REVIEWER、STORY_AUTHOR、FACILITATOR)は同じエージェント(gds-agent-game-dev / Link Freeman)に対応します。これらのラベルは、意味上の区別を必要とする下流の利用者向けに維持されています。 ## 📊 スプリントの状況
  • プロジェクト:{{project}}({{project_key}})
  • トラッキング:{{tracking_system}}
  • ステータスファイル:{sprint_status_file}

ストーリー: バックログ {{count_backlog}}、開発準備完了 {{count_ready}}、進行中 {{count_in_progress}}、レビュー {{count_review}}、完了 {{count_done}}

エピック: バックログ {{epic_backlog}}、進行中 {{epic_in_progress}}、完了 {{epic_done}}

次の推奨事項: /bmad:gds:workflows:{{next_workflow_id}}({{next_story_id}})

{{#if risks}} リスク: {{#each risks}}

  • {{this}} {{/each}} {{/if}}

オプションを選択してください: 1) 推奨ワークフローを今すぐ実行する 2) ステータスごとにグループ化したすべてのストーリーを表示する 3) sprint-status.yaml の生データを表示する 4) 終了する 選択肢: `/bmad:gds:workflows:{{next_workflow_id}}` を実行してください。 コマンドの対象がストーリーの場合、プロンプトが表示されたら `story_key={{next_story_id}}` を設定してください。 ### ステータス別のストーリー - 進行中:{{stories_in_progress}} - レビュー:{{stories_in_review}} - 開発準備完了:{{stories_ready_for_dev}} - バックログ:{{stories_backlog}} - 完了:{{stories_done}} {sprint_status_file} の全内容を表示する ワークフローを終了する

実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete — 解決された値が空でない場合は、終了前の最後のターミナル指示としてそれに従ってください。

ステップ 2 と同様に {sprint_status_file} を読み込んで解析する ステップ 3 と同様に推奨事項を計算する next_workflow_id = {{next_workflow_id}} next_story_id = {{next_story_id}} next_agent = {{next_agent}} count_backlog = {{count_backlog}} count_ready = {{count_ready}} count_in_progress = {{count_in_progress}} count_review = {{count_review}} count_done = {{count_done}} epic_backlog = {{epic_backlog}} epic_in_progress = {{epic_in_progress}} epic_done = {{epic_done}} risks = {{risks}} 呼び出し元に戻る

実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete — 解決された値が空でない場合は、終了前の最後のターミナル指示としてそれに従ってください。

{sprint_status_file} が存在することを確認する is_valid = false error = "sprint-status.yaml missing" suggestion = "Run sprint-planning to create it" 戻る

{sprint_status_file} を読み込んで解析する

必須のメタデータフィールドが存在することを確認する:generated、project、project_key、tracking_system、story_location(後方互換性のため last_updated は任意) is_valid = false error = "Missing required field(s): {{missing_fields}}" suggestion = "Re-run sprint-planning or add missing fields manually" 戻る development_status セクションが存在し、エントリーが1つ以上あることを確認します is_valid = false error = "development_status missing or empty" suggestion = "Re-run sprint-planning or repair the file manually" Return

すべてのステータス値が既知の有効なステータスと一致することを検証します:

  • ストーリー:backlog、ready-for-dev、in-progress、review、done(旧形式:drafted)
  • エピック:backlog、in-progress、done(旧形式:contexted)
  • レトロスペクティブ:任意、done is_valid = false error = "Invalid status values: {{invalid_entries}}" suggestion = "Fix invalid statuses in sprint-status.yaml" Return

is_valid = true message = "sprint-status.yaml valid: metadata complete, all statuses recognized" 実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete — 解決された値が空でない場合は、終了前の最後のターミナル指示として従ってください。

コメント