Support skill-scoped temporary model and reasoning effort overrides

Resolved 💬 6 comments Opened May 15, 2026 by cowwoc Closed May 15, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

What feature would you like to see?

Please add a way for a Codex skill to temporarily override the model and/or reasoning effort used while executing that skill, without changing the model/effort for the rest of the user's main-agent interaction.

A possible shape would be skill frontmatter or skill config metadata such as:

---
name: help
model: gpt-5.3-codex
reasoning_effort: low
# or: reasoning_effort: none
---

or a config-based equivalent:

[[skills.config]]
name = "cat:help"
model = "gpt-5.3-codex"
reasoning_effort = "low"

The intended behavior is scoped and temporary:

  1. User is in a main Codex session using their preferred model/effort, for example gpt-5.5 with xhigh.
  2. User invokes a simple/static skill, for example $cat:help.
  3. Codex executes just that skill's response generation at a cheaper/faster model or effort.
  4. After the skill response is produced, the main session returns to the original model/effort automatically.

Why this matters

Some skills produce simple or static output. For example, a help skill may only need to render a deterministic block of terminal text. Running that through the same high-effort model setting used for planning, debugging, or implementation work adds latency and cost without improving output quality.

In a local experiment with a static $cat:help response, the current inline skill path using gpt-5.3-codex at low took around 40 seconds per first response. Flattening the skill body to avoid extra loading reduced that to about 26 seconds, which helps, but the underlying issue remains: the user must choose one reasoning effort for the whole main agent, even when a skill's work is much simpler than the rest of the session.

Temporarily lowering effort for a simple/static skill would let users keep high effort for the main conversation while avoiding unnecessary cost and latency for predictable skill output.

Expected behavior

Codex should allow skill authors or users to declare a skill-scoped model/effort override, and should apply it only while that skill is executing.

Important constraints:

  • The override should be opt-in per skill, not global.
  • It should not permanently mutate the main session's model or effort.
  • The user should be able to inspect or disable these overrides in config.
  • The UI/status/debug output should make the temporary override visible enough to avoid confusion.
  • If a requested skill-scoped effort is unsupported by the active model/provider/tools, Codex should fail clearly or fall back according to a documented policy.

Alternatives considered

  • Start the whole session with lower effort: not acceptable when the rest of the user's work needs higher reasoning.
  • Have the skill launch a nested codex exec with its own effort: works in principle, but adds tool/handoff overhead, complicates sandboxing, and is often slower for simple output.
  • Use subagents with different model settings: useful for delegated work, but overkill for simple/static skill rendering and not the same as temporarily changing the main skill execution context.
  • Optimize skill instructions only: helpful, but does not solve the broader mismatch between high-effort main-agent work and low-effort/static skill output.

Related issues

This is related to, but narrower than, subagent model/effort configuration requests such as #11795 and #11701. Those focus on separate agents. This request is specifically about a skill-scoped temporary override for the active main-agent interaction.

View original on GitHub ↗

6 Comments

etraut-openai contributor · 2 months ago

Skills are invoked within the context of a thread and can be (and often are) composed with other skills. For that reason, it doesn't make sense for skills to be tied to models or reasoning efforts. They need to work within the context of the current model and reasoning effort.

cowwoc · 2 months ago

@etraut-openai I understand, but consider that there is an existing precedent (Claude Code supports it).

At the end of the day, there is no good way to get codex to render specific output fast. I would love to have the Codex invoke a CLI and render its output verbatim without involving the model at all. Is this a more reasonable ask?

I'm open to any alternative suggestions you might have.

etraut-openai contributor · 2 months ago

The first idea that comes to mind is a subagent. You can ask the model to spawn a subagent to execute a prompt (using a different model and reasoning effort, if you'd like). It will report the answer back to the main thread.

cowwoc · 2 months ago

@etraut-openai

I just tried the subagent approach and it was slower than the main agent invoking the skill directly with the higher-end model and effort.

We're looking at ~35 seconds to echo 37 lines of text.

Is it possible to open a feature request specific to this kind of scenario (ability to have codex echo a response returned by a CLI without involving the model)?

PaulRBerg · 1 month ago

I would also like to see this reconsidered.

One practical precedent: Claude Code supports this at the skill level via an effort YAML frontmatter field. That makes it possible for a skill author to say, "this workflow usually needs medium/high reasoning," without requiring the user to remember to switch the whole session before invoking it.

Subagents feel like a clumsy workaround for this use case. They can help inside Codex, but they don't scale cleanly across different AI agent harnesses. Skills are the portable abstraction here: the same skill can move between compatible harnesses, while a Codex-specific subagent setup is harder to reuse and harder to encode as part of the skill itself.

The part I care about is not necessarily pinning a model forever. It's having a skill-scoped way to express the expected reasoning effort, so high-stakes skills like commit/review/release workflows can ask for more careful handling while simpler skills can stay cheap and fast.

altern8tif · 7 days ago

Adding a user perspective to this request: skills should be able to declare a temporary, scoped model and reasoning-effort profile for their own execution, while preserving the parent session settings. The same capability would be especially useful for skill-triggered validation and for skills that orchestrate subagents with task-appropriate model/effort choices.

Suggested shape:

model: gpt-5.2-codex
reasoning_effort: high
fallback:
  model: gpt-5.1
  reasoning_effort: medium

Important constraints: opt-in per skill; no permanent mutation of the main session; visible in UI/status; user-configurable/disableable; clear fallback behavior when unsupported. This would make skills more cost- and latency-aware without requiring a nested codex invocation.