Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Official-source-led manual for the TUI `codex` template.
.claude/skills/lingtai-ai-preset-skill-codex/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 7% | 0% |
codexcodexPreset() in tui/internal/preset/preset.go uses provider codex, model gpt-5.6-sol, the Codex endpoint https://chatgpt.com/backend-api/codex, and ChatGPT OAuth rather than an API key env-var. The manifest exposes provider-native vision and web search.
The editor's model row ships the latest two GPT-5.x generations only: gpt-5.6-sol (the default), gpt-5.6-terra, gpt-5.6-luna — three named routes of the one 5.6 generation — and gpt-5.5. Per the TUI's model-curation rule (tui/CONTRACT.md) the older gpt-5.4, gpt-5.4-mini, gpt-5.3-codex, and gpt-5.2 ids are no longer offered. A saved preset already pinned to one of them keeps working — the TUI never rewrites presets/saved/ — it simply is not reachable from the picker any more.
Exact image support can depend on the current model/account; verify it rather than treating this manual as a promise.
Read the official Codex authentication and Codex models pages on demand. No separate Codex vision MCP is established. If the native route fails, report the failure and use this manual for discovery; do not fall back to a generic OpenAI key, switch providers, or auto-load/invoke an MCP. Recheck the TUI preset source for model and capability changes. Never inspect, print, or reproduce OAuth token contents.
For base URL/API-compat/model/capability declaration shape versus credentials, see reference/operations/endpoint-capabilities/SKILL.md. See also reference/codex-pool/SKILL.md for the pooled multi-account variant.
To check live OAuth quota/rate-limit state for this account, query the app-server directly: complete initialize, then send the account/rateLimits/read request (its params are structurally null — no request body), and read the GetAccountRateLimitsResponse (usedPercent/windowDurationMins/resetsAt per window, plan/credits fields). Optionally also watch the sparse account/rateLimits/updated notification as a rolling supplement, never a substitute for the read. Full field-by-field routing, the official-272K-vs-measured-372K distinction, and secret-safety rules live in reference/operations/endpoint-capabilities/SKILL.md — do not restate or re-derive that evidence here.
Other measured skills in the registry, with their headline benchmark lift.