mcpField
B
beads-implement

beads-implement

github.com/btrautエージェントワークフロー7123 回インストール5 週間前に更新
リポジトリ

beads-implement について

Beads Implement は、クラシック Beads(`bd`)または beads_rust(`br`)でタスクや epic を進めるエージェントスキルです。トラッカーの選択、着手からレビュー、テスト、コミット、記録更新までの手順を定めています。

主な機能

  1. 01`bd` と `br` の両トラッカーに対応
  2. 02タスク詳細、受け入れ条件、依存関係の確認
  3. 03epic の子タスクを依存順に処理
  4. 04変更のレビューと関連テストの実行
  5. 05コミットとトラッカーの更新

活用シーン

  1. 01bead ID を起点とした実装開始
  2. 02epic 内の依存タスクを順番に完了
  3. 03タスク変更のチェックとコミット
  4. 04Beads への実装記録と引き継ぎ情報の保存

インストール

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

$npx skills add https://github.com/btraut/skills --skill beads-implement

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

同梱ファイルVERSION

詳細

Beads の実装

このスキルを使うと、やり取りを最小限に抑えて、bead または epic の ID に基づく作業を実行できます。このスキルは、従来の Beads(bd)と beads_rust(br)のどちらでも動作する必要があります。

ワークフロー

  1. 最初にトラッカーを特定する

    • ユーザーが bd、br、beads、beads_rust のいずれかを明示した場合は、それに従います。
    • それ以外の場合は、実際にインストールされているものを検出します。
      • br だけがインストールされている場合は、br を使用します。
      • bd だけがインストールされている場合は、bd を使用します。
      • 両方インストールされている場合は、現在のワークスペース/履歴をすでに管理しているトラッカーを優先します。
      • 両方インストールされていて、ワークスペースを特定できない場合は、推測せず、的を絞った質問を 1 つだけします。
    • 同じ実行中に、両方のトラッカーのコマンドを混在させないでください。
  2. 選択したトラッカーの準備をする

    • bd の場合:
      • まず bd prime を実行します。これは現在の「この bead を始める方法」を把握する最速の手段です。
      • bd prime を利用できない、または内容が分かりにくい場合は、読み込まれているローカルの従来版 Beads スキルを探し、他のことをする前にそれを使います。
      • ローカルの bd スキルがなければ、bd --help、bd show --help、bd update --help など、ローカルの CLI ヘルプを使います。
    • br の場合:
      • 読み込まれているローカルの br、beads_rust、または同等のトラッカースキルがあれば、まずそれを探して使います。
      • ローカルの br スキルがなければ、br --help、br show --help、br update --help、br epic --help など、ローカルの CLI ヘルプを使います。
      • ACTOR="${BR_ACTOR:-assistant}" を設定します。
      • prime コマンドがあると想定する代わりに、状況把握には br show <id> --json、br ready --json、br blocked --json を使います。
      • エージェント向けの br コマンドでは、利用可能な場合は必ず --json を使います。
      • bv を引数なしで実行しないでください。
    • このスキルを使って、ユーザーを公開ウェブドキュメントに誘導しないでください。
  3. bead を開く

    • bd の場合は、可能であれば bd show <id> --json を使い、タイトル、説明、受け入れ条件、依存関係を確認します。
    • br の場合は、br show <id> --json を使い、タイトル、説明、受け入れ条件、設計、メモ、依存関係を確認します。
    • 必要な情報が不足している場合や、依存関係が進行を妨げている場合は、的を絞った質問を 1 つだけして、回答を待ちます。
  4. トラッカーで作業を開始する

    • bd の場合は、ワークフローで対応していれば bead を in_progress にします(bd prime/bd update --help を確認してください)。
    • br の場合は、br update --actor "$ACTOR" <id> --claim --json を使って担当にするか、--status in_progress を設定します。
    • bead が曖昧な場合は、予定している進め方について短いメモを追加します。
  5. 簡潔な ToDo リストを作成する

    • 実行の開始時に、完了する予定のタスク/サブタスクを簡潔にまとめた ToDo リストを作成し、作業の進行に合わせて更新します。
  6. スコープを決める

    • bead が単一のタスクであれば、そのまま実装します。
    • bead が epic であれば、すべてのサブタスクを特定し、依存関係の順に実装します。
    • epic の場合、ユーザーが並行実装を明示的に求めない限り、実装対象としてアクティブにする子 bead は一度に 1 つだけにします。
    • br の epic では、子の進捗状況や完了可能性の把握に役立つ場合、br epic status <id> または依存関係グラフを使います。
  7. 範囲を絞って委任する(サブエージェントを必要な箇所に限定して使う)

    • サブエージェントは、現在の bead の範囲内で、明確に区切られた作業に使います。
    • サブエージェントに適した作業:リポジトリの調査、API/ライブラリのドキュメント調査、再現手順の作成、テスト戦略の検討、対象ファイルが明確な限定的リファクタリング。
    • 各サブエージェントには、担当範囲(ファイルと期待する成果物)を明確に伝え、編集範囲をできるだけ小さく保ちます。
    • 対象が epic の場合、作業順の管理はメインエージェントが担当します。サブエージェントは現在の子 bead に取り組めますが、明示的に割り当てられない限り、後続の子 bead に着手してはいけません。
    • サブエージェントは bead を完了扱いにしたり、epic を完了扱いにしたり、全体計画を更新したり、独自にワークフローを先に進めたりしてはいけません。
    • サブエージェントは、自分の変更が統合済みだと想定してはいけません。メインエージェントが確認、統合し、受け入れるか却下するかを判断できるよう、結果を返します。
  8. 次に進む前のレビューチェック

    • 各ビーズまたは子ビーズについて、次のループを順番に実行します。
      1. 実装する
      2. レビューする
      3. レビューでの指摘を修正する
      4. 関連するチェック/テストを実行する
      5. コミットする
      6. Beads を更新する
    • 現在の子ビーズがこのチェックを通過するまで、次の子ビーズに着手しないでください。
    • サブエージェントがスコープを超えて作業した場合、その出力を使用する前に作業を止め、変更内容を確認してください。
  9. 実装、コミット、メモの記録(タスク/サブタスクごとに繰り返す)

    • 実装し、関連するチェック/テストを実行してから、レビューチェックを通過した時点でコミットします。
    • タスク/サブタスクごとにコミットを1つ作成します。
    • コミットメッセージ:件名にビーズ ID を含めます。
    • コミット本文:実際のメモ(変更内容、理由、実行したテスト、今後の対応/リスク)を記載します。
    • コミット後、トラッカーの情報が圧縮後や今後の引き継ぎ後も残るよう、同じメモをビーズにも追加します。
    • bd の場合は、bd prime または読み込まれたローカル Beads スキルで推奨されるメモ/設計ワークフローを使用します。
    • br の場合は、br update --actor "$ACTOR" <id> --notes "..." --json で概要を記録し、進捗メモを別に記録するほうが適切な場合は br comments add を使用します。
    • br の場合、同期は明示的に行う必要があります。トラッカーの状態変更を Git にコミットする前に br sync --flush-only を実行します。

    最小限のコミットテンプレート:

    <BEAD-ID>: <imperative summary>
    
    Why:
    - ...
    
    What:
    - ...
    
    Tests:
    - ...
    
    Notes/Risks:
    - ...
    
  10. 権限に関するルール

  • ビーズまたはエピックを完了としてマークできるのは、メインエージェントだけです。
  • 現在の子ビーズが完了したと判断し、次の子ビーズに進めるのは、メインエージェントだけです。
  • コミットを共有ブランチに取り込めるのは、メインエージェントだけです。
  • サブエージェントは作業者およびレビュー担当者であり、プロジェクトマネージャーではありません。
  1. 必要なときだけ連絡する
  • 作業の進行中にユーザーの作業を中断しないでください。
  • 作業がブロックされたとき、情報が不足しているとき、または重要な判断が必要なときに限り、いったん作業を止めて支援を求めてください。
  1. 作業を完了する
  • 完了したら、明確な理由を添えてビーズをクローズします。
  • bd の場合は、インストール済みバージョンの bd prime または読み込まれたローカル Beads スキルで推奨されるセッション終了時の同期手順に従います。
  • br の場合:
    • br close --actor "$ACTOR" <id> --reason "Implemented X in commit abc123" --json でクローズします。
    • エピックをクローズする場合は、まず br epic status <id> または br epic close-eligible <id> でクローズ可能か確認します。
    • クローズ更新後に br sync --flush-only を実行し、Git のコミット/プッシュ前に .beads/ を最新の状態にします。
  1. 進捗を報告する
  • 使用したトラッカーが bd か br かを明記します。
  • 完了したタスク、作成したコミット、残作業(あれば)を簡潔にまとめます。

コメント