Communityライティング&編集github.com

worktrees-hives スキル

マルチエージェント仮説実験室: エージェント/サブエージェントを隔離されたgitワークツリーで任意の数の仮説を実行。JSON + Markdownによる必須の成果物報告。Python/Rustハイブリッドによる安全策。自動マージは禁止。

worktrees-hives スキル とは?

このスキルは、worktrees-hives ハイブリッドオーケストレーターのためのインストール可能なエージェントスキルです。GitHubやLinearのイシューからの作業発見、コード変更のためのワーカーサブエージェントの起動、CIを通過するプルリクエストの監視、そしてオペレーターへの結果報告を支援します。厳格な安全ガードレールが組み込まれており、エージェントによるPRマージや破壊的なgit pushを禁止し、fix-capセマンティクス(1サイクルあたり最大3つのコード修正コミット)を強制します。PythonのオーケストレーターとRustコア(wh-core)の複数レイヤーでポリシーを実施し、隔離されたワークツリーとブランチの事前編集チェックリストにより編集の安全性を保証します。主にClaude CodeやCursor、Codexなどのエージェントプラットフォーム向けに設計されており、人間によるマージ承認を必須とするワークフローを実現します。

対応~Claude Code~Codex CLI~Cursor
npx skills add rmems/worktrees-hives

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

worktrees-hives スキル は何をしますか?

worktrees-hives ハイブリッドオーケストレーターのためのインストール可能なエージェントスキル。

使用タイミング

以下の場合にこのスキルを使用します:

  • GitHub または Linear のイシューから作業を発見する
  • コード変更のためにワーカーサブエージェントを起動する
  • CI を通じてプルリクエストを監視する
  • 結果をオペレーターに報告する

安全ガードレール

これらのルールは交渉不可能です。エージェント、オーケストレーター、プラットフォームのオーバーライドによって緩和することはできません。

拒否リスト(決して実行しない)

コマンド / 操作理由
gh pr mergeエージェントはPRをマージしません。人間がマージする必要があります。
gh pr merge --auto同じ禁止事項。自動マージはマージです。
git push --force(単体)破壊的。履歴を失います。--force-with-lease のみ使用可能。
git push -f(単体)同じ破壊的プッシュの短縮形。
GraphQL mergePullRequestAPI経由のマージもマージです。
REST PUT /repos/.../mergeREST経由のマージもマージです。
マージコミットの作成ワーキングツリーでPRブランチを結合するための git merge。

force-with-lease の許可リスト

git push --force-with-lease は以下の場合にのみ許可されます:

  1. エージェントが自身のフィーチャーブランチを更新されたベースにリベースしている場合。
  2. エージェントが古いリモート参照により失敗したフォースプッシュを修正している場合。
  3. オペレーターが明示的にフォースプッシュを指示した場合。

--force-with-lease を使用する前に、エージェントは以下を必須で確認します:

  • 現在のブランチが割り当てられたワークツリーブランチであること(main、master、または他のエージェントのブランチではない)。
  • リモート参照がエージェントの想定通りであること(他の人による予期しないプッシュがないこと)。

Fix-cap セマンティクス

ルール: 各PRは、1回のベビーシットサイクルあたり最大 3つのコード修正コミット を受け取ります。

  • カウントされるもの: ソースコード、テスト、設定、または動作に影響を与えるドキュメントを変更するコミット。
  • カウントされないもの: リベースによるマージコミット、CIトリガーによるコミット(例:ロックファイルの更新)、PRへの返信コメント。
  • 上限に達した場合: エージェントはコミットを停止し、残存問題をPRコメントとして報告する必要があります。エージェントはレビューコメントへの返信とCIの監視を続けますが、新しいコード変更はプッシュしません。
  • 残存報告: 上限に達した場合、エージェントは以下の内容を含むコメントを投稿します: 残存するCI失敗、未解決のレビュースレッド、人間または次のサイクルへの推奨される次のステップ。
  • リセット: 上限は、オペレーターが新しいベビーシットサイクルを開始したときにリセットされます(明示的な再起動、自動ではありません)。

ブランチ/ワークツリー編集前チェックリスト

コード変更を行う前に、エージェントは以下を必須で確認します:

  1. ワークツリーの分離: pwd が割り当てられたワークツリーパス({worktree_root}/{owner}/{repo}/{job_id})内にあること。
  2. ブランチの正確性: git branch --show-current が割り当てられたフィーチャーブランチと一致すること。
  3. クリーンステート: git status に他の作業からの未コミット変更がないこと。
  4. リモートとの整合性: git fetch && git status でブランチが想定通りのリモートを追跡していることを確認。
  5. 境界外編集の禁止: ワークツリー外のファイルを変更しない(../ パスやワークツリールート外の絶対パスは不可)。

いずれかのチェックに失敗した場合、エージェントは処理を中断し、不一致を報告する必要があります。

最終ステータスガイダンス

ベビーシットサイクルが終了したとき(成功時または上限到達時)、エージェントは以下を報告します:

  • PRステータス: オープン / レビュー準備完了 / ブロック中
  • 修正カウント: このサイクルでプッシュされたコード修正コミット数(例:「2/3」)
  • 残存問題: 未解決のCI失敗、レビューコメント、またはブロッカーのリスト
  • エージェント帰属: すべてのPRコメントとコミットメッセージにはエージェントの識別情報を含める

エージェントはPRをマージしたと主張してはいけません。PRがマージされたように見える場合、エージェントは「PRは人間によってマージされました」と報告し、停止します。

プラットフォーム非依存のワーカープロンプトテンプレート

ワーカーサブエージェントを起動する際は、プロンプトに以下の安全指示を含めます:

安全ルール(交渉不可):
- PRをマージしたり、マージAPI/CLIを呼び出したりしてはならない
- 単体の `git push --force` または `git push -f` を使用してはならない
- `git push --force-with-lease` は自身のブランチのリベースにのみ許可される
- 割り当てられたワークツリー外のファイルを編集してはならない
- 1回のベビーシットサイクルで3つを超えるコード修正コミットを行ってはならない
- 編集前に以下を確認すること: ワークツリーパス、ブランチ名、クリーンステート
- プッシュ後はSHAとエージェント帰属を返信すること
- 上限に達した場合は残存問題を報告し、これ以上コードをプッシュしてはならない

実施レイヤー

これらのガードレールは複数のレイヤーで実施されます:

  1. エージェントスキル(このファイル): ポータブルなドキュメントとプロンプトテンプレート。セキュリティ境界ではありません — プラットフォームによって制約されていない場合、エージェントがバイパスする可能性があります。
  2. Python オーケストレーター: サブプロセスブリッジを介したポリシー実施。修正コミットをカウントし、パスを検証し、拒否リストに登録されたコマンドをRustに到達する前にブロックします。
  3. Rust コア(wh-core): ハード実施。プロセス境界で安全でないgit/GitHub操作を拒否します。これが権威ある安全レイヤーです。

多層防御:3つのレイヤーすべてが同じルールを実施します。1つのレイヤーでの障害は別のレイヤーで捕捉されます。

関連スキル