| name | background-agent-ops |
| description | Use when launching a long-running CLI in the background (external review CLIs, builds, batch jobs) or deciding how to capture its output; when a subagent is stalled, its completion is overdue, or its completion notification arrives while the work it launched may still be running; before stopping or re-issuing a background task, especially on suspicion of a wrong working directory; when /exit is blocked with "Background work is running"; when dispatching a subagent into a worktree or isolated directory where it will commit or write reports; and when setting up a standing subagent you delegate to repeatedly, including how it must report back. Fire at launch time, not only after trouble.
|
| summary | ããã¯ã°ã©ãŠã³ãå®è¡ïŒé·æé CLIã»ããã¯ã°ã©ãŠã³ããµããšãŒãžã§ã³ãïŒã®èœãšã穎ãšèšºææé ã®éçŽãäºé²ã¯å®ã蚺æã¯é«ãããããã©ãã«åŸã§ã¯ãªãèµ·åæç¹ã§èªããå€éšãšãŒãžã§ã³ãã® CLI ãã©ãèµ·åããã㯠external-agent-invocation ãæ±ãã |
Background Agent Ops
ããã¯ã°ã©ãŠã³ãå®è¡ïŒé·æé CLIã»ããã¯ã°ã©ãŠã³ããµããšãŒãžã§ã³ãïŒã®èœãšã穎éãç¶æ³âçç¶â蚺æâ察åŠã§åŒãã
坿¬æ§ã®åºå: åé
ã«æ³šèšãããããšãŒãžã§ã³ãéäŸåãã¯ã·ã§ã«ã»ãšãŒãžã§ã³ãäžè¬ã«æãç«ã€ååããClaude Code åºæã㯠Claude Code ã®æ©æ§ïŒtranscript ãã¹ã»task notificationã»teammateã»/exitã»Bash session cwd ã®æç¶ã»Agent dispatchïŒã«äŸåããæé ãCodex / Pi çã®ä»ãšãŒãžã§ã³ãã§äœ¿ãå Žåãåºæé
ã¯ãåçš®ã®æ©æ§ãããããã確èªããŠããæµçšããã
1. é·æé CLI ã®ããã¯ã°ã©ãŠã³ãå®è¡ â ãã€ãã倱æããšé ãïŒãšãŒãžã§ã³ãéäŸåïŒ
- ç¶æ³: é·æéãããå€éš CLIïŒå€éšã¬ãã¥ãŒ CLIããã«ãããããïŒãããã¯ã°ã©ãŠã³ãã§èµ°ãããåºåãåŸããèŠãããã
- çç¶:
cmd | tail -N > log ã®ããã«ãã€ãå å·¥ãæããšããã€ãã CLI çµäºãŸã§åºåããããã¡ãããã°ã 0 è¡ã®ãŸãŸã鲿ãèŠããªãã ãã§ãªããèµ·åäžå
šïŒå³æ»ã»ç¡å¿çïŒã®çè·¡ãŸã§æ¶ãããå®äŸ: 49åç¡åºåã®æ£äœãèµ·åäžå
šã ã£ãã
- 察åŠ:
- åºåå å·¥ãªãã§çãã°ããã¡ã€ã«ãžçŽæžãããïŒ
cmd > log 2>&1ïŒãèŠããšãã«èªãåŽã§ tail ããã
- èµ·åçŽåŸã«çãã°ã®å
é æ°è¡ã§æ£åžžèµ·åïŒããŒãžã§ã³è¡šç€ºã»ããã³ããåçïŒã確èªããã
- é·æéç¡åºåã®ãšãã¯ããã£ã«ã¿ã»ã©ãããŒãåºåãé ããŠããªããããå
ã«çãã
; echo ã©ãããŒã exit 1 ãé ãçœ ãšåæã
- ããã»ã¹å®åšã®ç¢ºèªã¯ããã»ã¹åã§ãªãèµ·åã³ãã³ãã©ã€ã³ã§ç
§åããïŒåå GUI ã¢ããªã CLI ãšèª€èªããå®äŸããïŒã
2. bg ãµããšãŒãžã§ã³ãã®åæ»ã»å®äºéç¥åãããŒãïŒClaude Code åºæïŒ
- ç¶æ³: ããã¯ã°ã©ãŠã³ããµããšãŒãžã§ã³ãã®å®äºåŸ
ã¡ãé·åŒãããŸãã¯å®äºéç¥ãæ¥ãªãã
- çç¶: ãåŸ
ã£ãŠãäœãæ¥ãªããã«ã¯2éããã â (1) ããŒã«åŒã³åºãïŒç¹ã« MCPïŒãã¿ã€ã ã¢ãŠããªãã§æ°žä¹
ãã³ã°ããµã€ã¬ã³ãã«åºãŸã£ãŠããã(2) å®ã¯å®èµ°æžã¿ãªã®ã« task notification ãå±ããŠããªãã
- 蚺æ: transcript ãçŽæ¥èŠãã
~/.claude/projects/<proj>/<session>/subagents/agent-<id>.jsonl ã® mtime ãšæçµã€ãã³ãã確èªããæçµè¡ã stop_reason: tool_use ã®ãŸãŸæŽæ°åæ¢ãªããã³ã°ãend_turn ãªãå®èµ°æžã¿ïŒçµæã¯ transcript ã®æçµ assistant ã¡ãã»ãŒãžããååã§ããïŒã
- 察åŠ: ãã³ã°åäœã¯ TaskStop ã§åæ¢ããåèµ·åããã³ããã«ãã³ã°åå ããŒã«ã®æç€ºçŠæ¢ïŒäŸ: ãmcp__plugin_context-mode_* ç³»ã¯äœ¿ããªããRead/Grep/Glob/Bash ã®ã¿ãïŒãæžãã調æ»ç³»ãµããšãŒãžã§ã³ãã¯èµ·åæããçŠæ¢ãæžããŠããã®ãå®å
šã
- éç¥ãå±ããå Žåã®å¥ãã¿ãŒã³ â ãµããšãŒãžã§ã³ãã®å®äº â å§è²å
ããã»ã¹ã®å®äº: ãµããšãŒãžã§ã³ãïŒfork ãå«ãïŒãé·æé CLI ãããã¯ã°ã©ãŠã³ãèµ·åããŠãã®ãŸãŸã¿ãŒã³ãçµãããšãCLI æ¬äœã¯ãŸã èµ°ã£ãŠããã®ã«ãµããšãŒãžã§ã³ãã®å®äºéç¥ã ããå
ã«å±ãããããææã®å°çãšèªã¿éãããšãæªå®ã®åŠçããçµæãŒãããšèª€èªãããïŒå€éšã¬ãã¥ãŒãå§è²ããŠããããã¯ææãªãããšèª€èªããé¡ïŒãå§è²ãããšãã¯ææãã®ãã®ïŒå€å®ã»åºåã»çµè«ïŒãå ±åã«å«ããããæç€ºããå ±åã«ææãç¡ããã°èŠªã §1 ã®çãã°ãšããã»ã¹çµäºãçŽæ¥ç£èŠããŠååãããå
¥ãåã®å®äºæ¡ä»¶ã¯ãå€åŽãçµãã£ãŠãå
åŽã¯çµãã£ãŠããªããåŸ
ã€åœ¹ç®ãåå§è²ããŠã解決ããªã â åŸ
æ©åœ¹ãåãçç±ã§å
ã«æ»ããããåãå®äºéç¥ãç¹°ãè¿ãããã ãã§é²ãŸãªããèªã¿åãïŒå€§åºåã®ååïŒã¯å§è²ã§ããããåŸ
æ©ã¯èŠªãæã€ã
3. background task ã®åæ¢ã»åçºè¡ â cwd ã¯å®æž¬ããŠããïŒClaude Code åºæïŒ
- ç¶æ³: background task ããééã£ã cwd ã§åããŠããã®ã§ã¯ããšçãã忢ã»åçºè¡ããããšããŠããã
- çç¶: cwd ã®æºäžè¿œè·¡ã¯ compound ã³ãã³ãã»backgroundã»äžŠè¡äœæ¥ãæ··ãããšå¿
ãã©ããã§ãºã¬ããæ£åžžãª task ã誀èªã§é£ç¶åæ¢ããå®äŸãããClaude Code ã® Bash session cwd 㯠foreground ã®
cd X && ... ã§æç¶çã«ç§»åããïŒbackground åŒã³åºãå
ã® cd ã¯æç¶ããªãïŒã
- 察åŠ:
- 忢ããåã«å¿
ã
pwd ã§ session cwd ã宿ž¬ãããæºäžæšè«ã§æ®ºããªãã
- ãä¿®æ£ããŠåçºè¡ãããã³ãã³ãã¯ãçºè¡åã«åæ¢ããã³ãã³ãæååãšéèªæ¯èŒãããå·®åããªããã°ä¿®æ£ã§ããŠããªãïŒåŒ·ãäºæž¬äžã§ã¯åäžã³ãã³ãããä¿®æ£æžã¿ããšæã蟌ãã§åçºè¡ããã¡ïŒã
- ãããã background å®è¡ã¯
git -C / 絶察ãã¹ / ã³ãã³ãå
cd ã®èªå·±å®çµåœ¢ã«ããŠãsession cwd ãžã®äŸåãæã€ã®ãæãå®å
šïŒãã®ååèªäœã¯ãšãŒãžã§ã³ãéäŸåïŒã
4. /exit ãããã¯ãšæ®å teammateïŒClaude Code åºæïŒ
- ç¶æ³:
/exit ã Background work is running ã§ãããã¯ãããã
- çç¶: TaskListã»CronList ãèŠãŠãå®è¡äžã¿ã¹ã¯ãªããã§ããããã¯ãè§£ããªããåå ã¯ã圹ç®ãçµãããŸãŸã¢ã€ãã«ã§æ®åãã teammateïŒã¬ãã¥ãŒã»ã»ã«ã³ããªãããªã³çšãµããšãŒãžã§ã³ãçïŒãTaskList ã®å®è¡äžã¿ã¹ã¯ãš teammate ã®æ®åã¯å¥æ ã§ãåè
ã空ã§ãåŸè
ã exit ããããã¯ããã
- 察åŠ: (1) ãããã¯ããããå®è¡äžã¿ã¹ã¯ã ãã§ãªãæ®å teammate ãåæããŠåæ¢ããã(2) äºé²ãšããŠãteammate ã倿°ç«ãŠãéçšã§ã¯åœ¹ç®ãçµãã£ãæç¹ïŒå ±ååé ã»ããŒãžå®äºæïŒã§éœåºŠåæ¢ããã»ãã·ã§ã³çµç«¯ã®äžæ¬æé€ã«é Œããªãã
5. worktree ãžã® subagent dispatch â ã³ãããå
ãèªå·±æ€èšŒãããïŒClaude Code åºæïŒ
- ç¶æ³: git worktree çã®éé¢ãã£ã¬ã¯ããªãžãã³ããããŸã§è¡ã subagent ã dispatch ããã
- çç¶: dispatch ããã³ããã«äœæ¥ãã£ã¬ã¯ããªãæç€ºããŠããŠããsubagent ãå¥ãã§ãã¯ã¢ãŠãïŒmain çïŒãžèª€ã³ãããããäºæ
ãå®çºçããŠããïŒæ ¹æ¬åå ã¯æªç¹å®ïŒæç€ºã ãã§ã¯åçºãããïŒã
- 察åŠ:
- dispatch ããã³ããã«ãäœæ¥ãã£ã¬ã¯ããªã®çµ¶å¯Ÿãã¹ããšãã³ãããçŽåã«
pwd / git branch --show-current ãå確èªããæ³å®å€ãªãå³ BLOCKED å ±åããæ¯åæèšããã
- äºæ
åŸã®ãªã«ããª: 誀ã³ãããã®ããã·ã¥ãç¢ºèª â æ£ãããã©ã³ããž
git cherry-pick ã§åå â 誀ã£ãŠè§ŠããåŽãå®å
šãªå°ç¹ãžæ»ããäœæ¥å
容èªäœã倱ãå¿
èŠã¯ãªãã
6. subagent ã«æžãããå ±åãã¡ã€ã«ã®ãã¹ã¯ run åºæã«ã¹ã³ãŒãããïŒãšãŒãžã§ã³ãéäŸåïŒ
- ç¶æ³: å®è£
subagent ã«ãäœæ¥å ±åããã¡ã€ã«ãžæžãããšæç€ºãããå€ã¿ã¹ã¯ãé£ç¶ã§å§è²ããéçºãããŒå
šè¬ã«åœãŠã¯ãŸãã
- çç¶:
<scratch>/task-N-report.md ã®ãã㪠run éåºæãã¹ã¯ featureã»ã»ãã·ã§ã³ãè·šãã§ååã«ãªããéå» run ã®ç¡é¢ä¿ãªå ±åãäžæžãç Žå£ãããscratch é å㯠git-ignored ãªããšãå€ã埩å
ã§ããªããsubagent ããæ¢åãã¡ã€ã«ãäžæžãããããšèŠåãäžãç¶ãããããå ±åã宿
ãšä¹é¢ããŠããªããã®åãåãã³ã¹ããæ¯ã¿ã¹ã¯çºçããã
- 察åŠ: dispatch ã® brief ã§å ±åãã¹ã run åºæã«ã¹ã³ãŒãããïŒfeature slug ãæ¥ä»ããã¹ã«æãïŒããã³ãã¬ãŒããã¹ãã«ãåºå®ãã¹ãæç€ºããŠããŠãããã®ãŸãŸæž¡ããªããæ¢åã®ååãã¡ã€ã«ãèŠã€ããå Žåã¯ãäžæžãåã«ç¡é¢ä¿ãªæ®éªžãã確èªãããã
7. worktree ã®ãã©ã³ãã gh pr merge --delete-branch ã§æ¶ããªãïŒãšãŒãžã§ã³ãéäŸå / éåºæé 㯠Claude Code åºæïŒ
- ç¶æ³: éé¢ worktree ã§äœã£ããã©ã³ãã® PR ãããã® worktree ã®äžããããŒãžããã
- çç¶: worktree ãåæã« base ãã©ã³ãïŒmain çïŒãžåãæ¿ãããèªåã®ã³ãããã worktree ããæ¶ããããã«èŠããïŒsquash ã«ã¯åãèŸŒã¿æžã¿ãªã®ã§å®éã®ãã¹ã¯ãªãïŒãããŒã«ã« base ã origin ãšåå²ããŠããã°ãããŒãžåŸã® fast-forward 远åŸã倱æããã
- ãªãèµ·ããã:
--delete-branch ã¯ãªã¢ãŒãã ãã§ãªãããŒã«ã«ãã©ã³ããåé€ããïŒgh pr merge --help ã«æèšïŒãããŒã«ã«åé€ã«ã¯ãã®ãã©ã³ãããé¢ããŠããå¿
èŠããããããgh ã¯ååŠçãšã㊠base ã checkout ãã«è¡ãããã㯠git ã®å¿
ç¶ã§ã¯ãªã gh åŽã®æåã§ãworktree ã®é
眮次第ã§ãåãæ¿ãããããšããbase ãå¥ worktree ã§äœ¿çšäžã®ããéšåçã«å€±æããããŒã«ã«åŸå§æ«ãæ®ããããšããããçç¶ãã git ã®ä»æ§ãæšè«ããªãããš â å®éã«å¹ããŠããã®ã¯ããŒã«åŽã®åŸå§æ«æé ã§ããã
- 察åŠ: é åºããã»ãã·ã§ã³ã worktree ããéåºïŒClaude Code ãªã
ExitWorktree ã® keepïŒâ git worktree remove <path>ïŒãã©ã³ãã¯æ¶ããªãïŒâ gh pr mergeïŒ--delete-branch ãªãïŒãã«ãããããŒã«ã«ãã©ã³ãã®æé€ã¯ããŒãžçµæã確èªããããšå¥æäœã§è¡ããããŒãžçµæã¯ squash commit ãš gh pr view <n> --json state,mergeCommit ã§è£åãããã
8. ååä»ã subagent ãžã®å§è² â å ±åææ®µãæç€ºããªããšå±ããªãïŒClaude Code åºæïŒ
- ç¶æ³: åžžé§ã®ååä»ã subagentïŒå®è£
ã¬ãŒã³ã»ã¬ãã¥ãŒæ
åœçïŒãžäœæ¥ãå§è²ãããã®å®äºå ±åãåãåãããã
- çç¶: å§è²å
ãå ±åæ¬æãæžãçµããŠããcontroller ã«ã¯
{"type":"idle_notification", ...} ããå±ããªããå¹³æåºå㯠controller ããèªããªããããå®èµ°ããã®ã«ç¡å ±åããç¹°ãè¿ãèµ·ãããã®ãã³åèŠæ±ã§åŸåŸ©ãçºçããã§2 ãšã¯äž»èªãéã â ãã¡ãã¯ããã³ã°ãå®èµ°ãã®åãåããããã¡ãã¯å®èµ°ããŠããŠãå ±åçµè·¯ãååšããªããšããå§è²èšèšã®æ¬ èœã
- 察åŠ:
- å§è²ããã³ããã«å ±åææ®µãæç€ºããïŒ
SendMessage ã§ controller å®ã«éãããšãå ±åã«å«ããé
ç® â 倿ŽèŠçŽã»å®è¡ããã³ãã³ãã®å®åºåã»èªåãåç¬ã§å€æããç®æïŒã
- idle éç¥ãå®äºå ±åãšããŠæ±ããªããäœæ¥å
容ã¯
git log / git status / diff ã§ controller ãå®ç©ãçŽæ¥ç¢ºèªããã倱æïŒAPI ãšã©ãŒçïŒã§ idle ã«ãªã£ãå Žåããäœãæ®ã£ãŠãããã¯å®ç©ã§ããåãããªãã
- å§è²å
ãžæž¡ãæ€èšŒã²ãŒãã¯ãcontroller ãåããã®ãšåäžéåã«ãããçãèŠçŽ ãããã°ãcontroller åŽã§èŠãããšå§è²æã«æç€ºããã
9. å®è£
ã¬ãŒã³ã®éçš â ç³åã§ãªãå®ç©ã§å€å®ããïŒClaude Code åºæïŒ
åžžé§ã®å®è£
ã¬ãŒã³ïŒcontroller ãèµ·ãã subagent ã«äœæ¥ãä»»ãç¶ãã圢ïŒã§ã¯ãã¬ãŒã³ã®ç³åãå®äœããå€ããçµè·¯ãå±é¢ããšã«å¥ã
ã«ããã§2 §5 §8 ãåã
ã®çç¶ãæ±ãã®ã«å¯Ÿããããã¯ãã¬ãŒã³ãåããç¶ããéãcontroller ãäœãèªåã§æž¬ãããããŸãšããã
- ã¬ãŒã³ã«ããã«å§è²ãããªã: ã¬ãŒã³ãèµ·ããããµããšãŒãžã§ã³ãããããã®ã¬ãŒã³ãžå ±åãæ»ããªãããšããããå«ãä»äºãçµããŠã芪ã¬ãŒã³ã¯å®äºåŸ
ã¡ã®ãŸãŸ turn ãçµããŠåºãŸãã§8 ã®ãå ±åææ®µãæç€ºãããã¯å ±åçµè·¯ãååšããæ·±ãã§ã®å¯ŸåŠã§ãããå«ã®æ·±ãã§å¹ãã㯠harness ã®çã«äŸåããïŒéä¿¡å
ã«äœãæžãããã®æå³ãçããšã«å€ããïŒãæç€ºã®æžãæ¹ã«è³ãããå§è²ãããªãèšèšãžåã â ã¬ãŒã³ãžã®æç€ºã«ããµããšãŒãžã§ã³ããžå§è²ããªãïŒèªåã§å®è£
ããïŒããå§è²å
ã®å®äºãåŸ
ã€åœ¢ã§ turn ãçµããªãããå
¥ãããåºçãããã®å€å®æé 㯠§2ã
- åºçããŠãææã¯æ®ã£ãŠããããšãå€ã: 忢ãããåã«ãæªã³ãããã®äœæ¥ããªãŒãã²ãŒããéããã controller ãèªåã§æž¬ããéããªãåŸç¶ã¬ãŒã³ãžããŸããããã³ããããããããšããããåŒãç¶ãããããªã忢ã»ç Žæ£ãããšå®ææžã¿ã®äœæ¥ãæšãŠãã
- ç·å ±åã¯ã©ã³ã¿ã€ã ã®äžèŽãå
ã«èŠã: worktree ã§ä»®æ³ç°å¢ãäœããšã芪ãªããžããªãšéãèšèªããŒãžã§ã³ã§äœãããããšããããå¥ã©ã³ã¿ã€ã ã§ã®ãlint 0 / N passed / coverage 100%ãã¯ã²ãŒããšããŠåŒ±ããæ°å€ããå
ã«ã䜿ãããããŒãžã§ã³ã芪ãšäžèŽãããã確ããããworktree ãäœã£ãçŽåŸã«æããŠãããšãåŸããã²ãŒããäºåºŠåã矜ç®ã«ãªããªãã
- ã²ãŒããã¬ãã¥ãŒã®é㯠worktree ãåçµãã: åã worktree ã«æ€èšŒããåŽãšç·šéããåŽãåæã«ãããšã(1) ã¬ãã¥ãŒçµæãã¬ãŒã³ãžçŽæ¥å±ããŠã¬ãŒã³ãèªåã§åæ ã amend ãããããcontroller ãã²ãŒããéããã³ããããååšããªããªãã(2) ã²ãŒãå®è¡äžã«ããªãŒãå€ããããã®ç·ãæçµããªãŒã®ç·ã§ãªããªããå¢çã®èµ·ç¹ã¯ã²ãŒãéå§ã§ã¯ãªãã¬ãŒã³ã®å®äºå ±å â å ±åãåããæç¹ã§ãã®ããªãŒã®æææš©ã¯ã¬ãã¥ãŒåŽãžç§»ããå ±ååŸã«ã¬ãŒã³ãã³ããããç©ããšãæ€èšŒããå
容ãšã¬ãã¥ãŒå¯Ÿè±¡ããããïŒå®éã«èµ·ããïŒãã¬ãŒã³ãžã¯ãå®äºå ±å以é㯠controller ã®æç€ºäŸé ŒããããŸã§ worktree ãè§Šããªãããšæç€ºããã¬ãŒã³ãåå±
ããŠãã worktree ã§ã¯ã¬ãã¥ãŒã«ç·šéæš©ãäžããå ±åã®ã¿ã«ãããææã®æ¡åŠãšä¿®æ£ã®é©çšã¯ controller ãæã€ãã¬ãã¥ãŒçµæãã¬ãŒã³ãžå±ããŠããŸã£ãå Žåããã¬ãŒã³ã¯åæ ããå
å®¹ãšæšå¥šã controller ãžæž¡ãã ãã«çããããã
åºå
ž: daytrade auto-memory ããææ ŒïŒ2026-07-26ã2026-08-01ã2026-08-03ãå®è£
ã¬ãŒã³ã®ç¯ã¯ 2026-08-09 远å ã§9 ã®æææš©ã®èµ·ç¹ã¯ 2026-08-20 ã«æç¢ºåïŒã