外部AIエージェントCLI(codex exec, cursor-agent -p)をBash経由でサブエージェントとして 非対話モードで実行するスキル。複雑なコーディングタスク・コードレビュー・ マルチファイル変更を委譲する際の実行手順・オプション・出力処理を提供する。 Mode S/A/BでBash権限がある場合に適用。Mode C(codex/*)の場合はフレームワークが Codexを直接実行するためcodex execの呼び出しは不要。 「サブエージェント」「codex」「cursor-agent」「コード書いて」「実装して」 「コードレビュー」「リファクタリング」
外部AIエージェントCLIをBash経由でサブプロセスとして実行し、複雑なコーディングタスクを委譲する。 自分のアイデンティティ・判断・記憶は維持したまま、実行能力を拡張するための「パワーツール」として使う。
このスキルは Bash ツールが利用可能な場合 にのみ適用される。
| モード | 実装 | Bash | このスキルの適用 |
|---|---|---|---|
| Mode S | agent_sdk.py (Claude Agent SDK) | デフォルトで利用可能 | 適用される。Read/Write/Edit/Bash/Grep/Glob/WebFetch/WebSearch が利用可能 |
| Mode A/B | LiteLLM + tool_use / 1ショット | permissions.md で許可時のみ | Bash 許可があれば適用 |
| Mode C | codex_sdk.py (Codex SDK) | Codex CLI のツールセットに依存 | codex exec は不要 — フレームワークが Codex を直接実行。cursor-agent / claude -p は Bash 経由で呼べる(Bash が利用可能な場合) |
重要: Mode C (codex/* モデル) の Anima は、フレームワークが Codex SDK 経由で Codex CLI を直接実行する。この場合、自分で codex exec を Bash から呼ぶ必要はない。cursor-agent や claude -p を使いたい場合のみ、このスキルの該当セクションを参照する。
コスト効率順に選択すること。
| 優先度 | ツール | コスト | 得意領域 |
|---|---|---|---|
| 1 | codex exec | 最安(Codex) | コード生成・編集・レビュー |
| 2 | cursor-agent -p | 安い(Cursor) | コード生成・編集・マルチファイル |
| 3 | claude -p | 高い(Claude API) | 最終手段。上2つで解決しない場合のみ |
原則: codex exec を最初に試す。失敗時や不得意なタスクのみ cursor-agent → claude の順にフォールバック。
適用条件: Mode S または Mode A/B(Bash 許可)のとき。Mode C の場合はフレームワークが Codex を実行するため、このセクションは不要。
codex exec --full-auto -C /path/to/workspace "プロンプト"
作業ディレクトリ -C には対象プロジェクトのパスを指定する。メインプロジェクトが対象の場合は $ANIMAWORKS_PROJECT_DIR が利用可能な場合がある(Mode S の Bash 実行環境で設定される)。
| オプション | 説明 |
|---|---|
--full-auto | 自動承認+サンドボックス(workspace-write) |
-C /path | 作業ディレクトリ指定(必須) |
-m model | モデル指定(例: o4-mini, o3) |
--sandbox workspace-write | ワークスペース書き込み許可(full-autoに含まれる) |
--json | JSONL形式で出力 |
-o file | 最終メッセージをファイルに書き出し |
--ephemeral | セッションファイルを保存しない |
codex exec --full-auto --ephemeral -C /home/main/dev/myproject \
"src/utils/parser.py にMarkdownパーサーを実装して。既存のテストを壊さないこと。"
codex exec --full-auto --ephemeral -C /home/main/dev/myproject \
review
codex exec --full-auto --ephemeral -C /home/main/dev/myproject \
"src/utils/parser.py のユニットテストを tests/test_parser.py に作成して。"
codex exec --full-auto --ephemeral -C /home/main/dev/myproject \
-o /tmp/codex_result.txt \
"このプロジェクトのアーキテクチャを分析して改善案を出して。"
適用条件: Mode S または Mode A/B(Bash 許可)。Mode C でも Bash が利用可能な場合は適用可能。
cursor-agent -p --trust --force --workspace /path/to/workspace "プロンプト"
| オプション | 説明 |
|---|---|
-p / --print | 非対話モード(必須) |
--trust | ワークスペースを自動信頼 |
--force | コマンド自動承認 |
--workspace /path | 作業ディレクトリ指定(必須) |
--model model | モデル指定(例: sonnet-4, gpt-5) |
--output-format text|json | 出力形式 |
--mode plan|ask | 読み取り専用モード(調査向け) |
cursor-agent -p --trust --force \
--workspace /home/main/dev/myproject \
"src/api/routes.py にPOST /users エンドポイントを追加して。バリデーション付き。"
cursor-agent -p --trust --mode ask \
--workspace /home/main/dev/myproject \
"この認証フローにセキュリティ上の問題はある?"
cursor-agent -p --trust --force \
--workspace /home/main/dev/myproject \
--output-format text \
"テストカバレッジが低いモジュールを特定して改善して" > /tmp/cursor_result.txt
適用条件: Mode S または Mode A/B(Bash 許可)。Mode C でも Bash が利用可能な場合は適用可能。
codex/cursor-agentで対応できないときのみ使用。APIコストが高い。
claude -p --dangerously-skip-permissions --output-format text "プロンプト"
| オプション | 説明 |
|---|---|
-p / --print | 非対話モード(必須) |
--dangerously-skip-permissions | 権限チェック省略 |
--model model | モデル指定(例: sonnet, haiku) |
--allowedTools "tools" | 許可ツール制限(例: "Read Edit Bash(git:*)") |
--output-format text|json | 出力形式 |
--max-budget-usd N | コスト上限(ドル) |
--no-session-persistence | セッション保存しない |
claude -p --dangerously-skip-permissions --no-session-persistence \
--model haiku --max-budget-usd 0.5 \
--output-format text \
"src/core/parser.py のエラーハンドリングを改善して"
サブエージェントにはAnimaWorksの文脈がない。明確で自己完結したプロンプトを書くこと。
以下の要件でPythonモジュールを実装して:
ファイル: src/utils/validator.py
要件:
- Pydantic v2のBaseModelを使ったバリデータ
- email, username, passwordフィールド
- パスワードは8文字以上、英数字混合
- バリデーションエラー時にカスタム例外を投げる
制約:
- from __future__ import annotations を先頭に
- Google-style docstring
- 既存のテストを壊さないこと
いい感じにバリデーションを直して
→ コンテキストがなく、「いい感じ」が不明確。
RESULT=$(codex exec --full-auto --ephemeral -C /path "プロンプト" 2>/dev/null)
echo "$RESULT"
codex exec --full-auto --ephemeral -C /path \
-o /tmp/result.txt "プロンプト"
# 結果を読む
cat /tmp/result.txt
codex exec --full-auto --ephemeral -C /path "プロンプト"
if [ $? -eq 0 ]; then
echo "成功"
else
echo "失敗 — cursor-agentにフォールバック"
cursor-agent -p --trust --force --workspace /path "同じプロンプト"
fi
サブエージェントの実行は 5分〜20分以上 かかることがある。 フォアグラウンドで待つとセッションがブロックされるため、必ずバックグラウンドで実行すること。
nohup codex exec --full-auto --ephemeral -C /path/to/workspace \
-o /tmp/codex_result.txt \
"プロンプト" > /tmp/codex_stdout.log 2>&1 &
echo "PID: $!"
cursor-agent の場合:
nohup cursor-agent -p --trust --force \
--workspace /path/to/workspace \
"プロンプト" > /tmp/cursor_result.txt 2>&1 &
echo "PID: $!"
# プロセスがまだ動いているか確認
ps -p <PID> > /dev/null 2>&1 && echo "実行中" || echo "完了"
# 結果を読む(完了後)
cat /tmp/codex_result.txt
# または
cat /tmp/cursor_result.txt
暴走を防ぐために timeout を併用する:
nohup timeout 30m codex exec --full-auto --ephemeral -C /path \
-o /tmp/codex_result.txt \
"プロンプト" > /tmp/codex_stdout.log 2>&1 &
30m)10m)60m)バックグラウンド実行後、完了を待たずに他のタスクを進めてよい。 定期的にプロセスの生存を確認し、完了したら結果を読み取ってepisodes/に記録する。
--full-auto でサンドボックス内実行 — ワークスペース外への書き込みは制限される1. codex exec で試行
↓ 失敗 or 品質不足
2. cursor-agent -p で再試行
↓ 失敗 or 品質不足
3. claude -p(--max-budget-usd でコスト制限)で最終試行
↓ それでも失敗
4. 自分で実行を試みるか、上司に報告する
ANIMAWORKS_ANIMA_DIR と ANIMAWORKS_PROJECT_DIR が環境変数として設定される