grok-build について
コーディングアシスタントが仕様の明確な作業を Grok Build に委任するワークフロースキルです。計画と最終責任はオーケストレーターが担い、タスク仕様の作成、ソースツリーの整理、各差分のレビューを求めます。
主な機能
- 01タスク仕様の作成とディスパッチ
- 02Grok Build のヘッドレス実行
- 03差分レビューと受け入れ確認
- 04修正回数の制限と失敗時の対応
- 05必要に応じた並列ディスパッチ
活用シーン
- 01ボイラープレートや CRUD 作業の委任
- 02明確な仕様に基づくテスト作成
- 03計画内の独立タスクの実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sanjay3290/ ai-skills --skill grok-buildインストール後、Claude Code で/grok-buildを入力して読み込まれたか確認します。
同梱ファイルreferences/cli.md
詳細
Grok Build のオーケストレーション
コーディングアシスタントがオーケストレーターです。計画を立て、自己完結したタスク仕様を作成し、Grok Build にヘッドレスでタスクを割り当て、すべての差分をレビューして、最終成果物に責任を持ちます。
Grok は高速で低コストな実行役です。CLI の詳細と検証済みの動作については、references/cli.md を参照してください。
オーケストレーターに委任するタスクと、手元に残すタスク
| Grok に委任する | オーケストレーターが担当する |
|---|---|
| 受け入れ基準が明確なタスクの計画 | 要件が曖昧なもの、アーキテクチャの決定 |
| ボイラープレート、スキャフォールディング、CRUD | 複数ファイルにまたがる深いデバッグ |
| 機械的なリファクタリング | セキュリティ上重要なコード |
| 明確な仕様に基づくテストの作成 | 本番インフラに関わる作業 |
| モックアップや仕様に基づく UI コンポーネント | 仕様を書くことが作業そのものに等しいタスク |
迷った場合は、オーケストレーターが担当します。
セッションの事前確認(初回の割り当て前に 1 回)
grok update --check --jsonを実行します。updateAvailableがtrueの場合は、grok updateを実行し、grok --versionで確認します。grok modelsを実行します。エラーが発生した場合、またはログアウト状態と報告された場合は、停止してユーザーにgrok loginの実行を依頼します。
タスクごとのループ(順次実行 — デフォルト)
-
仕様。 自己完結したタスクファイル(以下のテンプレート)を、対象リポジトリの外部にある一時ディレクトリに作成します。利用可能であればハーネスのスクラッチパッドを、そうでなければ OS の一時ディレクトリを使用します。対象リポジトリ内には絶対に作成しないでください。Grok には会話のコンテキストが一切ありません。1 行だけのプロンプトは絶対に使わないでください。
- POSIX:
mkdir -p "${TMPDIR:-/tmp}/grok-specs"を実行し、そこにtask.mdを書き込みます。 - Windows(PowerShell):
New-Item -ItemType Directory -Force "$env:TEMP\grok-specs"を実行し、そこにtask.mdを書き込みます。
- POSIX:
-
クリーンな状態。 未コミットのソース変更がない状態にします。先にコミットするか、スタッシュしてください。そうすれば、実行後の差分が Grok の作業だけになります。ビルド成果物(
__pycache__、dist/など)は無視してください。git statusに表示される場合は、通常、Git の除外設定がされていないだけなので、気にする必要はありません。ソースツリーが汚れた状態でタスクを割り当てないでください。 -
割り当て。
POSIX:
grok --prompt-file <task-file> \ --output-format json \ --always-approve \ --max-turns 30 \ --cwd <repo>Windows(PowerShell)— バッククォートによる行継続:
grok --prompt-file <task-file> ` --output-format json ` --always-approve ` --max-turns 30 ` --cwd <repo>JSON 出力を解析し、
sessionIdを保存します。(ヘッドレス実行には--always-approveが必須です。--permission-mode acceptEditsは、対話的に承認する人がいない場合、編集を通知なくキャンセルします。references/cli.mdを参照してください。)重大な影響を伴うタスクでは--checkを追加し、レビュー前に Grok 自身による検証を行います。それ以外では省略してください(レイテンシがほぼ 2 倍になります)。 -
レビューゲート — 必須です。
- 差分を自分で確認します(成果物によるノイズを避けるには
git diff -- <files from the spec>を使用します)。タスクを実行しているか、指定されたタスクだけを実行しているか、リポジトリの規約に沿っているかを確認します。 - 仕様に記載された受け入れコマンドを実行します。
- 成功 → リポジトリの規約に沿った明確なメッセージでコミットし、次のタスクに進みます。
- 失敗 → 修正依頼を行います:
grok --resume <sessionId> -p "<specific feedback>" --always-approve --output-format json。修正依頼は最大 2 回までです。 それでも失敗する場合は、Grok の変更を元に戻し(新規ファイルはgit clean -fdで削除します)、自分でタスクを実行して、Grok が完了できなかったことをユーザーに伝えます。
- 差分を自分で確認します(成果物によるノイズを避けるには
タスク仕様のテンプレート
# Task: <one-line title>
## Context
- Repo: <path> — <one line on what the project is>
- Conventions: <test runner, formatter, a good example file to imitate>
## Files
- Modify: <path>
- Create: <path>
## Task
<precise description of the change>
## Constraints
- Do not modify any files other than those listed above.
- <other constraints>
## Acceptance criteria
- `<exact command>` <expected result>
Markdown 実装計画の実行
- 計画内のタスクは、1 つずつ順番に割り当てます。
- 各タスクが完了し、レビューゲートを通過したら、計画のタスクチェックボックスを
- [ ]から- [x]に更新します。 - 計画でタスクが独立していると明示されている場合は、「並列割り当て」を参照してください。それ以外は順次実行します。
並列割り当て(任意の例外であり、デフォルトではありません)
計画でタスクが独立していると明示されている場合に限り、各タスクを --worktree=<task-slug> を使って割り当て、並行して実行します。その後、同じレビューゲートを通して、ワークツリーを 1 つずつレビューしてマージします。マージコンフリクトで節約した時間が失われることが多いため、順次実行を優先してください。
失敗への対処
| 失敗 | 対応 |
|---|---|
stopReason: "Cancelled"、テキストが空、差分がない | --always-approve が指定されていません。指定して再試行します |
| CLI エラー/タイムアウト | 1 回再試行します。それでも失敗した場合は、自分でタスクを実行し、フォールバックしたことを記録します |
| 認証の期限切れ | 停止し、ユーザーに grok login の実行を依頼します |
| 修正ラウンドを 2 回使い切った | Grok の差分を元に戻し、オーケストレーターがタスクを完了します |
| ディスパッチ時に作業ツリーに未コミットの変更がある | 拒否します。先にコミットするか、スタッシュしてください |
モデル
デフォルトは grok-4.5 です。単純な機械的タスクに限り、-m grok-composer-2.5-fast を追加します。