بنقرة واحدة
agency-operations
作成手順「agency-operations」(self-evolving-agent から自動同期): 並列 agent を agency で安全に運用する手順(agency 運用知見)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
作成手順「agency-operations」(self-evolving-agent から自動同期): 並列 agent を agency で安全に運用する手順(agency 運用知見)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
全 Claude セッションをスキャンし、ユーザーが何をしているかを分析して、 スキル・MCP プラグイン・エージェント・CLAUDE.md のどれに最適化すべきかを分類し、 具体的な改善提案(優先度・実装難易度・推奨アクション付き)を生成する。 Use when the user wants to analyze their Claude usage patterns, or when asked to "scrape sessions", "what do I do with Claude", or "what should be a skill vs agent vs claude.md".
PRをレビューしてインラインコメントをGitHubに投稿する。PR descriptionで意図を把握してからdiffをレビューし、What+Why+How形式・重大度ラベル付きのコメントをgh APIで各行に直接投稿する。「PRをレビューする」「コードレビューしたい」「このPRの品質を確認したい」時に使う。
Claude Code のトークン使用量・コストの確認と分析を行う。日次・月次レポートの表示から 高コスト要因・キャッシュ効率の分析、削減提案まで(表示だけの軽量モードあり)。 Use when you need to check today's or this month's token usage and cost, or to analyze Claude Code costs and get reduction suggestions. Triggers on: "今日のコスト", "今月のコスト", "トークン使用量", "ccusage", "コスト分析", "コスト削減".
/compact の前に、圧縮の要約から抜け落ちやすい「判断構造」と「セッション状態」を tmp/compact-state/latest.md に固定フォーマットで保存する。 Use when you are about to run /compact, when the user says "compact する前に", "compact-prep", "コンテキストを圧縮したい", or when context usage is high and compaction is imminent. Do NOT use for cross-session handover documents (use handover) — compact-prep is for surviving in-session compaction, not for ending a session.
現在のセッションの作業内容を次のセッションへ引き継ぐための引き継ぎドキュメントを生成する。 Use when the user asks to summarize the session for handover, says "引き継ぎ", "次のセッションに渡して", "context をまとめて", or when a session is ending and you think it would help to create a handover document for continuity. Also use when you are about to run out of context and want to preserve progress.
作成手順「1on1-prep」(self-evolving-agent から自動同期): 1on1 準備手順( EM 版)
| name | agency-operations |
| description | 作成手順「agency-operations」(self-evolving-agent から自動同期): 並列 agent を agency で安全に運用する手順(agency 運用知見) |
用途: agency(claude-iterm2-agency)で複数の agent pane を並列に走らせて作業を回すとき。worktree 隔離・端末表示・pane ライフサイクル・focus 管理に起因する事故を避けるための playbook。
複数 agent を同時に走らせると、単体運用では起きない 4 種の事故が構造的に発生する。下記は claude-iterm2-agency の実運用で繰り返し効いた回避策を一般化したもので、以降の番号付き項目(#1〜)はこの 4 軸を具体運用に落としたもの。新しく並列運用を始めるチームには、まずこの 4 軸を押さえさせる。
| 落とし穴 | なぜ起きるか | 回避策(実行可能な具体策) |
|---|---|---|
| A. 同一ファイル/ブランチへの同時書き込み競合 | 2 つの agent が同じ作業ツリーを共有すると、互いの未コミット変更を上書き・破壊し、片方の差分が消える。同一ブランチへの並行 push も非 fast-forward で衝突する。 | agent ごとに git worktree を分離(各 worktree は main のクリーンチェックアウト=物理的に別ディレクトリ)。担当範囲をファイル/モジュール単位で重ならないよう分割して割り当てる(例: agent1=core-rx、agent2=features-x)。ブランチも 1 agent 1 ブランチにし、共有ブランチへの同時 push をしない。 |
| B. busy な agent への指示取りこぼし | agent が生成中(busy)のときにキー入力を流し込むと、入力途中のプロンプトに混入したり丸ごと欠落する。「送ったのに動いていない」が起きる。 | pane の状態を確認し idle のときだけ送る(送信前に `node agency.ts busy <id |
| C. ウィンドウ/ペインの増殖と状態管理の煩雑化 | タスクごとに pane を作りっぱなしにすると窓が増殖し、どの pane が何用か分からなくなる。状態ファイルと実 pane がずれて誤操作・幽霊 pane を生む。 | 役割で pane を固定し命名規約を敷く(左=dashboard / 中=human / 右=agent、session_id を一意命名)。用済み pane は閉じるだけで監視ループが自動 prune(tasks・状態ファイル・window.json から自動除去)。既存 pane を再利用し、毎回 spawn/close で churn させない。 |
| D. 成果のレビュー/統合のボトルネック | 複数 agent の成果が同時に上がってくると、レビュー/統合が 1 人に集中し、無秩序に取り込むと衝突・品質劣化を招く。 | 取り込みは 1 件ずつゲートを通す(eval/CI/レビューを通った成果だけ main へ)。統合担当(integrator)を生成担当から分離し、生成 agent は成果を出すだけ・取り込み判断はしない。マージ順を直列化して並行マージの衝突を避ける。 |
agency の各 agent worktree は main のクリーンチェックアウトであり、未追跡ファイル・.gitignore 対象ファイルは入らない。
/Users/andy/Documents/.../HANDOVER.md)。tasks.json / tasks.eval.json はリポ直下の未追跡ファイルで、worktree には入らない。丸数字・全角記号・East Asian Ambiguous 幅の文字は、端末/フォントの幅解釈に依存して桁ズレや文字重なりを起こす。
1.、区切りは - = |、状態表現は emoji(✅ ⚠️ ❌ 🔴 等)を使う。agent pane は閉じれば dashboard 監視ループが自動 prune する(tasks / 状態ファイル / window.json から自動除去)。
node agency.ts close <id|session> で閉じるだけでよい。毎回 agency を再起動しない。.state/window.json 経由のウィンドウ引き継ぎ(adopt) で行い、既存 pane を開閉(churn)させない。プロセスが死んでも窓が生きていれば同一 window へ churn なしで再接続できる(実証済み: window_id 同一・窓数は増えない)。prev_sess)にして SESSION_NOT_FOUND で失敗しうる。prune 時に生存中の最後の agent へ積み先を張り直す実装でこれを回避している。新しい agent pane を生成すると iTerm2 が focus をそちらへ奪う。
外部復旧に使う状態ファイル(.state/window.json など)は頻繁に更新し、クラッシュ時の取りこぼし窓を最小化する。
取り込み経緯: 本 procedure は agency の前身 claude-pane-orch の運用(2026-06-05 セッション)で得た転用可能な運用教訓を、Phase 1「教訓ブリッジ」として KNOWLEDGE チャネル相当で self-evolving-agent に取り込んだもの。出典は同(前身)の HANDOVER.md(失敗モード・focus 維持・自動 prune・prev_sess 張り直しの各節)。eval スイート(文書作成系)では測れない運用ノウハウのため、eval / evolve ループは起動せず、人間レビュー後の手動 merge を前提とする。
用途: agency の agent pane が実リポ(例 oven-android)で元 PR を分割し、cherry-pick → 専用 worktree → draft PR → レビュー/CI 対応 → 人間承認後 merge まで回すとき。下記は 2026-06-10 の PR-1(LifecycleDisposable を core-rx へ移動)セッションで得た教訓。失敗も含む。
CI 指摘(spotless 等)やレビュー対応でコミットを直したくなっても、git commit --amend + git push --force-with-lease は禁止。
push / PR 作成の直後に worktree を撤去しない。merge 完了後・セッションクローズ時に撤去する。
git worktree add で全ファイル(数千)を再チェックアウトする無駄が出る。tmp/ 等)は --force が要る。oven-android では gh pr edit(assignee / reviewer / body の編集)が Projects classic 廃止由来の projectCards GraphQL エラーで失敗する。
gh api -X POST /repos/<owner>/<repo>/issues/<n>/assignees -f "assignees[]=<user>"gh api -X POST /repos/<owner>/<repo>/pulls/<n>/requested_reviewers -f "team_reviewers[]=<team>"gh api -X PATCH /repos/<owner>/<repo>/pulls/<n> -F body=@<file>merge は別 mutation のため gh pr merge は通る。merge・共有チャンネルへの投稿・リモートブランチ削除など、外部に波及し巻き戻しにくい操作は、明示の指示があっても前提が変わっていないか一拍置いて確認する。
Slack #team-android のレビュー依頼で、似た投稿を真似て ms-android サブチームをメンションしたが、正しくは @android-engineers(<!subteam^S0LPR2G8H>)だった。
取り込み経緯(第2ブロック): 2026-06-10 の oven-android PR-1 分割セッション(agency agent 視点)で得た転用可能な運用教訓。force push 叱責・projectCards 迂回・Slack 宛先誤り等の実体験が出典。文書作成系 eval では測れないため eval/evolve ループは起動せず、ingest(eval ゲート)→ 人間 merge を前提とする。
用途: agency の agent pane が実リポでクラス/レイアウトを別モジュールへ移設する PR を出すとき。2026-06-10 の PR-3(CalendarPurposeSelectFragment を :features-calendar-purpose-select へ移設)で、ローカル検証は緑なのに CI が落ちた。第2ブロック(#7-#11)を補完する。
クラス名 grep で呼出し元を洗っても、レイアウト内の view id(例 next_button)を参照するコードは見つからない。レイアウトを別モジュールへ移すと、その id は non-transitive R により元モジュールの R から消え、R.id.xxx を使うテストが Unresolved reference で壊れる。
:app と :app-TimeTree)、片方だけ見て他方のテストを見落とさない。壊れた参照は別モジュールの test 配下にいることがある。Gradle のビルドキャッシュヒットで compileDebugKotlin が exit 0 を返し、実際のコンパイル破綻を隠していた。--rerun-tasks で実コンパイルすると FAILED。
--rerun-tasks 等)で裏取りする。特に直前に状態を変えた直後の最初の成功は疑う。:app-TimeTree は secrets.properties 必須でローカル config 不可)は最初から「CI に委ねる」と宣言し、緑を断定しない。指定の2コミットだけ pick したら、namespace と databinding パッケージが不一致の壊れた中間状態を再現した(上流はその後の3つ目のコミットで修正済みだった)。
git log <file> で確認し、最終的に整合する状態まで取り込む。component_ プレフィックス、不要な明示 namespace)をそのまま運ばず、移設先モジュールの規約に揃える(同種モジュールの実例で確認)。PR-1 の #11 を更新。「android team にレビュー依頼」と言われたら、既定は GitHub team を PR の reviewer に追加すること(REST POST /pulls/<n>/requested_reviewers -f "team_reviewers[]=android")。
取り込み経緯(第3ブロック): 2026-06-10 の oven-android PR-3 分割セッション(agency agent 視点)。ローカル緑なのに CI 赤(別モジュール :app-TimeTree のテストが移動した layout の id を参照)・キャッシュヒットによる偽の compile 成功・cherry-pick が壊れた中間状態を再現・レビュー依頼先の誤り(Slack→GitHub team)が出典。文書作成系 eval では測れないため ingest(eval ゲート)→ 人間 merge を前提とする。