mcpField
G
grok-build

grok-build

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

grok-build について

コーディングアシスタントが仕様の明確な作業を Grok Build に委任するワークフロースキルです。計画と最終責任はオーケストレーターが担い、タスク仕様の作成、ソースツリーの整理、各差分のレビューを求めます。

主な機能

  1. 01タスク仕様の作成とディスパッチ
  2. 02Grok Build のヘッドレス実行
  3. 03差分レビューと受け入れ確認
  4. 04修正回数の制限と失敗時の対応
  5. 05必要に応じた並列ディスパッチ

活用シーン

  1. 01ボイラープレートや CRUD 作業の委任
  2. 02明確な仕様に基づくテスト作成
  3. 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 回)

  1. grok update --check --json を実行します。updateAvailable が true の場合は、grok update を実行し、grok --version で確認します。
  2. grok models を実行します。エラーが発生した場合、またはログアウト状態と報告された場合は、停止してユーザーに grok login の実行を依頼します。

タスクごとのループ(順次実行 — デフォルト)

  1. 仕様。 自己完結したタスクファイル(以下のテンプレート)を、対象リポジトリの外部にある一時ディレクトリに作成します。利用可能であればハーネスのスクラッチパッドを、そうでなければ 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 を書き込みます。
  2. クリーンな状態。 未コミットのソース変更がない状態にします。先にコミットするか、スタッシュしてください。そうすれば、実行後の差分が Grok の作業だけになります。ビルド成果物(__pycache__、dist/ など)は無視してください。git status に表示される場合は、通常、Git の除外設定がされていないだけなので、気にする必要はありません。ソースツリーが汚れた状態でタスクを割り当てないでください。

  3. 割り当て。

    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 倍になります)。

  4. レビューゲート — 必須です。

    • 差分を自分で確認します(成果物によるノイズを避けるには 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 を追加します。

コメント