プロのワークフローとパワームーブ
- 並列サブエージェントをオーケストレーションし、スクリプト駆動の動的ワークフローへ移行すべきタイミングを見極める
- フックを決定論的な接着剤にする — 保存時のリント、停止のゲート、禁止された書き込みのブロック
- 繰り返すプロンプトをカスタムスラッシュコマンド、スキル、出力スタイルに変える
- MCP スタックと、CI で無人実行できるヘッドレスパイプライン(claude -p)を構築する
- explore → plan → execute → review のループを規律をもって回し、コンテキストを軽く保つ
- CLAUDE.md をコードのように扱う — 短く、刈り込まれ、シグナルの高い状態に保つ
このページは、各プリミティブが個別の機能であることをやめ、ワークフロー になり始める場所です。サブエージェントやフックが何かをすでに知っているなら、レバレッジはそれらをどう 積み重ねる かにあります。プランモードのパスを起動するスラッシュコマンド、作業を扇状に展開するサブエージェント、テストが通るまでターンを終わらせないフック、そしてその全体を CI で実行するヘッドレス呼び出し。これらを配線していきましょう。
メンタルモデル:誰がプランを保持するのか?
以下のすべてのパワームーブは、ひとつの問いに対する異なる答えです — プランと中間結果を保持しているのは誰か? Anthropic が新しい動的ワークフロー機能について示したフレーミングは、これを明快に整理しています。
| ツール | 次に何を実行するかを決めるのは | 結果が存在する場所 | スケール |
|---|---|---|---|
| サブエージェント | Claude、ターンごとに | Claude のコンテキストウィンドウ | ターンあたり数個 |
| スキル | Claude、プロンプトに従って | Claude のコンテキストウィンドウ | サブエージェントと同じ |
| エージェントチーム | リードエージェント、ターンごとに | 共有タスクリスト | 長期間動く少数のピア |
| 動的ワークフロー | スクリプト | スクリプト変数 | 数十〜数百 |
この進行こそがゲームのすべてです。1 つの Claude から始め、コンテキストを守るためにサブエージェントへ委譲し、1 つの会話では調整しきれないほど多くのエージェントが必要になったときに初めて、プランを コードの中へ 移します。
ムーブ 1 — 並列サブエージェント、そしてワークフローへ移行
サブエージェントは、独自のコンテキストウィンドウとスコープ化されたツールセットを持つ別の Claude です。トランスクリプトではなく結果を返します。パワーユーザーの習慣は、独立した作業を扇状に展開する ことです。
モジュールをまたいでレビューを扇状展開する
Review the changes in auth/, billing/, and api/ — use the code-reviewer subagent on each, in parallel. Report only correctness bugs and missing tests.
3 つのレビュアーが同時に実行され、それぞれが差分に対して自身のコンテキストを消費し、メインセッションには 3 つの生の差分の代わりに 3 つの整然としたレポートが届きます。注意点:並列化は 独立した サブタスクにしか効きません。ステップ B がステップ A の出力を必要とするなら順番に実行します。同じファイルに書き込むなら、git ワークツリーで分離します。
タスクが 1 つの会話に収まりきらなくなったとき — 500 ファイルのマイグレーション、コードベース全体のバグ掃討、多数のソースをまたいでクロスチェックするリサーチ — 動的ワークフロー へ移行します。Claude が JavaScript のオーケストレーションスクリプト(fan out → reduce → synthesize)を書き、ランタイムが最大 16 の並行エージェントでバックグラウンド実行し、最終的な答えだけがあなたのコンテキストに届きます。ultracode キーワードで起動するか、単に平易な言葉で頼みます。
動的ワークフローを起動する
ultracode: audit every API endpoint under src/routes/ for missing auth checks, then cross-check each finding with a second agent before reporting
キラー機能は 単にエージェントが増える ことではありません。スクリプトが、再現可能な 品質パターン を適用できることです。たとえば、独立したエージェントが互いの発見を敵対的にレビューしてから報告する、といったパターンです。バンドルされた /deep-research <question> を試して、このパターンを実際に確認してみてください。各主張に投票し、クロスチェックを生き残れなかったものを除外します。
- 良かったワークフロー実行をコマンドとして保存する:/workflows を開き、その実行を選び、s を押す。以降のすべてのセッションで /your-name になる。
- まずスライスでコストを測る — リポジトリ全体ではなく 1 つのディレクトリで。1 回の実行は、単一の会話よりはるかに多くのエージェント(そしてトークン)を生み出すことがある。
ムーブ 2 — フック:決定論的な接着剤
CLAUDE.md の指示は 助言的 です — Claude はたいてい従います。フックは 決定論的 です — ループの固定された地点でスクリプトを、毎回確実に実行します。何かが 絶対に 例外なく起こらなければならないときにフックに手を伸ばします。
最もレバレッジの高い 3 つのフックパターン:
- Claude がファイルを編集した後、フォーマッターやリンターを自動実行し、コードベースが決してドリフトしないようにする。フィードバックは Claude にも戻るので、自己修正もする。
- Stop フックはテスト/ビルドスクリプトを実行し、通るまでターンの終了をブロックする。これにより、無人実行が単に『完了したように見える』時点で止まるのではなく、正しく完了する。
- 保護されたパス(マイグレーション、生成ファイル、シークレット)への書き込みを、Claude の意図にかかわらず、起こる前に拒否する。
JSON を手書きする必要はありません。フックの作成を Claude に頼みましょう。
Claude にフックを書かせる
Write a hook that runs eslint --fix after every file edit, and a second hook that blocks any Write or Edit to the db/migrations/ folder. Add them to .claude/settings.json and show me the config.
- ブロックし続ける Stop フックは、連続して数回ブロックした後にオーバーライドされ、セッションがデッドロックしないようになっている — あなたのゲートは安全レールであって、無限ループではない。
- フックはあなたのシェルの権限で実行される。コミットする前に、CI 設定とまったく同じようにフックスクリプトをレビューすること。
ムーブ 3 — カスタムスラッシュコマンド、スキル、出力スタイル
2 回プロンプトしたものは、すべてプリミティブにすべきです。判断はシンプルです:スキルは知識、フックは保証、MCP はアクション、スラッシュコマンドはエントリーポイント。
スラッシュコマンド(または disable-model-invocation: true を持つスキル)は、手動でトリガーする再現可能なワークフローをパッケージ化します。$ARGUMENTS でパラメータ化できます。
.claude/skills/fix-issue/SKILL.md
--- name: fix-issue description: Triage and fix a GitHub issue end-to-end disable-model-invocation: true --- Fix GitHub issue $ARGUMENTS: 1. gh issue view to read the issue 2. Search the codebase for the relevant files 3. Write a failing test that reproduces the bug 4. Implement the fix, then run tests and lint until green 5. Commit with a descriptive message and open a PR
/fix-issue 1234 で実行します。Claude が独自に手を伸ばすのではなく、意図的にトリガーしたい副作用を伴うものには disable-model-invocation: true を使います。
出力スタイルは、セッション全体を通じて Claude が どのように コミュニケーションするかを変えます — エキスパート向けには簡潔に、教育には説明付きで冗長に、あるいはツールが解析できる構造化フォーマットに。カスタムスラッシュコマンド(何を)と出力スタイル(どのように)を組み合わせれば、インタラクションの両端を形作れます。
公式ドキュメントから最も使われていないパワームーブ:大きな機能の前に、Claude にあなたをインタビューさせる、そして書き上げた仕様から、新しいセッションを開始して構築する。
インタビューで仕様化し、クリーンなコンテキストで構築する
I want to build [brief description]. Interview me in detail using the AskUserQuestion tool — technical implementation, UI/UX, edge cases, tradeoffs. Dig into the hard parts I might not have considered. When we've covered everything, write a complete, self-contained spec to SPEC.md.
ムーブ 4 — MCP スタックを構築する
MCP サーバーは、Claude が JSON-RPC 経由で呼び出して実際に 何かをする 実行可能なプロセスです — データベースへのクエリ、Sentry の読み取り、Figma デザインの取得、Linear issue の起票。パワーユーザーの「スタック」は、見つけられるすべてではなく、小さく意図的なセットです。
スタックにサーバーを追加する
claude mcp add --transport stdio sentry -- npx -y @sentry/mcp-server claude mcp add --transport http linear https://mcp.linear.app/sse
MCP スタックを高速に保つ 2 つの原則:
- CLI が存在するならそちらを優先する。
gh、aws、gcloud、sentry-cliは、サービスと対話する 最も コンテキスト効率の良い方法です — Claude はすでにそれらを知っており、毎ターンにツールスキーマを読み込みません。MCP は、良い CLI がないサービスや、構造化された型付きアクセスが欲しい場合のために取っておきます。 - サーバーリストを軽く保つ。 接続された各サーバーのツール定義は、最初からコンテキストを消費します。積極的に使っていないサーバーは削ぎます。肥大化したツールリストは、あなたの実際の指示を押しのけます。
より深い理由については、コンテキストエンジニアリングを参照してください — CLAUDE.md を支配するのと同じアテンション予算のロジックが、あなたのツールリストも支配します。
ムーブ 5 — ヘッドレス & Agent SDK パイプライン
claude -p "prompt" は Claude を 非対話的に 実行します — セッションなし、解析可能な出力 — これが CI、プリコミットフック、バッチジョブへの扉です。これは ヘッドレス/Agent SDK の表層です。
公式ベストプラクティスガイドにある、ファイルをまたいで扇状展開する古典的パターン:
ヘッドレスのバッチマイグレーション
# 1. Have Claude generate the work list first, then loop: for file in $(cat files.txt); do claude -p "Migrate $file from React to Vue. Return OK or FAIL." \ --allowedTools "Edit,Bash(git commit *)" done
重い仕事をするのは 2 つのフラグです:--output-format json(または stream-json --verbose)は結果を機械可読にし、--allowedTools は、人間が見ていないときに Claude が触れてよいものを正確にスコープします。どこへでもパイプできます。
パイプラインのステージとしての Claude
cat error.log | claude -p "Cluster these errors by root cause, output JSON" \ --output-format json | jq '.[] | select(.severity=="high")'
- 2,000 件にループを解き放つ前に、必ず 2〜3 件でプロンプトをテストする。改良してから、スケールする。
- 無人実行には検証を組み込む必要がある — Stop フックか、プロンプト内のテストステップ — さもなければ、もっともらしいが間違った出力を大規模に生み出すことを自動化しただけになる。
ムーブ 6 — プランモードの規律とコンテキストエンジニアリング
最も信頼できる品質レバーは、リサーチと実行を分離する ことです。Anthropic のベストプラクティスガイドにある 4 フェーズのループ:
- プランモードに入る。Claude はファイルを読み、質問に答えるが、変更は加えない。正確なディレクトリを指し示す:『read /src/auth and explain how sessions work.』
- 詳細な実装プランを求める。承認する前に直接編集する — あなたが修正したプランは、ざっと目を通しただけのプランに勝る。
- プランモードを抜ける。Claude はプランに対してコードを書き、あなたが指定した検証を実行する。
- フレッシュコンテキストのサブエージェントに、プランに対して差分をレビューさせ、ギャップを修正させてから、コミットして PR を開く。
規律については プランモード を参照してください。差分が 1 文に収まるときはスキップします — 計画にはオーバーヘッドがあります。これが効く理由は コンテキストの経済性 です。ウィンドウが埋まるにつれてパフォーマンスは低下するので、2,000 トークンのコンテキストにある 50 トークンの指示は、同じ指示が 50,000 トークンに埋もれている場合よりはるかに強く届きます。実践的な習慣:
- 無関係なタスクの間で
/clearする。より良いプロンプトを持つクリーンなセッションは、長く汚染されたものに勝る。 - 2 回修正に失敗したら、修正をやめる —
/clearして、学んだことを使ってプロンプトを書き直す。 - リサーチをサブエージェントに委譲し、ファイル読み取りがあなたのではなく 彼らの コンテキストで起こるようにする。
「セットアップをレベルアップする」道筋
他に何もしないとしても、これらを順番に行ってください。
- /init でスターターを作り、次のテストに落ちるすべての行を切る:『これを削除したら Claude が間違いを犯すか?』肥大化したファイルは、Claude に重要なルールを無視させる。
- PostToolUse のリント/フォーマットフックと、テストでゲートする Stop フックを追加する。これでループは、あなたを待つのではなく自分自身を閉じる。
- 2 回タイプしたワークフローを選ぶ — fix-issue、write-tests、ship-pr — そして .claude/skills/ または .claude/commands/ に入れる。
- 毎週使うサーバーだけを追加する。存在するなら gh/aws CLI を MCP より優先する。残りは削ぐ。
- 複数ファイルにわたる変更や不慣れな変更にはプランモードを使い、フレッシュコンテキストのレビューサブエージェントで締めくくる。
- プリコミットフックや小さなバッチジョブで claude -p を --allowedTools 付きで実行し、Claude を単なるチャットではなくパイプラインのステージとして体験する。
CLAUDE.md の習熟
CLAUDE.md はすべての会話の冒頭で読み込まれます。だからこそ、あなたが制御できる最も高頻度のコンテキストであり — それゆえ、詰め込みすぎて台無しにするのが最も容易なものでもあります。
| CLAUDE.md に入れる | 入れない |
|---|---|
| Claude が推測できない Bash コマンド | Claude がコードを読めば分かるもの |
| デフォルトと異なるコードスタイルのルール | Claude がすでに知っている標準的な慣習 |
| テストランナー + 単一テストの実行方法 | 完全な API ドキュメント(代わりにリンク) |
| リポジトリのエチケット(ブランチ/PR の命名) | 頻繁に変わる情報 |
| 自明でない落とし穴と環境の癖 | 「クリーンなコードを書け」的な決まり文句 |
コードのように扱いましょう:振る舞いがおかしくなったらレビューし、定期的に刈り込み、@path/to/file インポートとディレクトリごとの CLAUDE.md ファイルを使って、モノレポの各部分が関連するものだけを得るようにします。時々関連する 知識は スキル に移し、毎ターンに課税するのではなく、オンデマンドで読み込まれるようにします。
自己チェック
0/4- 進行こそがスキル:1 つの Claude → 並列サブエージェント → スクリプト駆動の動的ワークフロー、誰がプランを保持する必要があるかで選ぶ。
- フックは決定論的な接着剤 — 保存時のリント、停止のゲート、禁止された書き込みのブロック — 毎回必ず起こらなければならないことのために。
- 繰り返すプロンプトをスラッシュコマンド/スキルにパッケージ化し、出力スタイルで配信を形作り、MCP スタックを軽く保つ(CLI を優先)。
- --allowedTools 付きのヘッドレス claude -p は Claude を CI/パイプラインのステージに変える。無人実行には必ず検証を組み込む。
- プランモードの規律と積極的なコンテキストの経済性(/clear、サブエージェントのリサーチ、刈り込まれた CLAUDE.md)は、あなたが持つ最も信頼性の高いレバー。
出典とさらに読む
- Best practices for Claude Code — Anthropic の公式ガイド:explore→plan→execute ループ、CLAUDE.md のルール、フック、サブエージェント、ヘッドレス扇状展開、検証。
- Orchestrate subagents at scale with dynamic workflows — 動的ワークフロー、
ultracodeキーワード、/deep-research、誰がプランを保持するかの比較表に関する公式ドキュメント。 - Effective context engineering for AI agents — コンテキストを有限な予算とジャストインタイム検索として扱う Anthropic Engineering の記事。
- hesreallyhim/awesome-claude-code — スキル、フック、スラッシュコマンド、エージェントオーケストレーター、プラグインの大規模なコミュニティキュレーションリスト。
- qdhenry/Claude-Command-Suite — プロフェッショナルなスラッシュコマンドとエージェント(例:
/dev:code-review)のよく知られたライブラリ。 - GWUDCAP/cc-sessions — ワークフロー強制のためのフックと、タスク/git 管理を実演する、意見の強い拡張セット。
- VoltAgent/awesome-claude-code-subagents — 専門化されたサブエージェント定義の大規模なコミュニティコレクション。