[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-letta-dispatching-coding-agents":3,"mdc--w1y27e-key":41,"related-org-letta-dispatching-coding-agents":2117,"related-repo-letta-dispatching-coding-agents":2268},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":36,"sourceUrl":39,"mdContent":40},"dispatching-coding-agents","dispatch stateless coding agents","Dispatch stateless coding agents (Claude Code or Codex) via Bash. Use when you're stuck, need a second opinion, or need parallel research on a hard problem. They have no memory — you must provide all context.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"letta","Letta","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fletta.png","letta-ai",[13,17,20],{"name":14,"slug":15,"type":16},"Coding","coding","tag",{"name":18,"slug":19,"type":16},"Agents","agents",{"name":21,"slug":22,"type":16},"Multi-Agent","multi-agent",2831,"https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code","2026-07-26T05:46:56.388845",null,329,[29,30,31,32,33,8,34,35],"agent-memory","ai","claude","codex","continual-learning","memgpt","stateful-agents",{"repoUrl":24,"stars":23,"forks":27,"topics":37,"description":38},[29,30,31,32,33,8,34,35],"Stateful agents that are like people, with memory, identity, and the ability to learn and adapt","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Ftree\u002FHEAD\u002Fsrc\u002Fskills\u002Fbuiltin\u002Fdispatching-coding-agents","---\nname: dispatching-coding-agents\ndescription: Dispatch stateless coding agents (Claude Code or Codex) via Bash. Use when you're stuck, need a second opinion, or need parallel research on a hard problem. They have no memory — you must provide all context.\n---\n\n# Dispatching Coding Agents\n\nYou can shell out to **Claude Code** (`claude`) and **Codex** (`codex`) as stateless sub-agents via Bash. They have filesystem and tool access (scope depends on sandbox\u002Fapproval settings) but **zero memory** — every session starts from scratch.\n\n**Default to `run_in_background: true`** on the Bash call so you can keep working while they run. Check results later with `TaskOutput`. Don't sit idle waiting for a subagent.\n\n## The Core Mental Model\n\nClaude Code and Codex are highly optimized coding agents, but are re-born with each new session. Think of them like a brilliant intern that showed up today. Provide them with the right instructions and context to help them succeed and avoid having to re-learn things that you've learned.\n\nYou are the experienced manager with persistent memory of the user's preferences, the codebase, past decisions, and hard-won lessons. **Give them context, not a plan.** They won't know anything you don't tell them:\n\n- **Specific task**: Be precise about what you need — not \"look into the auth system\" but \"trace the request flow from the messages endpoint through to the LLM call, cite files and line numbers.\"\n- **File paths and architecture**: Tell them exactly where to look and how pieces connect. They will wander aimlessly without this.\n- **Preferences and constraints**: Code style, error handling patterns, things the user has corrected you on. Save them from making mistakes you already learned from.\n- **What you've already tried**: If you're dispatching because you're stuck, this prevents them from rediscovering your dead ends.\n\nIf a subagent needs clarification or asks a question, respond in the same session (see Session Resumption below) — don't start a new session or you'll lose the conversation context.\n\n## When to Dispatch (and When Not To)\n\n### Dispatch for:\n- **Hard debugging** — you've been looping on a problem and need fresh eyes\n- **Second opinions** — you want validation before a risky change\n- **Parallel research** — investigate multiple hypotheses simultaneously\n- **Large-scope investigation** — tracing a flow across many files in an unfamiliar area\n- **Code review** — have another agent review your diff or plan\n\n### Don't dispatch for:\n- Simple file reads, greps, or small edits — faster to do yourself\n- Anything that takes less than ~3 minutes of direct work\n- Tasks where you already know exactly what to do\n- When context transfer would take longer than just doing the task\n\n## Choosing an Agent and Model\n\nDifferent agents have different strengths. Track what works in your memory over time — your own observations are more valuable than these defaults.\n\n### Categories\n\n**Codex:**\n- Use the configured default model. Model catalogs and account access change frequently, so only pass `--model` when the user explicitly requests one.\n- If a requested model is rejected, inspect the installed CLI and account configuration rather than guessing another model name.\n\n**Claude Code:**\n- `opus` — Excellent writer. Best for docs, refactors, open-ended tasks, and vague instructions.\n  - Strengths: Excellent writer, understands vague instructions, excellent for coding but also general-purpose\n  - Weaknesses: Tends to generate \"slop\", writing excessive quantities of code unnecessarily. Can hang on large repos.\n\n### Cost and speed tradeoffs\n- Use each CLI's configured default model unless the task requires a model the user explicitly requested\n- Use `--max-budget-usd N` (Claude Code) to cap spend on exploratory tasks\n\n### Known quirks\n- **Claude Code can hang on large repos** with unrestricted tools — consider `--allowedTools \"Read Grep Glob\"` (no Bash) and shorter timeouts for research tasks\n- **Codex compactions can destroy long trajectories** — for very long tasks, prefer multiple shorter sessions over one marathon\n- **Opus tends to over-generate** — produces more code than necessary. Good for exploration, verify before applying.\n\n## Prompting Subagents\n\n### Prompt template\n```\nTASK: [one-sentence summary]\n\nCONTEXT:\n- Repo: [path]\n- Key files: [list specific files and what they contain]\n- Architecture: [brief relevant context]\n\nWHAT TO DO:\n[what you need done — be precise, but let them figure out the approach]\n\nCONSTRAINTS:\n- [any preferences, patterns to follow, things to avoid]\n- [what you've already tried, if dispatching because stuck]\n\nOUTPUT:\n[what you want back — a diff, a list of files, a root cause analysis, etc.]\n```\n\n### What makes a good prompt\n- **Be specific about files** — \"look at `src\u002Fagent\u002Fmessage.ts` lines 40-80\" not \"look at the message handling code\"\n- **State the output format** — \"return a bullet list of findings\" vs. leaving it open-ended\n- **Include constraints** — if the user prefers certain patterns, say so explicitly\n- **Provide what you've tried** — when dispatching because you're stuck, this prevents them from repeating your dead ends\n\n## Dispatch Patterns\n\n### Parallel research — multiple perspectives\nRun Claude Code and Codex simultaneously on the same question via separate Bash calls in a single message (use `run_in_background: true`). Compare results for higher confidence.\n\n### Background dispatch — keep working while they run\nUse `run_in_background: true` on the Bash call to dispatch async. Continue your own work, then check results with `TaskOutput` when ready.\n\n### Deep investigation\nFor hard problems, use the configured model in a writable sandbox:\n```bash\ncodex exec \"YOUR PROMPT\" --sandbox workspace-write -C \u002Fpath\u002Fto\u002Frepo\n```\n\nClaude Code does not support a `-C` working-directory flag. Use `cd \u002Fpath\u002Fto\u002Frepo && claude ...` inside the Bash command. Use `--add-dir` only to grant access to additional directories outside the current working directory.\n\n### Code review — cross-agent validation\nHave one agent write code or create a plan, then dispatch another to review:\n```bash\n# Codex has a native review command:\ncodex review --uncommitted    # Review all local changes\ncodex exec review \"Focus on error handling and edge cases\"\n\n# Claude Code — pass the diff inline:\nclaude -p \"Review the following diff for correctness, edge cases, and missed error handling:\\n\\n$(git diff)\" \\\n  --model opus --dangerously-skip-permissions\n```\n\n### Get outside feedback on your work\nWrite your plan or analysis to a file, then ask a subagent to critique it:\n```bash\ncd \u002Fpath\u002Fto\u002Frepo && claude -p \"Read \u002Ftmp\u002Fmy-plan.md and critique it. What am I missing? What could go wrong?\" \\\n  --model opus --dangerously-skip-permissions\n```\n\n## Handling Failures\n\n- **Timeout**: If an agent times out (especially Claude Code on large repos), try: (1) a shorter, more focused prompt, (2) restricting tools with `--allowedTools`, (3) switching to Codex which handles large repos better\n- **Garbage output**: If results are incoherent, the prompt was probably too vague. Rewrite with more specific file paths and clearer instructions.\n- **Session errors**: Claude Code can hit \"stale approval from interrupted session\" — `--dangerously-skip-permissions` prevents this. If Codex errors, start a fresh `exec` session.\n- **Compaction mid-task**: If a Codex session runs long enough to compact, it may lose earlier context. Break long tasks into smaller sequential sessions.\n\n## CLI Reference\n\n### Claude Code\n\n```bash\nclaude -p \"YOUR PROMPT\" --model MODEL --dangerously-skip-permissions\n```\n\n| Flag | Purpose |\n|------|---------|\n| `-p` \u002F `--print` | Non-interactive mode, prints response and exits |\n| `--dangerously-skip-permissions` | Skip approval prompts (prevents stale approval errors on timeout) |\n| `--model MODEL` | Alias or model name accepted by the installed CLI; omit to use the configured default |\n| `--effort LEVEL` | `low`, `medium`, `high` — controls reasoning depth |\n| `--append-system-prompt \"...\"` | Inject additional system instructions |\n| `--allowedTools \"Bash Edit Read\"` | Restrict available tools |\n| `--max-budget-usd N` | Cap spend for the invocation |\n| `--add-dir DIR` | Allow access to an additional directory; does not change the working directory |\n| `--output-format json` | Structured output with `session_id`, `cost_usd`, `duration_ms` |\n\nSet Claude Code's working directory with `cd \u002Fpath\u002Fto\u002Frepo && claude ...` in the Bash command, not with a Claude flag.\n\n### Codex\n\n```bash\ncodex exec \"YOUR PROMPT\" --sandbox workspace-write\n```\n\n| Flag | Purpose |\n|------|---------|\n| `exec` | Non-interactive mode |\n| `-m MODEL` | Model accepted by the installed CLI; omit to use the configured default |\n| `--sandbox MODE` | Select a read-only or writable sandbox |\n| `-C DIR` | Set working directory |\n| `--search` | Enable web search tool |\n| `review` | Native code review — `codex review --uncommitted` or `codex exec review \"prompt\"` |\n\n## Session Management\n\nBoth CLIs persist full session data (tool calls, reasoning, files read) to disk. The Bash output you see is just the final summary — the local session file is much richer.\n\n### Session storage paths\n\n**Claude Code:** `~\u002F.claude\u002Fprojects\u002F\u003Cencoded-path>\u002F\u003Csession-id>.jsonl`\n- `\u003Cencoded-path>` = working directory with `\u002F` replaced by `-` (e.g. `\u002FUsers\u002Ffoo\u002Frepos\u002Fbar` becomes `-Users-foo-repos-bar`)\n- Use `--output-format json` to get the `session_id` in the response\n\n**Codex:** `~\u002F.codex\u002Fsessions\u002F\u003Cyear>\u002F\u003Cmonth>\u002F\u003Cday>\u002Frollout-*-\u003Csession-id>.jsonl`\n- Session ID is printed in output header: `session id: \u003Cuuid>`\n- Extract with: `grep \"^session id:\" output | awk '{print $3}'`\n\n### Resuming sessions\n\nUse session resumption to continue a line of investigation without re-providing all context:\n\n**Claude Code:**\n```bash\nclaude -r SESSION_ID -p \"Follow up: now check if...\"    # Resume by ID\nclaude -c -p \"Also check...\"                             # Continue most recent\nclaude -r SESSION_ID --fork-session -p \"Try differently\" # Fork (new ID, keeps history)\n```\n\n**Codex:**\n```bash\ncodex exec resume SESSION_ID \"Follow up prompt\"  # Resume by ID (non-interactive)\ncodex exec resume --last \"Follow up prompt\"      # Resume most recent (non-interactive)\ncodex resume SESSION_ID \"Follow up prompt\"       # Resume by ID (interactive)\ncodex resume --last \"Follow up prompt\"           # Resume most recent (interactive)\ncodex fork SESSION_ID \"Try a different approach\" # Fork session (interactive)\n```\n\nNote: `codex exec resume` works non-interactively. `codex resume` and `codex fork` are interactive only.\n\n### When to analyze past sessions\n\n**Don't** run `history-analyzer` after every dispatch — your reflection agent already captures insights naturally, and single-session analysis produces overly detailed notes.\n\n**Do** use `history-analyzer` for **bulk migration** when bootstrapping memory from months of accumulated history (e.g. during `\u002Finit`). See the `initializing-memory` skill's historical session analysis reference.\n\nDirect uses for session files:\n- **Resume** an investigation (see above)\n- **Review** what an agent actually did (read the JSONL file directly)\n- **Bulk migration** when setting up a new agent\n\n## Timeouts\n\nSet Bash timeouts appropriate to the task:\n- Quick checks \u002F reviews: `timeout: 120000` (2 min)\n- Research \u002F analysis: `timeout: 300000` (5 min)\n- Implementation: `timeout: 600000` (10 min)\n",{"data":42,"body":43},{"name":4,"description":6},{"type":44,"children":45},"root",[46,54,96,120,127,132,144,189,194,200,207,260,266,289,295,300,306,314,335,343,370,376,397,403,444,450,456,468,474,525,531,537,549,555,573,579,584,646,675,681,686,841,847,852,919,925,992,998,1003,1047,1275,1287,1291,1330,1465,1471,1476,1482,1497,1561,1575,1600,1606,1611,1618,1740,1747,1927,1956,1962,1980,2020,2025,2058,2064,2069,2111],{"type":47,"tag":48,"props":49,"children":50},"element","h1",{"id":4},[51],{"type":52,"value":53},"text","Dispatching Coding Agents",{"type":47,"tag":55,"props":56,"children":57},"p",{},[58,60,66,68,74,76,81,82,87,89,94],{"type":52,"value":59},"You can shell out to ",{"type":47,"tag":61,"props":62,"children":63},"strong",{},[64],{"type":52,"value":65},"Claude Code",{"type":52,"value":67}," (",{"type":47,"tag":69,"props":70,"children":72},"code",{"className":71},[],[73],{"type":52,"value":31},{"type":52,"value":75},") and ",{"type":47,"tag":61,"props":77,"children":78},{},[79],{"type":52,"value":80},"Codex",{"type":52,"value":67},{"type":47,"tag":69,"props":83,"children":85},{"className":84},[],[86],{"type":52,"value":32},{"type":52,"value":88},") as stateless sub-agents via Bash. They have filesystem and tool access (scope depends on sandbox\u002Fapproval settings) but ",{"type":47,"tag":61,"props":90,"children":91},{},[92],{"type":52,"value":93},"zero memory",{"type":52,"value":95}," — every session starts from scratch.",{"type":47,"tag":55,"props":97,"children":98},{},[99,110,112,118],{"type":47,"tag":61,"props":100,"children":101},{},[102,104],{"type":52,"value":103},"Default to ",{"type":47,"tag":69,"props":105,"children":107},{"className":106},[],[108],{"type":52,"value":109},"run_in_background: true",{"type":52,"value":111}," on the Bash call so you can keep working while they run. Check results later with ",{"type":47,"tag":69,"props":113,"children":115},{"className":114},[],[116],{"type":52,"value":117},"TaskOutput",{"type":52,"value":119},". Don't sit idle waiting for a subagent.",{"type":47,"tag":121,"props":122,"children":124},"h2",{"id":123},"the-core-mental-model",[125],{"type":52,"value":126},"The Core Mental Model",{"type":47,"tag":55,"props":128,"children":129},{},[130],{"type":52,"value":131},"Claude Code and Codex are highly optimized coding agents, but are re-born with each new session. Think of them like a brilliant intern that showed up today. Provide them with the right instructions and context to help them succeed and avoid having to re-learn things that you've learned.",{"type":47,"tag":55,"props":133,"children":134},{},[135,137,142],{"type":52,"value":136},"You are the experienced manager with persistent memory of the user's preferences, the codebase, past decisions, and hard-won lessons. ",{"type":47,"tag":61,"props":138,"children":139},{},[140],{"type":52,"value":141},"Give them context, not a plan.",{"type":52,"value":143}," They won't know anything you don't tell them:",{"type":47,"tag":145,"props":146,"children":147},"ul",{},[148,159,169,179],{"type":47,"tag":149,"props":150,"children":151},"li",{},[152,157],{"type":47,"tag":61,"props":153,"children":154},{},[155],{"type":52,"value":156},"Specific task",{"type":52,"value":158},": Be precise about what you need — not \"look into the auth system\" but \"trace the request flow from the messages endpoint through to the LLM call, cite files and line numbers.\"",{"type":47,"tag":149,"props":160,"children":161},{},[162,167],{"type":47,"tag":61,"props":163,"children":164},{},[165],{"type":52,"value":166},"File paths and architecture",{"type":52,"value":168},": Tell them exactly where to look and how pieces connect. They will wander aimlessly without this.",{"type":47,"tag":149,"props":170,"children":171},{},[172,177],{"type":47,"tag":61,"props":173,"children":174},{},[175],{"type":52,"value":176},"Preferences and constraints",{"type":52,"value":178},": Code style, error handling patterns, things the user has corrected you on. Save them from making mistakes you already learned from.",{"type":47,"tag":149,"props":180,"children":181},{},[182,187],{"type":47,"tag":61,"props":183,"children":184},{},[185],{"type":52,"value":186},"What you've already tried",{"type":52,"value":188},": If you're dispatching because you're stuck, this prevents them from rediscovering your dead ends.",{"type":47,"tag":55,"props":190,"children":191},{},[192],{"type":52,"value":193},"If a subagent needs clarification or asks a question, respond in the same session (see Session Resumption below) — don't start a new session or you'll lose the conversation context.",{"type":47,"tag":121,"props":195,"children":197},{"id":196},"when-to-dispatch-and-when-not-to",[198],{"type":52,"value":199},"When to Dispatch (and When Not To)",{"type":47,"tag":201,"props":202,"children":204},"h3",{"id":203},"dispatch-for",[205],{"type":52,"value":206},"Dispatch for:",{"type":47,"tag":145,"props":208,"children":209},{},[210,220,230,240,250],{"type":47,"tag":149,"props":211,"children":212},{},[213,218],{"type":47,"tag":61,"props":214,"children":215},{},[216],{"type":52,"value":217},"Hard debugging",{"type":52,"value":219}," — you've been looping on a problem and need fresh eyes",{"type":47,"tag":149,"props":221,"children":222},{},[223,228],{"type":47,"tag":61,"props":224,"children":225},{},[226],{"type":52,"value":227},"Second opinions",{"type":52,"value":229}," — you want validation before a risky change",{"type":47,"tag":149,"props":231,"children":232},{},[233,238],{"type":47,"tag":61,"props":234,"children":235},{},[236],{"type":52,"value":237},"Parallel research",{"type":52,"value":239}," — investigate multiple hypotheses simultaneously",{"type":47,"tag":149,"props":241,"children":242},{},[243,248],{"type":47,"tag":61,"props":244,"children":245},{},[246],{"type":52,"value":247},"Large-scope investigation",{"type":52,"value":249}," — tracing a flow across many files in an unfamiliar area",{"type":47,"tag":149,"props":251,"children":252},{},[253,258],{"type":47,"tag":61,"props":254,"children":255},{},[256],{"type":52,"value":257},"Code review",{"type":52,"value":259}," — have another agent review your diff or plan",{"type":47,"tag":201,"props":261,"children":263},{"id":262},"dont-dispatch-for",[264],{"type":52,"value":265},"Don't dispatch for:",{"type":47,"tag":145,"props":267,"children":268},{},[269,274,279,284],{"type":47,"tag":149,"props":270,"children":271},{},[272],{"type":52,"value":273},"Simple file reads, greps, or small edits — faster to do yourself",{"type":47,"tag":149,"props":275,"children":276},{},[277],{"type":52,"value":278},"Anything that takes less than ~3 minutes of direct work",{"type":47,"tag":149,"props":280,"children":281},{},[282],{"type":52,"value":283},"Tasks where you already know exactly what to do",{"type":47,"tag":149,"props":285,"children":286},{},[287],{"type":52,"value":288},"When context transfer would take longer than just doing the task",{"type":47,"tag":121,"props":290,"children":292},{"id":291},"choosing-an-agent-and-model",[293],{"type":52,"value":294},"Choosing an Agent and Model",{"type":47,"tag":55,"props":296,"children":297},{},[298],{"type":52,"value":299},"Different agents have different strengths. Track what works in your memory over time — your own observations are more valuable than these defaults.",{"type":47,"tag":201,"props":301,"children":303},{"id":302},"categories",[304],{"type":52,"value":305},"Categories",{"type":47,"tag":55,"props":307,"children":308},{},[309],{"type":47,"tag":61,"props":310,"children":311},{},[312],{"type":52,"value":313},"Codex:",{"type":47,"tag":145,"props":315,"children":316},{},[317,330],{"type":47,"tag":149,"props":318,"children":319},{},[320,322,328],{"type":52,"value":321},"Use the configured default model. Model catalogs and account access change frequently, so only pass ",{"type":47,"tag":69,"props":323,"children":325},{"className":324},[],[326],{"type":52,"value":327},"--model",{"type":52,"value":329}," when the user explicitly requests one.",{"type":47,"tag":149,"props":331,"children":332},{},[333],{"type":52,"value":334},"If a requested model is rejected, inspect the installed CLI and account configuration rather than guessing another model name.",{"type":47,"tag":55,"props":336,"children":337},{},[338],{"type":47,"tag":61,"props":339,"children":340},{},[341],{"type":52,"value":342},"Claude Code:",{"type":47,"tag":145,"props":344,"children":345},{},[346],{"type":47,"tag":149,"props":347,"children":348},{},[349,355,357],{"type":47,"tag":69,"props":350,"children":352},{"className":351},[],[353],{"type":52,"value":354},"opus",{"type":52,"value":356}," — Excellent writer. Best for docs, refactors, open-ended tasks, and vague instructions.\n",{"type":47,"tag":145,"props":358,"children":359},{},[360,365],{"type":47,"tag":149,"props":361,"children":362},{},[363],{"type":52,"value":364},"Strengths: Excellent writer, understands vague instructions, excellent for coding but also general-purpose",{"type":47,"tag":149,"props":366,"children":367},{},[368],{"type":52,"value":369},"Weaknesses: Tends to generate \"slop\", writing excessive quantities of code unnecessarily. Can hang on large repos.",{"type":47,"tag":201,"props":371,"children":373},{"id":372},"cost-and-speed-tradeoffs",[374],{"type":52,"value":375},"Cost and speed tradeoffs",{"type":47,"tag":145,"props":377,"children":378},{},[379,384],{"type":47,"tag":149,"props":380,"children":381},{},[382],{"type":52,"value":383},"Use each CLI's configured default model unless the task requires a model the user explicitly requested",{"type":47,"tag":149,"props":385,"children":386},{},[387,389,395],{"type":52,"value":388},"Use ",{"type":47,"tag":69,"props":390,"children":392},{"className":391},[],[393],{"type":52,"value":394},"--max-budget-usd N",{"type":52,"value":396}," (Claude Code) to cap spend on exploratory tasks",{"type":47,"tag":201,"props":398,"children":400},{"id":399},"known-quirks",[401],{"type":52,"value":402},"Known quirks",{"type":47,"tag":145,"props":404,"children":405},{},[406,424,434],{"type":47,"tag":149,"props":407,"children":408},{},[409,414,416,422],{"type":47,"tag":61,"props":410,"children":411},{},[412],{"type":52,"value":413},"Claude Code can hang on large repos",{"type":52,"value":415}," with unrestricted tools — consider ",{"type":47,"tag":69,"props":417,"children":419},{"className":418},[],[420],{"type":52,"value":421},"--allowedTools \"Read Grep Glob\"",{"type":52,"value":423}," (no Bash) and shorter timeouts for research tasks",{"type":47,"tag":149,"props":425,"children":426},{},[427,432],{"type":47,"tag":61,"props":428,"children":429},{},[430],{"type":52,"value":431},"Codex compactions can destroy long trajectories",{"type":52,"value":433}," — for very long tasks, prefer multiple shorter sessions over one marathon",{"type":47,"tag":149,"props":435,"children":436},{},[437,442],{"type":47,"tag":61,"props":438,"children":439},{},[440],{"type":52,"value":441},"Opus tends to over-generate",{"type":52,"value":443}," — produces more code than necessary. Good for exploration, verify before applying.",{"type":47,"tag":121,"props":445,"children":447},{"id":446},"prompting-subagents",[448],{"type":52,"value":449},"Prompting Subagents",{"type":47,"tag":201,"props":451,"children":453},{"id":452},"prompt-template",[454],{"type":52,"value":455},"Prompt template",{"type":47,"tag":457,"props":458,"children":462},"pre",{"className":459,"code":461,"language":52},[460],"language-text","TASK: [one-sentence summary]\n\nCONTEXT:\n- Repo: [path]\n- Key files: [list specific files and what they contain]\n- Architecture: [brief relevant context]\n\nWHAT TO DO:\n[what you need done — be precise, but let them figure out the approach]\n\nCONSTRAINTS:\n- [any preferences, patterns to follow, things to avoid]\n- [what you've already tried, if dispatching because stuck]\n\nOUTPUT:\n[what you want back — a diff, a list of files, a root cause analysis, etc.]\n",[463],{"type":47,"tag":69,"props":464,"children":466},{"__ignoreMap":465},"",[467],{"type":52,"value":461},{"type":47,"tag":201,"props":469,"children":471},{"id":470},"what-makes-a-good-prompt",[472],{"type":52,"value":473},"What makes a good prompt",{"type":47,"tag":145,"props":475,"children":476},{},[477,495,505,515],{"type":47,"tag":149,"props":478,"children":479},{},[480,485,487,493],{"type":47,"tag":61,"props":481,"children":482},{},[483],{"type":52,"value":484},"Be specific about files",{"type":52,"value":486}," — \"look at ",{"type":47,"tag":69,"props":488,"children":490},{"className":489},[],[491],{"type":52,"value":492},"src\u002Fagent\u002Fmessage.ts",{"type":52,"value":494}," lines 40-80\" not \"look at the message handling code\"",{"type":47,"tag":149,"props":496,"children":497},{},[498,503],{"type":47,"tag":61,"props":499,"children":500},{},[501],{"type":52,"value":502},"State the output format",{"type":52,"value":504}," — \"return a bullet list of findings\" vs. leaving it open-ended",{"type":47,"tag":149,"props":506,"children":507},{},[508,513],{"type":47,"tag":61,"props":509,"children":510},{},[511],{"type":52,"value":512},"Include constraints",{"type":52,"value":514}," — if the user prefers certain patterns, say so explicitly",{"type":47,"tag":149,"props":516,"children":517},{},[518,523],{"type":47,"tag":61,"props":519,"children":520},{},[521],{"type":52,"value":522},"Provide what you've tried",{"type":52,"value":524}," — when dispatching because you're stuck, this prevents them from repeating your dead ends",{"type":47,"tag":121,"props":526,"children":528},{"id":527},"dispatch-patterns",[529],{"type":52,"value":530},"Dispatch Patterns",{"type":47,"tag":201,"props":532,"children":534},{"id":533},"parallel-research-multiple-perspectives",[535],{"type":52,"value":536},"Parallel research — multiple perspectives",{"type":47,"tag":55,"props":538,"children":539},{},[540,542,547],{"type":52,"value":541},"Run Claude Code and Codex simultaneously on the same question via separate Bash calls in a single message (use ",{"type":47,"tag":69,"props":543,"children":545},{"className":544},[],[546],{"type":52,"value":109},{"type":52,"value":548},"). Compare results for higher confidence.",{"type":47,"tag":201,"props":550,"children":552},{"id":551},"background-dispatch-keep-working-while-they-run",[553],{"type":52,"value":554},"Background dispatch — keep working while they run",{"type":47,"tag":55,"props":556,"children":557},{},[558,559,564,566,571],{"type":52,"value":388},{"type":47,"tag":69,"props":560,"children":562},{"className":561},[],[563],{"type":52,"value":109},{"type":52,"value":565}," on the Bash call to dispatch async. Continue your own work, then check results with ",{"type":47,"tag":69,"props":567,"children":569},{"className":568},[],[570],{"type":52,"value":117},{"type":52,"value":572}," when ready.",{"type":47,"tag":201,"props":574,"children":576},{"id":575},"deep-investigation",[577],{"type":52,"value":578},"Deep investigation",{"type":47,"tag":55,"props":580,"children":581},{},[582],{"type":52,"value":583},"For hard problems, use the configured model in a writable sandbox:",{"type":47,"tag":457,"props":585,"children":589},{"className":586,"code":587,"language":588,"meta":465,"style":465},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","codex exec \"YOUR PROMPT\" --sandbox workspace-write -C \u002Fpath\u002Fto\u002Frepo\n","bash",[590],{"type":47,"tag":69,"props":591,"children":592},{"__ignoreMap":465},[593],{"type":47,"tag":594,"props":595,"children":598},"span",{"class":596,"line":597},"line",1,[599,604,610,616,621,626,631,636,641],{"type":47,"tag":594,"props":600,"children":602},{"style":601},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[603],{"type":52,"value":32},{"type":47,"tag":594,"props":605,"children":607},{"style":606},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[608],{"type":52,"value":609}," exec",{"type":47,"tag":594,"props":611,"children":613},{"style":612},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[614],{"type":52,"value":615}," \"",{"type":47,"tag":594,"props":617,"children":618},{"style":606},[619],{"type":52,"value":620},"YOUR PROMPT",{"type":47,"tag":594,"props":622,"children":623},{"style":612},[624],{"type":52,"value":625},"\"",{"type":47,"tag":594,"props":627,"children":628},{"style":606},[629],{"type":52,"value":630}," --sandbox",{"type":47,"tag":594,"props":632,"children":633},{"style":606},[634],{"type":52,"value":635}," workspace-write",{"type":47,"tag":594,"props":637,"children":638},{"style":606},[639],{"type":52,"value":640}," -C",{"type":47,"tag":594,"props":642,"children":643},{"style":606},[644],{"type":52,"value":645}," \u002Fpath\u002Fto\u002Frepo\n",{"type":47,"tag":55,"props":647,"children":648},{},[649,651,657,659,665,667,673],{"type":52,"value":650},"Claude Code does not support a ",{"type":47,"tag":69,"props":652,"children":654},{"className":653},[],[655],{"type":52,"value":656},"-C",{"type":52,"value":658}," working-directory flag. Use ",{"type":47,"tag":69,"props":660,"children":662},{"className":661},[],[663],{"type":52,"value":664},"cd \u002Fpath\u002Fto\u002Frepo && claude ...",{"type":52,"value":666}," inside the Bash command. Use ",{"type":47,"tag":69,"props":668,"children":670},{"className":669},[],[671],{"type":52,"value":672},"--add-dir",{"type":52,"value":674}," only to grant access to additional directories outside the current working directory.",{"type":47,"tag":201,"props":676,"children":678},{"id":677},"code-review-cross-agent-validation",[679],{"type":52,"value":680},"Code review — cross-agent validation",{"type":47,"tag":55,"props":682,"children":683},{},[684],{"type":52,"value":685},"Have one agent write code or create a plan, then dispatch another to review:",{"type":47,"tag":457,"props":687,"children":689},{"className":586,"code":688,"language":588,"meta":465,"style":465},"# Codex has a native review command:\ncodex review --uncommitted    # Review all local changes\ncodex exec review \"Focus on error handling and edge cases\"\n\n# Claude Code — pass the diff inline:\nclaude -p \"Review the following diff for correctness, edge cases, and missed error handling:\\n\\n$(git diff)\" \\\n  --model opus --dangerously-skip-permissions\n",[690],{"type":47,"tag":69,"props":691,"children":692},{"__ignoreMap":465},[693,702,725,755,765,774,822],{"type":47,"tag":594,"props":694,"children":695},{"class":596,"line":597},[696],{"type":47,"tag":594,"props":697,"children":699},{"style":698},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[700],{"type":52,"value":701},"# Codex has a native review command:\n",{"type":47,"tag":594,"props":703,"children":705},{"class":596,"line":704},2,[706,710,715,720],{"type":47,"tag":594,"props":707,"children":708},{"style":601},[709],{"type":52,"value":32},{"type":47,"tag":594,"props":711,"children":712},{"style":606},[713],{"type":52,"value":714}," review",{"type":47,"tag":594,"props":716,"children":717},{"style":606},[718],{"type":52,"value":719}," --uncommitted",{"type":47,"tag":594,"props":721,"children":722},{"style":698},[723],{"type":52,"value":724},"    # Review all local changes\n",{"type":47,"tag":594,"props":726,"children":728},{"class":596,"line":727},3,[729,733,737,741,745,750],{"type":47,"tag":594,"props":730,"children":731},{"style":601},[732],{"type":52,"value":32},{"type":47,"tag":594,"props":734,"children":735},{"style":606},[736],{"type":52,"value":609},{"type":47,"tag":594,"props":738,"children":739},{"style":606},[740],{"type":52,"value":714},{"type":47,"tag":594,"props":742,"children":743},{"style":612},[744],{"type":52,"value":615},{"type":47,"tag":594,"props":746,"children":747},{"style":606},[748],{"type":52,"value":749},"Focus on error handling and edge cases",{"type":47,"tag":594,"props":751,"children":752},{"style":612},[753],{"type":52,"value":754},"\"\n",{"type":47,"tag":594,"props":756,"children":758},{"class":596,"line":757},4,[759],{"type":47,"tag":594,"props":760,"children":762},{"emptyLinePlaceholder":761},true,[763],{"type":52,"value":764},"\n",{"type":47,"tag":594,"props":766,"children":768},{"class":596,"line":767},5,[769],{"type":47,"tag":594,"props":770,"children":771},{"style":698},[772],{"type":52,"value":773},"# Claude Code — pass the diff inline:\n",{"type":47,"tag":594,"props":775,"children":777},{"class":596,"line":776},6,[778,782,787,791,796,801,806,811,816],{"type":47,"tag":594,"props":779,"children":780},{"style":601},[781],{"type":52,"value":31},{"type":47,"tag":594,"props":783,"children":784},{"style":606},[785],{"type":52,"value":786}," -p",{"type":47,"tag":594,"props":788,"children":789},{"style":612},[790],{"type":52,"value":615},{"type":47,"tag":594,"props":792,"children":793},{"style":606},[794],{"type":52,"value":795},"Review the following diff for correctness, edge cases, and missed error handling:\\n\\n",{"type":47,"tag":594,"props":797,"children":798},{"style":612},[799],{"type":52,"value":800},"$(",{"type":47,"tag":594,"props":802,"children":803},{"style":601},[804],{"type":52,"value":805},"git",{"type":47,"tag":594,"props":807,"children":808},{"style":606},[809],{"type":52,"value":810}," diff",{"type":47,"tag":594,"props":812,"children":813},{"style":612},[814],{"type":52,"value":815},")\"",{"type":47,"tag":594,"props":817,"children":819},{"style":818},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[820],{"type":52,"value":821}," \\\n",{"type":47,"tag":594,"props":823,"children":825},{"class":596,"line":824},7,[826,831,836],{"type":47,"tag":594,"props":827,"children":828},{"style":606},[829],{"type":52,"value":830},"  --model",{"type":47,"tag":594,"props":832,"children":833},{"style":606},[834],{"type":52,"value":835}," opus",{"type":47,"tag":594,"props":837,"children":838},{"style":606},[839],{"type":52,"value":840}," --dangerously-skip-permissions\n",{"type":47,"tag":201,"props":842,"children":844},{"id":843},"get-outside-feedback-on-your-work",[845],{"type":52,"value":846},"Get outside feedback on your work",{"type":47,"tag":55,"props":848,"children":849},{},[850],{"type":52,"value":851},"Write your plan or analysis to a file, then ask a subagent to critique it:",{"type":47,"tag":457,"props":853,"children":855},{"className":586,"code":854,"language":588,"meta":465,"style":465},"cd \u002Fpath\u002Fto\u002Frepo && claude -p \"Read \u002Ftmp\u002Fmy-plan.md and critique it. What am I missing? What could go wrong?\" \\\n  --model opus --dangerously-skip-permissions\n",[856],{"type":47,"tag":69,"props":857,"children":858},{"__ignoreMap":465},[859,904],{"type":47,"tag":594,"props":860,"children":861},{"class":596,"line":597},[862,868,873,878,883,887,891,896,900],{"type":47,"tag":594,"props":863,"children":865},{"style":864},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[866],{"type":52,"value":867},"cd",{"type":47,"tag":594,"props":869,"children":870},{"style":606},[871],{"type":52,"value":872}," \u002Fpath\u002Fto\u002Frepo",{"type":47,"tag":594,"props":874,"children":875},{"style":612},[876],{"type":52,"value":877}," &&",{"type":47,"tag":594,"props":879,"children":880},{"style":601},[881],{"type":52,"value":882}," claude",{"type":47,"tag":594,"props":884,"children":885},{"style":606},[886],{"type":52,"value":786},{"type":47,"tag":594,"props":888,"children":889},{"style":612},[890],{"type":52,"value":615},{"type":47,"tag":594,"props":892,"children":893},{"style":606},[894],{"type":52,"value":895},"Read \u002Ftmp\u002Fmy-plan.md and critique it. What am I missing? What could go wrong?",{"type":47,"tag":594,"props":897,"children":898},{"style":612},[899],{"type":52,"value":625},{"type":47,"tag":594,"props":901,"children":902},{"style":818},[903],{"type":52,"value":821},{"type":47,"tag":594,"props":905,"children":906},{"class":596,"line":704},[907,911,915],{"type":47,"tag":594,"props":908,"children":909},{"style":606},[910],{"type":52,"value":830},{"type":47,"tag":594,"props":912,"children":913},{"style":606},[914],{"type":52,"value":835},{"type":47,"tag":594,"props":916,"children":917},{"style":606},[918],{"type":52,"value":840},{"type":47,"tag":121,"props":920,"children":922},{"id":921},"handling-failures",[923],{"type":52,"value":924},"Handling Failures",{"type":47,"tag":145,"props":926,"children":927},{},[928,946,956,982],{"type":47,"tag":149,"props":929,"children":930},{},[931,936,938,944],{"type":47,"tag":61,"props":932,"children":933},{},[934],{"type":52,"value":935},"Timeout",{"type":52,"value":937},": If an agent times out (especially Claude Code on large repos), try: (1) a shorter, more focused prompt, (2) restricting tools with ",{"type":47,"tag":69,"props":939,"children":941},{"className":940},[],[942],{"type":52,"value":943},"--allowedTools",{"type":52,"value":945},", (3) switching to Codex which handles large repos better",{"type":47,"tag":149,"props":947,"children":948},{},[949,954],{"type":47,"tag":61,"props":950,"children":951},{},[952],{"type":52,"value":953},"Garbage output",{"type":52,"value":955},": If results are incoherent, the prompt was probably too vague. Rewrite with more specific file paths and clearer instructions.",{"type":47,"tag":149,"props":957,"children":958},{},[959,964,966,972,974,980],{"type":47,"tag":61,"props":960,"children":961},{},[962],{"type":52,"value":963},"Session errors",{"type":52,"value":965},": Claude Code can hit \"stale approval from interrupted session\" — ",{"type":47,"tag":69,"props":967,"children":969},{"className":968},[],[970],{"type":52,"value":971},"--dangerously-skip-permissions",{"type":52,"value":973}," prevents this. If Codex errors, start a fresh ",{"type":47,"tag":69,"props":975,"children":977},{"className":976},[],[978],{"type":52,"value":979},"exec",{"type":52,"value":981}," session.",{"type":47,"tag":149,"props":983,"children":984},{},[985,990],{"type":47,"tag":61,"props":986,"children":987},{},[988],{"type":52,"value":989},"Compaction mid-task",{"type":52,"value":991},": If a Codex session runs long enough to compact, it may lose earlier context. Break long tasks into smaller sequential sessions.",{"type":47,"tag":121,"props":993,"children":995},{"id":994},"cli-reference",[996],{"type":52,"value":997},"CLI Reference",{"type":47,"tag":201,"props":999,"children":1001},{"id":1000},"claude-code",[1002],{"type":52,"value":65},{"type":47,"tag":457,"props":1004,"children":1006},{"className":586,"code":1005,"language":588,"meta":465,"style":465},"claude -p \"YOUR PROMPT\" --model MODEL --dangerously-skip-permissions\n",[1007],{"type":47,"tag":69,"props":1008,"children":1009},{"__ignoreMap":465},[1010],{"type":47,"tag":594,"props":1011,"children":1012},{"class":596,"line":597},[1013,1017,1021,1025,1029,1033,1038,1043],{"type":47,"tag":594,"props":1014,"children":1015},{"style":601},[1016],{"type":52,"value":31},{"type":47,"tag":594,"props":1018,"children":1019},{"style":606},[1020],{"type":52,"value":786},{"type":47,"tag":594,"props":1022,"children":1023},{"style":612},[1024],{"type":52,"value":615},{"type":47,"tag":594,"props":1026,"children":1027},{"style":606},[1028],{"type":52,"value":620},{"type":47,"tag":594,"props":1030,"children":1031},{"style":612},[1032],{"type":52,"value":625},{"type":47,"tag":594,"props":1034,"children":1035},{"style":606},[1036],{"type":52,"value":1037}," --model",{"type":47,"tag":594,"props":1039,"children":1040},{"style":606},[1041],{"type":52,"value":1042}," MODEL",{"type":47,"tag":594,"props":1044,"children":1045},{"style":606},[1046],{"type":52,"value":840},{"type":47,"tag":1048,"props":1049,"children":1050},"table",{},[1051,1070],{"type":47,"tag":1052,"props":1053,"children":1054},"thead",{},[1055],{"type":47,"tag":1056,"props":1057,"children":1058},"tr",{},[1059,1065],{"type":47,"tag":1060,"props":1061,"children":1062},"th",{},[1063],{"type":52,"value":1064},"Flag",{"type":47,"tag":1060,"props":1066,"children":1067},{},[1068],{"type":52,"value":1069},"Purpose",{"type":47,"tag":1071,"props":1072,"children":1073},"tbody",{},[1074,1100,1116,1133,1171,1188,1205,1221,1238],{"type":47,"tag":1056,"props":1075,"children":1076},{},[1077,1095],{"type":47,"tag":1078,"props":1079,"children":1080},"td",{},[1081,1087,1089],{"type":47,"tag":69,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":52,"value":1086},"-p",{"type":52,"value":1088}," \u002F ",{"type":47,"tag":69,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":52,"value":1094},"--print",{"type":47,"tag":1078,"props":1096,"children":1097},{},[1098],{"type":52,"value":1099},"Non-interactive mode, prints response and exits",{"type":47,"tag":1056,"props":1101,"children":1102},{},[1103,1111],{"type":47,"tag":1078,"props":1104,"children":1105},{},[1106],{"type":47,"tag":69,"props":1107,"children":1109},{"className":1108},[],[1110],{"type":52,"value":971},{"type":47,"tag":1078,"props":1112,"children":1113},{},[1114],{"type":52,"value":1115},"Skip approval prompts (prevents stale approval errors on timeout)",{"type":47,"tag":1056,"props":1117,"children":1118},{},[1119,1128],{"type":47,"tag":1078,"props":1120,"children":1121},{},[1122],{"type":47,"tag":69,"props":1123,"children":1125},{"className":1124},[],[1126],{"type":52,"value":1127},"--model MODEL",{"type":47,"tag":1078,"props":1129,"children":1130},{},[1131],{"type":52,"value":1132},"Alias or model name accepted by the installed CLI; omit to use the configured default",{"type":47,"tag":1056,"props":1134,"children":1135},{},[1136,1145],{"type":47,"tag":1078,"props":1137,"children":1138},{},[1139],{"type":47,"tag":69,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":52,"value":1144},"--effort LEVEL",{"type":47,"tag":1078,"props":1146,"children":1147},{},[1148,1154,1156,1162,1163,1169],{"type":47,"tag":69,"props":1149,"children":1151},{"className":1150},[],[1152],{"type":52,"value":1153},"low",{"type":52,"value":1155},", ",{"type":47,"tag":69,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":52,"value":1161},"medium",{"type":52,"value":1155},{"type":47,"tag":69,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":52,"value":1168},"high",{"type":52,"value":1170}," — controls reasoning depth",{"type":47,"tag":1056,"props":1172,"children":1173},{},[1174,1183],{"type":47,"tag":1078,"props":1175,"children":1176},{},[1177],{"type":47,"tag":69,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":52,"value":1182},"--append-system-prompt \"...\"",{"type":47,"tag":1078,"props":1184,"children":1185},{},[1186],{"type":52,"value":1187},"Inject additional system instructions",{"type":47,"tag":1056,"props":1189,"children":1190},{},[1191,1200],{"type":47,"tag":1078,"props":1192,"children":1193},{},[1194],{"type":47,"tag":69,"props":1195,"children":1197},{"className":1196},[],[1198],{"type":52,"value":1199},"--allowedTools \"Bash Edit Read\"",{"type":47,"tag":1078,"props":1201,"children":1202},{},[1203],{"type":52,"value":1204},"Restrict available tools",{"type":47,"tag":1056,"props":1206,"children":1207},{},[1208,1216],{"type":47,"tag":1078,"props":1209,"children":1210},{},[1211],{"type":47,"tag":69,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":52,"value":394},{"type":47,"tag":1078,"props":1217,"children":1218},{},[1219],{"type":52,"value":1220},"Cap spend for the invocation",{"type":47,"tag":1056,"props":1222,"children":1223},{},[1224,1233],{"type":47,"tag":1078,"props":1225,"children":1226},{},[1227],{"type":47,"tag":69,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":52,"value":1232},"--add-dir DIR",{"type":47,"tag":1078,"props":1234,"children":1235},{},[1236],{"type":52,"value":1237},"Allow access to an additional directory; does not change the working directory",{"type":47,"tag":1056,"props":1239,"children":1240},{},[1241,1250],{"type":47,"tag":1078,"props":1242,"children":1243},{},[1244],{"type":47,"tag":69,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":52,"value":1249},"--output-format json",{"type":47,"tag":1078,"props":1251,"children":1252},{},[1253,1255,1261,1262,1268,1269],{"type":52,"value":1254},"Structured output with ",{"type":47,"tag":69,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":52,"value":1260},"session_id",{"type":52,"value":1155},{"type":47,"tag":69,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":52,"value":1267},"cost_usd",{"type":52,"value":1155},{"type":47,"tag":69,"props":1270,"children":1272},{"className":1271},[],[1273],{"type":52,"value":1274},"duration_ms",{"type":47,"tag":55,"props":1276,"children":1277},{},[1278,1280,1285],{"type":52,"value":1279},"Set Claude Code's working directory with ",{"type":47,"tag":69,"props":1281,"children":1283},{"className":1282},[],[1284],{"type":52,"value":664},{"type":52,"value":1286}," in the Bash command, not with a Claude flag.",{"type":47,"tag":201,"props":1288,"children":1289},{"id":32},[1290],{"type":52,"value":80},{"type":47,"tag":457,"props":1292,"children":1294},{"className":586,"code":1293,"language":588,"meta":465,"style":465},"codex exec \"YOUR PROMPT\" --sandbox workspace-write\n",[1295],{"type":47,"tag":69,"props":1296,"children":1297},{"__ignoreMap":465},[1298],{"type":47,"tag":594,"props":1299,"children":1300},{"class":596,"line":597},[1301,1305,1309,1313,1317,1321,1325],{"type":47,"tag":594,"props":1302,"children":1303},{"style":601},[1304],{"type":52,"value":32},{"type":47,"tag":594,"props":1306,"children":1307},{"style":606},[1308],{"type":52,"value":609},{"type":47,"tag":594,"props":1310,"children":1311},{"style":612},[1312],{"type":52,"value":615},{"type":47,"tag":594,"props":1314,"children":1315},{"style":606},[1316],{"type":52,"value":620},{"type":47,"tag":594,"props":1318,"children":1319},{"style":612},[1320],{"type":52,"value":625},{"type":47,"tag":594,"props":1322,"children":1323},{"style":606},[1324],{"type":52,"value":630},{"type":47,"tag":594,"props":1326,"children":1327},{"style":606},[1328],{"type":52,"value":1329}," workspace-write\n",{"type":47,"tag":1048,"props":1331,"children":1332},{},[1333,1347],{"type":47,"tag":1052,"props":1334,"children":1335},{},[1336],{"type":47,"tag":1056,"props":1337,"children":1338},{},[1339,1343],{"type":47,"tag":1060,"props":1340,"children":1341},{},[1342],{"type":52,"value":1064},{"type":47,"tag":1060,"props":1344,"children":1345},{},[1346],{"type":52,"value":1069},{"type":47,"tag":1071,"props":1348,"children":1349},{},[1350,1366,1383,1400,1417,1434],{"type":47,"tag":1056,"props":1351,"children":1352},{},[1353,1361],{"type":47,"tag":1078,"props":1354,"children":1355},{},[1356],{"type":47,"tag":69,"props":1357,"children":1359},{"className":1358},[],[1360],{"type":52,"value":979},{"type":47,"tag":1078,"props":1362,"children":1363},{},[1364],{"type":52,"value":1365},"Non-interactive mode",{"type":47,"tag":1056,"props":1367,"children":1368},{},[1369,1378],{"type":47,"tag":1078,"props":1370,"children":1371},{},[1372],{"type":47,"tag":69,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":52,"value":1377},"-m MODEL",{"type":47,"tag":1078,"props":1379,"children":1380},{},[1381],{"type":52,"value":1382},"Model accepted by the installed CLI; omit to use the configured default",{"type":47,"tag":1056,"props":1384,"children":1385},{},[1386,1395],{"type":47,"tag":1078,"props":1387,"children":1388},{},[1389],{"type":47,"tag":69,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":52,"value":1394},"--sandbox MODE",{"type":47,"tag":1078,"props":1396,"children":1397},{},[1398],{"type":52,"value":1399},"Select a read-only or writable sandbox",{"type":47,"tag":1056,"props":1401,"children":1402},{},[1403,1412],{"type":47,"tag":1078,"props":1404,"children":1405},{},[1406],{"type":47,"tag":69,"props":1407,"children":1409},{"className":1408},[],[1410],{"type":52,"value":1411},"-C DIR",{"type":47,"tag":1078,"props":1413,"children":1414},{},[1415],{"type":52,"value":1416},"Set working directory",{"type":47,"tag":1056,"props":1418,"children":1419},{},[1420,1429],{"type":47,"tag":1078,"props":1421,"children":1422},{},[1423],{"type":47,"tag":69,"props":1424,"children":1426},{"className":1425},[],[1427],{"type":52,"value":1428},"--search",{"type":47,"tag":1078,"props":1430,"children":1431},{},[1432],{"type":52,"value":1433},"Enable web search tool",{"type":47,"tag":1056,"props":1435,"children":1436},{},[1437,1446],{"type":47,"tag":1078,"props":1438,"children":1439},{},[1440],{"type":47,"tag":69,"props":1441,"children":1443},{"className":1442},[],[1444],{"type":52,"value":1445},"review",{"type":47,"tag":1078,"props":1447,"children":1448},{},[1449,1451,1457,1459],{"type":52,"value":1450},"Native code review — ",{"type":47,"tag":69,"props":1452,"children":1454},{"className":1453},[],[1455],{"type":52,"value":1456},"codex review --uncommitted",{"type":52,"value":1458}," or ",{"type":47,"tag":69,"props":1460,"children":1462},{"className":1461},[],[1463],{"type":52,"value":1464},"codex exec review \"prompt\"",{"type":47,"tag":121,"props":1466,"children":1468},{"id":1467},"session-management",[1469],{"type":52,"value":1470},"Session Management",{"type":47,"tag":55,"props":1472,"children":1473},{},[1474],{"type":52,"value":1475},"Both CLIs persist full session data (tool calls, reasoning, files read) to disk. The Bash output you see is just the final summary — the local session file is much richer.",{"type":47,"tag":201,"props":1477,"children":1479},{"id":1478},"session-storage-paths",[1480],{"type":52,"value":1481},"Session storage paths",{"type":47,"tag":55,"props":1483,"children":1484},{},[1485,1489,1491],{"type":47,"tag":61,"props":1486,"children":1487},{},[1488],{"type":52,"value":342},{"type":52,"value":1490}," ",{"type":47,"tag":69,"props":1492,"children":1494},{"className":1493},[],[1495],{"type":52,"value":1496},"~\u002F.claude\u002Fprojects\u002F\u003Cencoded-path>\u002F\u003Csession-id>.jsonl",{"type":47,"tag":145,"props":1498,"children":1499},{},[1500,1543],{"type":47,"tag":149,"props":1501,"children":1502},{},[1503,1509,1511,1517,1519,1525,1527,1533,1535,1541],{"type":47,"tag":69,"props":1504,"children":1506},{"className":1505},[],[1507],{"type":52,"value":1508},"\u003Cencoded-path>",{"type":52,"value":1510}," = working directory with ",{"type":47,"tag":69,"props":1512,"children":1514},{"className":1513},[],[1515],{"type":52,"value":1516},"\u002F",{"type":52,"value":1518}," replaced by ",{"type":47,"tag":69,"props":1520,"children":1522},{"className":1521},[],[1523],{"type":52,"value":1524},"-",{"type":52,"value":1526}," (e.g. ",{"type":47,"tag":69,"props":1528,"children":1530},{"className":1529},[],[1531],{"type":52,"value":1532},"\u002FUsers\u002Ffoo\u002Frepos\u002Fbar",{"type":52,"value":1534}," becomes ",{"type":47,"tag":69,"props":1536,"children":1538},{"className":1537},[],[1539],{"type":52,"value":1540},"-Users-foo-repos-bar",{"type":52,"value":1542},")",{"type":47,"tag":149,"props":1544,"children":1545},{},[1546,1547,1552,1554,1559],{"type":52,"value":388},{"type":47,"tag":69,"props":1548,"children":1550},{"className":1549},[],[1551],{"type":52,"value":1249},{"type":52,"value":1553}," to get the ",{"type":47,"tag":69,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":52,"value":1260},{"type":52,"value":1560}," in the response",{"type":47,"tag":55,"props":1562,"children":1563},{},[1564,1568,1569],{"type":47,"tag":61,"props":1565,"children":1566},{},[1567],{"type":52,"value":313},{"type":52,"value":1490},{"type":47,"tag":69,"props":1570,"children":1572},{"className":1571},[],[1573],{"type":52,"value":1574},"~\u002F.codex\u002Fsessions\u002F\u003Cyear>\u002F\u003Cmonth>\u002F\u003Cday>\u002Frollout-*-\u003Csession-id>.jsonl",{"type":47,"tag":145,"props":1576,"children":1577},{},[1578,1589],{"type":47,"tag":149,"props":1579,"children":1580},{},[1581,1583],{"type":52,"value":1582},"Session ID is printed in output header: ",{"type":47,"tag":69,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":52,"value":1588},"session id: \u003Cuuid>",{"type":47,"tag":149,"props":1590,"children":1591},{},[1592,1594],{"type":52,"value":1593},"Extract with: ",{"type":47,"tag":69,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":52,"value":1599},"grep \"^session id:\" output | awk '{print $3}'",{"type":47,"tag":201,"props":1601,"children":1603},{"id":1602},"resuming-sessions",[1604],{"type":52,"value":1605},"Resuming sessions",{"type":47,"tag":55,"props":1607,"children":1608},{},[1609],{"type":52,"value":1610},"Use session resumption to continue a line of investigation without re-providing all context:",{"type":47,"tag":55,"props":1612,"children":1613},{},[1614],{"type":47,"tag":61,"props":1615,"children":1616},{},[1617],{"type":52,"value":342},{"type":47,"tag":457,"props":1619,"children":1621},{"className":586,"code":1620,"language":588,"meta":465,"style":465},"claude -r SESSION_ID -p \"Follow up: now check if...\"    # Resume by ID\nclaude -c -p \"Also check...\"                             # Continue most recent\nclaude -r SESSION_ID --fork-session -p \"Try differently\" # Fork (new ID, keeps history)\n",[1622],{"type":47,"tag":69,"props":1623,"children":1624},{"__ignoreMap":465},[1625,1664,1698],{"type":47,"tag":594,"props":1626,"children":1627},{"class":596,"line":597},[1628,1632,1637,1642,1646,1650,1655,1659],{"type":47,"tag":594,"props":1629,"children":1630},{"style":601},[1631],{"type":52,"value":31},{"type":47,"tag":594,"props":1633,"children":1634},{"style":606},[1635],{"type":52,"value":1636}," -r",{"type":47,"tag":594,"props":1638,"children":1639},{"style":606},[1640],{"type":52,"value":1641}," SESSION_ID",{"type":47,"tag":594,"props":1643,"children":1644},{"style":606},[1645],{"type":52,"value":786},{"type":47,"tag":594,"props":1647,"children":1648},{"style":612},[1649],{"type":52,"value":615},{"type":47,"tag":594,"props":1651,"children":1652},{"style":606},[1653],{"type":52,"value":1654},"Follow up: now check if...",{"type":47,"tag":594,"props":1656,"children":1657},{"style":612},[1658],{"type":52,"value":625},{"type":47,"tag":594,"props":1660,"children":1661},{"style":698},[1662],{"type":52,"value":1663},"    # Resume by ID\n",{"type":47,"tag":594,"props":1665,"children":1666},{"class":596,"line":704},[1667,1671,1676,1680,1684,1689,1693],{"type":47,"tag":594,"props":1668,"children":1669},{"style":601},[1670],{"type":52,"value":31},{"type":47,"tag":594,"props":1672,"children":1673},{"style":606},[1674],{"type":52,"value":1675}," -c",{"type":47,"tag":594,"props":1677,"children":1678},{"style":606},[1679],{"type":52,"value":786},{"type":47,"tag":594,"props":1681,"children":1682},{"style":612},[1683],{"type":52,"value":615},{"type":47,"tag":594,"props":1685,"children":1686},{"style":606},[1687],{"type":52,"value":1688},"Also check...",{"type":47,"tag":594,"props":1690,"children":1691},{"style":612},[1692],{"type":52,"value":625},{"type":47,"tag":594,"props":1694,"children":1695},{"style":698},[1696],{"type":52,"value":1697},"                             # Continue most recent\n",{"type":47,"tag":594,"props":1699,"children":1700},{"class":596,"line":727},[1701,1705,1709,1713,1718,1722,1726,1731,1735],{"type":47,"tag":594,"props":1702,"children":1703},{"style":601},[1704],{"type":52,"value":31},{"type":47,"tag":594,"props":1706,"children":1707},{"style":606},[1708],{"type":52,"value":1636},{"type":47,"tag":594,"props":1710,"children":1711},{"style":606},[1712],{"type":52,"value":1641},{"type":47,"tag":594,"props":1714,"children":1715},{"style":606},[1716],{"type":52,"value":1717}," --fork-session",{"type":47,"tag":594,"props":1719,"children":1720},{"style":606},[1721],{"type":52,"value":786},{"type":47,"tag":594,"props":1723,"children":1724},{"style":612},[1725],{"type":52,"value":615},{"type":47,"tag":594,"props":1727,"children":1728},{"style":606},[1729],{"type":52,"value":1730},"Try differently",{"type":47,"tag":594,"props":1732,"children":1733},{"style":612},[1734],{"type":52,"value":625},{"type":47,"tag":594,"props":1736,"children":1737},{"style":698},[1738],{"type":52,"value":1739}," # Fork (new ID, keeps history)\n",{"type":47,"tag":55,"props":1741,"children":1742},{},[1743],{"type":47,"tag":61,"props":1744,"children":1745},{},[1746],{"type":52,"value":313},{"type":47,"tag":457,"props":1748,"children":1750},{"className":586,"code":1749,"language":588,"meta":465,"style":465},"codex exec resume SESSION_ID \"Follow up prompt\"  # Resume by ID (non-interactive)\ncodex exec resume --last \"Follow up prompt\"      # Resume most recent (non-interactive)\ncodex resume SESSION_ID \"Follow up prompt\"       # Resume by ID (interactive)\ncodex resume --last \"Follow up prompt\"           # Resume most recent (interactive)\ncodex fork SESSION_ID \"Try a different approach\" # Fork session (interactive)\n",[1751],{"type":47,"tag":69,"props":1752,"children":1753},{"__ignoreMap":465},[1754,1792,1829,1861,1893],{"type":47,"tag":594,"props":1755,"children":1756},{"class":596,"line":597},[1757,1761,1765,1770,1774,1778,1783,1787],{"type":47,"tag":594,"props":1758,"children":1759},{"style":601},[1760],{"type":52,"value":32},{"type":47,"tag":594,"props":1762,"children":1763},{"style":606},[1764],{"type":52,"value":609},{"type":47,"tag":594,"props":1766,"children":1767},{"style":606},[1768],{"type":52,"value":1769}," resume",{"type":47,"tag":594,"props":1771,"children":1772},{"style":606},[1773],{"type":52,"value":1641},{"type":47,"tag":594,"props":1775,"children":1776},{"style":612},[1777],{"type":52,"value":615},{"type":47,"tag":594,"props":1779,"children":1780},{"style":606},[1781],{"type":52,"value":1782},"Follow up prompt",{"type":47,"tag":594,"props":1784,"children":1785},{"style":612},[1786],{"type":52,"value":625},{"type":47,"tag":594,"props":1788,"children":1789},{"style":698},[1790],{"type":52,"value":1791},"  # Resume by ID (non-interactive)\n",{"type":47,"tag":594,"props":1793,"children":1794},{"class":596,"line":704},[1795,1799,1803,1807,1812,1816,1820,1824],{"type":47,"tag":594,"props":1796,"children":1797},{"style":601},[1798],{"type":52,"value":32},{"type":47,"tag":594,"props":1800,"children":1801},{"style":606},[1802],{"type":52,"value":609},{"type":47,"tag":594,"props":1804,"children":1805},{"style":606},[1806],{"type":52,"value":1769},{"type":47,"tag":594,"props":1808,"children":1809},{"style":606},[1810],{"type":52,"value":1811}," --last",{"type":47,"tag":594,"props":1813,"children":1814},{"style":612},[1815],{"type":52,"value":615},{"type":47,"tag":594,"props":1817,"children":1818},{"style":606},[1819],{"type":52,"value":1782},{"type":47,"tag":594,"props":1821,"children":1822},{"style":612},[1823],{"type":52,"value":625},{"type":47,"tag":594,"props":1825,"children":1826},{"style":698},[1827],{"type":52,"value":1828},"      # Resume most recent (non-interactive)\n",{"type":47,"tag":594,"props":1830,"children":1831},{"class":596,"line":727},[1832,1836,1840,1844,1848,1852,1856],{"type":47,"tag":594,"props":1833,"children":1834},{"style":601},[1835],{"type":52,"value":32},{"type":47,"tag":594,"props":1837,"children":1838},{"style":606},[1839],{"type":52,"value":1769},{"type":47,"tag":594,"props":1841,"children":1842},{"style":606},[1843],{"type":52,"value":1641},{"type":47,"tag":594,"props":1845,"children":1846},{"style":612},[1847],{"type":52,"value":615},{"type":47,"tag":594,"props":1849,"children":1850},{"style":606},[1851],{"type":52,"value":1782},{"type":47,"tag":594,"props":1853,"children":1854},{"style":612},[1855],{"type":52,"value":625},{"type":47,"tag":594,"props":1857,"children":1858},{"style":698},[1859],{"type":52,"value":1860},"       # Resume by ID (interactive)\n",{"type":47,"tag":594,"props":1862,"children":1863},{"class":596,"line":757},[1864,1868,1872,1876,1880,1884,1888],{"type":47,"tag":594,"props":1865,"children":1866},{"style":601},[1867],{"type":52,"value":32},{"type":47,"tag":594,"props":1869,"children":1870},{"style":606},[1871],{"type":52,"value":1769},{"type":47,"tag":594,"props":1873,"children":1874},{"style":606},[1875],{"type":52,"value":1811},{"type":47,"tag":594,"props":1877,"children":1878},{"style":612},[1879],{"type":52,"value":615},{"type":47,"tag":594,"props":1881,"children":1882},{"style":606},[1883],{"type":52,"value":1782},{"type":47,"tag":594,"props":1885,"children":1886},{"style":612},[1887],{"type":52,"value":625},{"type":47,"tag":594,"props":1889,"children":1890},{"style":698},[1891],{"type":52,"value":1892},"           # Resume most recent (interactive)\n",{"type":47,"tag":594,"props":1894,"children":1895},{"class":596,"line":767},[1896,1900,1905,1909,1913,1918,1922],{"type":47,"tag":594,"props":1897,"children":1898},{"style":601},[1899],{"type":52,"value":32},{"type":47,"tag":594,"props":1901,"children":1902},{"style":606},[1903],{"type":52,"value":1904}," fork",{"type":47,"tag":594,"props":1906,"children":1907},{"style":606},[1908],{"type":52,"value":1641},{"type":47,"tag":594,"props":1910,"children":1911},{"style":612},[1912],{"type":52,"value":615},{"type":47,"tag":594,"props":1914,"children":1915},{"style":606},[1916],{"type":52,"value":1917},"Try a different approach",{"type":47,"tag":594,"props":1919,"children":1920},{"style":612},[1921],{"type":52,"value":625},{"type":47,"tag":594,"props":1923,"children":1924},{"style":698},[1925],{"type":52,"value":1926}," # Fork session (interactive)\n",{"type":47,"tag":55,"props":1928,"children":1929},{},[1930,1932,1938,1940,1946,1948,1954],{"type":52,"value":1931},"Note: ",{"type":47,"tag":69,"props":1933,"children":1935},{"className":1934},[],[1936],{"type":52,"value":1937},"codex exec resume",{"type":52,"value":1939}," works non-interactively. ",{"type":47,"tag":69,"props":1941,"children":1943},{"className":1942},[],[1944],{"type":52,"value":1945},"codex resume",{"type":52,"value":1947}," and ",{"type":47,"tag":69,"props":1949,"children":1951},{"className":1950},[],[1952],{"type":52,"value":1953},"codex fork",{"type":52,"value":1955}," are interactive only.",{"type":47,"tag":201,"props":1957,"children":1959},{"id":1958},"when-to-analyze-past-sessions",[1960],{"type":52,"value":1961},"When to analyze past sessions",{"type":47,"tag":55,"props":1963,"children":1964},{},[1965,1970,1972,1978],{"type":47,"tag":61,"props":1966,"children":1967},{},[1968],{"type":52,"value":1969},"Don't",{"type":52,"value":1971}," run ",{"type":47,"tag":69,"props":1973,"children":1975},{"className":1974},[],[1976],{"type":52,"value":1977},"history-analyzer",{"type":52,"value":1979}," after every dispatch — your reflection agent already captures insights naturally, and single-session analysis produces overly detailed notes.",{"type":47,"tag":55,"props":1981,"children":1982},{},[1983,1988,1990,1995,1997,2002,2004,2010,2012,2018],{"type":47,"tag":61,"props":1984,"children":1985},{},[1986],{"type":52,"value":1987},"Do",{"type":52,"value":1989}," use ",{"type":47,"tag":69,"props":1991,"children":1993},{"className":1992},[],[1994],{"type":52,"value":1977},{"type":52,"value":1996}," for ",{"type":47,"tag":61,"props":1998,"children":1999},{},[2000],{"type":52,"value":2001},"bulk migration",{"type":52,"value":2003}," when bootstrapping memory from months of accumulated history (e.g. during ",{"type":47,"tag":69,"props":2005,"children":2007},{"className":2006},[],[2008],{"type":52,"value":2009},"\u002Finit",{"type":52,"value":2011},"). See the ",{"type":47,"tag":69,"props":2013,"children":2015},{"className":2014},[],[2016],{"type":52,"value":2017},"initializing-memory",{"type":52,"value":2019}," skill's historical session analysis reference.",{"type":47,"tag":55,"props":2021,"children":2022},{},[2023],{"type":52,"value":2024},"Direct uses for session files:",{"type":47,"tag":145,"props":2026,"children":2027},{},[2028,2038,2048],{"type":47,"tag":149,"props":2029,"children":2030},{},[2031,2036],{"type":47,"tag":61,"props":2032,"children":2033},{},[2034],{"type":52,"value":2035},"Resume",{"type":52,"value":2037}," an investigation (see above)",{"type":47,"tag":149,"props":2039,"children":2040},{},[2041,2046],{"type":47,"tag":61,"props":2042,"children":2043},{},[2044],{"type":52,"value":2045},"Review",{"type":52,"value":2047}," what an agent actually did (read the JSONL file directly)",{"type":47,"tag":149,"props":2049,"children":2050},{},[2051,2056],{"type":47,"tag":61,"props":2052,"children":2053},{},[2054],{"type":52,"value":2055},"Bulk migration",{"type":52,"value":2057}," when setting up a new agent",{"type":47,"tag":121,"props":2059,"children":2061},{"id":2060},"timeouts",[2062],{"type":52,"value":2063},"Timeouts",{"type":47,"tag":55,"props":2065,"children":2066},{},[2067],{"type":52,"value":2068},"Set Bash timeouts appropriate to the task:",{"type":47,"tag":145,"props":2070,"children":2071},{},[2072,2085,2098],{"type":47,"tag":149,"props":2073,"children":2074},{},[2075,2077,2083],{"type":52,"value":2076},"Quick checks \u002F reviews: ",{"type":47,"tag":69,"props":2078,"children":2080},{"className":2079},[],[2081],{"type":52,"value":2082},"timeout: 120000",{"type":52,"value":2084}," (2 min)",{"type":47,"tag":149,"props":2086,"children":2087},{},[2088,2090,2096],{"type":52,"value":2089},"Research \u002F analysis: ",{"type":47,"tag":69,"props":2091,"children":2093},{"className":2092},[],[2094],{"type":52,"value":2095},"timeout: 300000",{"type":52,"value":2097}," (5 min)",{"type":47,"tag":149,"props":2099,"children":2100},{},[2101,2103,2109],{"type":52,"value":2102},"Implementation: ",{"type":47,"tag":69,"props":2104,"children":2106},{"className":2105},[],[2107],{"type":52,"value":2108},"timeout: 600000",{"type":52,"value":2110}," (10 min)",{"type":47,"tag":2112,"props":2113,"children":2114},"style",{},[2115],{"type":52,"value":2116},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2118,"total":2267},[2119,2133,2148,2160,2170,2184,2196,2207,2213,2229,2240,2252],{"slug":2120,"name":2120,"fn":2121,"description":2122,"org":2123,"tags":2124,"stars":23,"repoUrl":24,"updatedAt":2132},"acquiring-skills","discover and install agent skills","Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a capability you don't already have — image generation, social media, email, calendar, finance, DevOps, search, browser automation, etc.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2125,2126,2129],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},"Automation","automation",{"name":2130,"slug":2131,"type":16},"GitHub","github","2026-07-13T06:22:58.45767",{"slug":2134,"name":2135,"fn":2136,"description":2137,"org":2138,"tags":2139,"stars":23,"repoUrl":24,"updatedAt":2147},"context-doctor","Context Doctor","repair system prompt and memory degradation","Identify and repair degradation in system prompt, external memory, and skills preventing you from following instructions or remembering information as well as you should.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2140,2141,2144],{"name":18,"slug":19,"type":16},{"name":2142,"slug":2143,"type":16},"AI Context","ai-context",{"name":2145,"slug":2146,"type":16},"Debugging","debugging","2026-07-13T06:22:50.151002",{"slug":2149,"name":2149,"fn":2150,"description":2151,"org":2152,"tags":2153,"stars":23,"repoUrl":24,"updatedAt":2159},"converting-mcps-to-skills","connect MCP servers to create skills","Connect to MCP (Model Context Protocol) servers and create skills for repeated use. Load when a user wants to use an MCP server, connect to external tools via MCP, or when they mention MCP, model context protocol, or specific MCP servers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2154,2155,2156],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":2157,"slug":2158,"type":16},"MCP","mcp","2026-07-13T06:23:37.646079",{"slug":2161,"name":2161,"fn":2162,"description":2163,"org":2164,"tags":2165,"stars":23,"repoUrl":24,"updatedAt":2169},"creating-mods","create and edit Letta Code mods","Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle\u002Fturn events, scoped conversation helpers, panels, and capability-gated behavior. Use when asked to make a mod, add an agent-callable tool, add a slash command, add a local provider\u002Fmodel adapter, transform turns, react to app events, or add lightweight mod UI outside the dedicated \u002Fstatusline flow.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2166,2167,2168],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":14,"slug":15,"type":16},"2026-07-23T05:42:38.133565",{"slug":2171,"name":2171,"fn":2172,"description":2173,"org":2174,"tags":2175,"stars":23,"repoUrl":24,"updatedAt":2183},"creating-skills","create and update agent skills","Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2176,2177,2180],{"name":18,"slug":19,"type":16},{"name":2178,"slug":2179,"type":16},"Documentation","documentation",{"name":2181,"slug":2182,"type":16},"Plugin Development","plugin-development","2026-07-13T06:22:56.998659",{"slug":2185,"name":2185,"fn":2186,"description":2187,"org":2188,"tags":2189,"stars":23,"repoUrl":24,"updatedAt":2195},"customizing-commands","create and manage Letta slash commands","Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom \u002Fcommand, slash command, command shortcut, scoped conversation-backed command, or command-driven panel behavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2190,2191,2192],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":2193,"slug":2194,"type":16},"CLI","cli","2026-07-13T06:23:18.266798",{"slug":2197,"name":2197,"fn":2198,"description":2199,"org":2200,"tags":2201,"stars":23,"repoUrl":24,"updatedAt":2206},"customizing-statusline","customize Letta Code statusline mods","Creates, edits, and migrates Letta Code statusline mods. Use when handling the \u002Fstatusline command or continuing work started by \u002Fstatusline.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2202,2203],{"name":2193,"slug":2194,"type":16},{"name":2204,"slug":2205,"type":16},"Engineering","engineering","2026-07-13T06:23:27.465985",{"slug":4,"name":4,"fn":5,"description":6,"org":2208,"tags":2209,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2210,2211,2212],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":21,"slug":22,"type":16},{"slug":2214,"name":2214,"fn":2215,"description":2216,"org":2217,"tags":2218,"stars":23,"repoUrl":24,"updatedAt":2228},"editing-letta-code-desktop-preferences","edit Letta Code Desktop preferences","Edits Letta Code Desktop (LCD) preferences by safely reading and updating ~\u002F.letta\u002Fdesktop_preferences.json. Use only when the user asks to change current Desktop\u002FLCD settings such as theme, default working directory, remote access preference, or remote environment name via the preferences JSON.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2219,2222,2225],{"name":2220,"slug":2221,"type":16},"Configuration","configuration",{"name":2223,"slug":2224,"type":16},"Desktop","desktop",{"name":2226,"slug":2227,"type":16},"Themes","themes","2026-07-13T06:23:41.407811",{"slug":2230,"name":2230,"fn":2231,"description":2232,"org":2233,"tags":2234,"stars":23,"repoUrl":24,"updatedAt":2239},"finding-agents","locate and manage agents on server","Find other agents on the same server. Use when the user asks about other agents, wants to migrate memory from another agent, or needs to find an agent by name or tags.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2235,2236],{"name":18,"slug":19,"type":16},{"name":2237,"slug":2238,"type":16},"Management","management","2026-07-16T06:02:17.297841",{"slug":2241,"name":2241,"fn":2242,"description":2243,"org":2244,"tags":2245,"stars":23,"repoUrl":24,"updatedAt":2251},"generating-mod-envs","generate Letta mod learning environments","Generates and reviews mod learning env JSON files for Letta Code local mods. Use when asked to teach, learn, or optimize a mod behavior; create, draft, validate, improve, or explain envs for `\u002Fmods learn --env`; or design evaluation scenarios, memory fixtures, requiredResultMarkers, requiredTraceMarkers, negative controls, and candidate diversity hints.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2246,2247,2250],{"name":18,"slug":19,"type":16},{"name":2248,"slug":2249,"type":16},"AI Infrastructure","ai-infrastructure",{"name":2220,"slug":2221,"type":16},"2026-07-13T06:23:08.838181",{"slug":2253,"name":2253,"fn":2254,"description":2255,"org":2256,"tags":2257,"stars":23,"repoUrl":24,"updatedAt":2266},"image-generation","generate images from text prompts","Generate images from text prompts (and optionally edit\u002Fremix input images). Use when the user asks to create, generate, draw, render, or edit an image, illustration, logo, icon, diagram, or photo.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2258,2261,2264],{"name":2259,"slug":2260,"type":16},"Creative","creative",{"name":2262,"slug":2263,"type":16},"Graphics","graphics",{"name":2265,"slug":2253,"type":16},"Image Generation","2026-07-13T06:23:06.189403",69,{"items":2269,"total":2311},[2270,2276,2282,2288,2294,2300,2306],{"slug":2120,"name":2120,"fn":2121,"description":2122,"org":2271,"tags":2272,"stars":23,"repoUrl":24,"updatedAt":2132},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2273,2274,2275],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":2130,"slug":2131,"type":16},{"slug":2134,"name":2135,"fn":2136,"description":2137,"org":2277,"tags":2278,"stars":23,"repoUrl":24,"updatedAt":2147},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2279,2280,2281],{"name":18,"slug":19,"type":16},{"name":2142,"slug":2143,"type":16},{"name":2145,"slug":2146,"type":16},{"slug":2149,"name":2149,"fn":2150,"description":2151,"org":2283,"tags":2284,"stars":23,"repoUrl":24,"updatedAt":2159},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2285,2286,2287],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":2157,"slug":2158,"type":16},{"slug":2161,"name":2161,"fn":2162,"description":2163,"org":2289,"tags":2290,"stars":23,"repoUrl":24,"updatedAt":2169},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2291,2292,2293],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":14,"slug":15,"type":16},{"slug":2171,"name":2171,"fn":2172,"description":2173,"org":2295,"tags":2296,"stars":23,"repoUrl":24,"updatedAt":2183},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2297,2298,2299],{"name":18,"slug":19,"type":16},{"name":2178,"slug":2179,"type":16},{"name":2181,"slug":2182,"type":16},{"slug":2185,"name":2185,"fn":2186,"description":2187,"org":2301,"tags":2302,"stars":23,"repoUrl":24,"updatedAt":2195},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2303,2304,2305],{"name":18,"slug":19,"type":16},{"name":2127,"slug":2128,"type":16},{"name":2193,"slug":2194,"type":16},{"slug":2197,"name":2197,"fn":2198,"description":2199,"org":2307,"tags":2308,"stars":23,"repoUrl":24,"updatedAt":2206},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2309,2310],{"name":2193,"slug":2194,"type":16},{"name":2204,"slug":2205,"type":16},19]