with one click
ultrathink
// Run deep plan-first analysis. Use when the user explicitly asks for ultrathink (for example, "plan this first with ultrathink").
// Run deep plan-first analysis. Use when the user explicitly asks for ultrathink (for example, "plan this first with ultrathink").
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | ultrathink |
| description | Run deep plan-first analysis. Use when the user explicitly asks for ultrathink (for example, "plan this first with ultrathink"). |
Use this skill to generate high-depth planning outputs, always enforce the planning posture: plan first, surface big forks early, compare tradeoffs, then recommend a path.
scripts/run_ultrathink.sh to submit a background response with priority tier.rg findings, relevant files, current errors.Do not use a static query string. Construct the request dynamically from the current turn:
Recommended structure for the assembled query text:
User requestCodebase contextWeb context (with sources/dates if used)ConstraintsTask to model: plan first and surface big forks earlyUse the helper script. It reads OPENAI_API_KEY from the shell environment.
Dependencies: curl, jq, bash.
Recommended: write artifacts into the current working directory (repo/project) so results are durable and parallel-safe:
cat /tmp/ultrathink_query.md | bash /Users/andrewg/.codex/skills/ultrathink/scripts/run_ultrathink.sh \
--query-stdin \
--cwd-artifacts \
--run-label "maintainability"
Tip: --repo-artifacts writes under <git_root>/.codex/ultrathink (useful if you want one shared location for a whole repo).
Artifacts include:
assembled_input.txt, instructions.txt, payload.jsonresponse.json, response_initial.json, response_id.txtoutput.mdIf you don’t want artifacts committed, add .codex/ultrathink/ to your repo’s .gitignore.
bash /Users/andrewg/.codex/skills/ultrathink/scripts/run_ultrathink.sh \
--query-file /tmp/ultrathink_query.md \
--context-text "Constraint: zero downtime." \
--context-file /tmp/codebase-notes.md
Or pipe the dynamically assembled query directly:
cat /tmp/ultrathink_query.md | bash /Users/andrewg/.codex/skills/ultrathink/scripts/run_ultrathink.sh \
--query-stdin \
--context-file /tmp/codebase-notes.md
Defaults:
model=gpt-5.4-proservice_tier=prioritybackground=true7200 secondsDebugging / local-only:
--assemble-only builds prompt/payload and exits without calling the API (no OPENAI_API_KEY needed).--show-payload prints the JSON request payload sent to the API.Submit only and return response id:
bash /Users/andrewg/.codex/skills/ultrathink/scripts/run_ultrathink.sh \
--query-file /tmp/ultrathink_query.md \
--submit-only
Resume polling later:
bash /Users/andrewg/.codex/skills/ultrathink/scripts/run_ultrathink.sh \
--resume-response-id resp_123
When presenting results back to the user, keep this shape:
If the background response is still running, return the response id and status, then provide the exact resume command.
service_tier in the final response.