codex-tools

using-superpowers · references · 附屬文件

Subagent dispatch requires multi-agent support

子代理派遣需要 multi-agent 支援

Add to your Codex config (~/.codex/config.toml):

在你的 Codex 設定(~/.codex/config.toml)加入:

[features]
multi_agent = true
[features]
multi_agent = true

This enables spawn_agent, wait_agent, and close_agent for skills like dispatching-parallel-agents and subagent-driven-development. When using subagent-driven-development, close reviewer subagents when their review returns. Keep each implementer subagent open until its task's review passes — the fix loop resumes the implementer — then close it. If your harness cannot send another message to a spawned agent, dispatch each fix round as a fresh implementer carrying the brief, the report file, and the findings.

這會為 dispatching-parallel-agentssubagent-driven-development 這類技能啟用 spawn_agentwait_agentclose_agent。使用 subagent-driven-development 時,審查子代理的回報一送回就關閉它。每個實作子代理則保持開啟,直到其任務的審查通過——修復迴圈會續用該實作子代理——然後才關閉。如果你的 harness 無法向已產生的代理再送訊息,就把每一輪修復派成一個新的實作子代理,攜帶 brief、報告檔與審查發現。

Environment Detection

環境偵測

Skills that create worktrees or finish branches should detect their environment with read-only git commands before proceeding:

建立 worktree 或收尾分支的技能,應該先用唯讀 git 指令偵測環境再繼續:

GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)
  • GIT_DIR != GIT_COMMON → already in a linked worktree (skip creation)
  • BRANCH empty → detached HEAD (cannot branch/push/PR from sandbox)
  • GIT_DIR != GIT_COMMON → 已在關聯的 worktree 中(跳過建立)
  • BRANCH 為空 → detached HEAD(無法從 sandbox 建立分支/推送/發 PR)

See using-git-worktrees Step 0 and finishing-a-development-branch Step 1 for how each skill uses these signals.

關於各技能如何使用這些訊號,見 using-git-worktrees 的第 0 步與 finishing-a-development-branch 的第 1 步。

Codex App Finishing

Codex App 收尾

When the sandbox blocks branch/push operations (detached HEAD in an externally managed worktree), the agent commits all work and informs the user to use the App's native controls:

當 sandbox 阻擋分支/推送操作(在外部管理的 worktree 中處於 detached HEAD),代理提交所有工作並告知使用者改用 App 的原生控制:

  • "Create branch" — names the branch, then commit/push/PR via App UI
  • "Hand off to local" — transfers work to the user's local checkout
  • 「Create branch」 — 命名分支,然後透過 App UI 提交/推送/發 PR
  • 「Hand off to local」 — 把工作轉移給使用者的本機 checkout

The agent can still run tests, stage files, and output suggested branch names, commit messages, and PR descriptions for the user to copy.

代理仍然可以執行測試、暫存檔案,並輸出建議的分支名稱、commit 訊息與 PR 描述供使用者複製。