coding-agent について
コーディングエージェントを使ったバックグラウンド作業、PRレビュー、並行修正の手順をまとめたガイドです。Codex、Claude Code、OpenCode、Piについて、tmuxでの対話セッションと作業ディレクトリやブランチの分離を使い分けます。
主な機能
- 01非対話のコーディング作業をバックグラウンド実行
- 02Codex、Claude Code、OpenCode、Piの選択
- 03tmuxによる対話セッション管理
- 04git worktreesで修正を並列化
- 05PRレビュー時のディレクトリとブランチの安全規則
活用シーン
- 01指定したプロジェクトディレクトリでエージェントを実行
- 02複数のPRを並行してレビュー
- 03分離したworktreeで複数の問題を修正
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kirkluokun/ awesome-a-stock-openclawskills --skill coding-agentインストール後、Claude Code で/coding-agentを入力して読み込まれたか確認します。
同梱ファイル_meta.json
詳細
コーディングエージェント(バックグラウンド優先)
非インタラクティブなコーディング作業では、bash のバックグラウンドモードを使用してください。インタラクティブなコーディングセッションでは、(ごく簡単な単発プロンプトを除き、必ず)tmuxスキルを使用してください。
パターン:作業ディレクトリ + バックグラウンド
# Create temp space for chats/scratch work
SCRATCH=$(mktemp -d)
# Start agent in target directory ("little box" - only sees relevant files)
bash workdir:$SCRATCH background:true command:"<agent command>"
# Or for project work:
bash workdir:~/project/folder background:true command:"<agent command>"
# Returns sessionId for tracking
# Monitor progress
process action:log sessionId:XXX
# Check if done
process action:poll sessionId:XXX
# Send input (if agent asks a question)
process action:write sessionId:XXX data:"y"
# Kill if needed
process action:kill sessionId:XXX
作業ディレクトリが重要な理由: エージェントは作業に集中できるディレクトリで起動し、関係のないファイル(あなたの soul.md など😅)を読みあさることがありません。
Codex CLI
モデル: gpt-5.2-codex がデフォルトです(~/.codex/config.toml で設定されています)
ビルド/作成(--full-auto または --yolo を使用)
# --full-auto: sandboxed but auto-approves in workspace
bash workdir:~/project background:true command:"codex exec --full-auto \"Build a snake game with dark theme\""
# --yolo: NO sandbox, NO approvals (fastest, most dangerous)
bash workdir:~/project background:true command:"codex --yolo \"Build a snake game with dark theme\""
# Note: --yolo is a shortcut for --dangerously-bypass-approvals-and-sandbox
PR のレビュー(通常モード、フラグなし)
⚠️ 重大:Clawdbot 自身のプロジェクトフォルダーで PR をレビューしないでください!
- PR が提出されたプロジェクトを使用します(それが ~/Projects/clawdbot ではない場合)。
- または、まず一時フォルダーにクローンします。
# Option 1: Review in the actual project (if NOT clawdbot)
bash workdir:~/Projects/some-other-repo background:true command:"codex review --base main"
# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)
REVIEW_DIR=$(mktemp -d)
git clone https://github.com/clawdbot/clawdbot.git $REVIEW_DIR
cd $REVIEW_DIR && gh pr checkout 130
bash workdir:$REVIEW_DIR background:true command:"codex review --base origin/main"
# Clean up after: rm -rf $REVIEW_DIR
# Option 3: Use git worktree (keeps main intact)
git worktree add /tmp/pr-130-review pr-130-branch
bash workdir:/tmp/pr-130-review background:true command:"codex review --base main"
理由: 稼働中の Clawdbot リポジトリでブランチをチェックアウトすると、実行中のインスタンスが壊れる可能性があります!
PR の一括レビュー(並列で実行!)
# Fetch all PR refs first
git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'
# Deploy the army - one Codex per PR!
bash workdir:~/project background:true command:"codex exec \"Review PR #86. git diff origin/main...origin/pr/86\""
bash workdir:~/project background:true command:"codex exec \"Review PR #87. git diff origin/main...origin/pr/87\""
bash workdir:~/project background:true command:"codex exec \"Review PR #95. git diff origin/main...origin/pr/95\""
# ... repeat for all PRs
# Monitor all
process action:list
# Get results and post to GitHub
process action:log sessionId:XXX
gh pr comment <PR#> --body "<review content>"
PR レビューのヒント
- まず refs を取得する:
git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*' - git diff を使用する: Codex に
git diff origin/main...origin/pr/XXを使用するよう指示します。 - チェックアウトしない: 複数のレビューを並列実行する場合、ブランチを切り替えさせないでください。
- 結果を投稿する:
gh pr commentを使用してレビューを GitHub に投稿します。
Claude Code
bash workdir:~/project background:true command:"claude \"Your task\""
OpenCode
bash workdir:~/project background:true command:"opencode run \"Your task\""
Pi Coding Agent
# Install: npm install -g @mariozechner/pi-coding-agent
bash workdir:~/project background:true command:"pi \"Your task\""
Pi の一般的なフラグ
--print/-p:非インタラクティブモード。プロンプトを実行して終了します。--provider <name>:プロバイダーを選択します(デフォルト:google)。--model <id>:モデルを選択します(デフォルト:gemini-2.5-flash)。--api-key <key>:API キーを上書きします(デフォルトでは環境変数を使用します)。
例:
# Set provider + model, non-interactive
bash workdir:~/project background:true command:"pi --provider openai --model gpt-4o-mini -p \"Summarize src/\""
tmux(インタラクティブセッション)
インタラクティブなコーディングセッションでは、tmux スキルを使用してください(ごく簡単な単発プロンプトを除き、必ず)。非インタラクティブな実行では、bash のバックグラウンドモードを優先してください。
git worktree + tmux による Issue の並列修正
複数の Issue を並列で修正するには、git worktree(分離されたブランチ)と tmux セッションを使用します。
# 1. Clone repo to temp location
cd /tmp && git clone [email protected]:user/repo.git repo-worktrees
cd repo-worktrees
# 2. Create worktrees for each issue (isolated branches!)
git worktree add -b fix/issue-78 /tmp/issue-78 main
git worktree add -b fix/issue-99 /tmp/issue-99 main
# 3. Set up tmux sessions
SOCKET="${TMPDIR:-/tmp}/codex-fixes.sock"
tmux -S "$SOCKET" new-session -d -s fix-78
tmux -S "$SOCKET" new-session -d -s fix-99
# 4. Launch Codex in each (after pnpm install!)
tmux -S "$SOCKET" send-keys -t fix-78 "cd /tmp/issue-78 && pnpm install && codex --yolo 'Fix issue #78: <description>. Commit and push.'" Enter
tmux -S "$SOCKET" send-keys -t fix-99 "cd /tmp/issue-99 && pnpm install && codex --yolo 'Fix issue #99: <description>. Commit and push.'" Enter
# 5. Monitor progress
tmux -S "$SOCKET" capture-pane -p -t fix-78 -S -30
tmux -S "$SOCKET" capture-pane -p -t fix-99 -S -30
# 6. Check if done (prompt returned)
tmux -S "$SOCKET" capture-pane -p -t fix-78 -S -3 | grep -q "❯" && echo "Done!"
# 7. Create PRs after fixes
cd /tmp/issue-78 && git push -u origin fix/issue-78
gh pr create --repo user/repo --head fix/issue-78 --title "fix: ..." --body "..."
# 8. Cleanup
tmux -S "$SOCKET" kill-server
git worktree remove /tmp/issue-78
git worktree remove /tmp/issue-99
worktree を使う理由: 各 Codex は分離されたブランチで作業するため、競合が起きません。5 件以上の修正を並列で実行できます!
bash のバックグラウンドモードではなく tmux を使う理由: Codex はインタラクティブで、適切な出力には TTY が必要です。tmux なら、完全な履歴を記録しながらセッションを保持できます。
⚠️ ルール
- ツールの選択を尊重する — ユーザーが Codex を求めたら、Codex を使用してください。自分で構築すると申し出てはいけません!
- 辛抱強く待つ — 「遅い」という理由でセッションを終了しないでください。
- process:log で監視する — 進行状況は、作業に干渉せずに確認します。
- ビルドには --full-auto を使う — 変更を自動承認します。
- レビューには通常モードを使う — 特別なフラグは不要です。
- 並列実行は問題ありません — 一括作業では、複数の Codex プロセスを同時に実行できます。
- ~/clawd/ で Codex を起動しないでください — soul ドキュメントを読み、組織図について妙な考えを持つようになります!対象プロジェクトのディレクトリ、または新規状態でチャットする場合は /tmp を使用してください。
- ~/Projects/clawdbot/ でブランチをチェックアウトしないでください — そこは稼働中の Clawdbot インスタンスです!PR のレビューには /tmp にクローンするか、git worktree を使用してください。
PR テンプレート(The Razor Standard)
外部リポジトリに PR を提出する際は、品質とメンテナーへの配慮のため、次の形式を使用してください。
## Original Prompt
[Exact request/problem statement]
## What this does
[High-level description]
**Features:**
- [Key feature 1]
- [Key feature 2]
**Example usage:**
```bash
# Example
command example
```
## Feature intent (maintainer-friendly)
[Why useful, how it fits, workflows it enables]
## Prompt history (timestamped)
- YYYY-MM-DD HH:MM UTC: [Step 1]
- YYYY-MM-DD HH:MM UTC: [Step 2]
## How I tested
**Manual verification:**
1. [Test step] - Output: `[result]`
2. [Test step] - Result: [result]
**Files tested:**
- [Detail]
- [Edge cases]
## Session logs (implementation)
- [What was researched]
- [What was discovered]
- [Time spent]
## Implementation details
**New files:**
- `path/file.ts` - [description]
**Modified files:**
- `path/file.ts` - [change]
**Technical notes:**
- [Detail 1]
- [Detail 2]
---
*Submitted by Razor 🥷 - Mariano's AI agent*
主な原則:
- 人間が書いた説明(AI っぽい文章は避ける)
- メンテナーに向けた機能の意図
- タイムスタンプ付きのプロンプト履歴
- Codex/エージェントを使用した場合はセッションログ