Regression: Codex over-invokes skills for simple, unrelated requests
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Description
Since the latest update, Codex appears to invoke skills too aggressively, even when the current request does not require them.
This increases execution time substantially, adds irrelevant instructions to the context, and does not improve output quality.
Example
I have an explain-component skill intended for explicit requests to explain a system, vertical, or component.
A Codex agent completed a simple code change. I then asked a narrow follow-up question about one field. Instead of answering from the code and current context, Codex invoked the explain-component skill and executed its broader workflow.
The presence of a related word or code entity appears sufficient to trigger a skill, even when the request does not match the skill’s intended operation.
Expected behavior
Codex should invoke a skill only when its workflow is materially required to complete the current request.
A narrow question about a field should be answered directly from the available code and context. A component-explanation skill should activate only when the user requests an actual component, system, or vertical explanation.
Skill selection should prioritize the intent of the current request over keyword or entity overlap.
Actual behavior
Codex invokes loosely related skills for simple requests, causing:
- unnecessary tool calls and instruction loading;
- significantly longer execution time;
- broader work than requested;
- additional context that can reduce focus;
- no observable improvement in answer quality.
Suggested correction
Introduce a stronger necessity threshold for implicit skill invocation:
- Do not invoke a skill when the request can be completed directly from the current context.
- Match the requested operation, not merely the subject or entity mentioned.
- Respect the skill description’s scope and exclusions.
- Treat narrow follow-up questions as local requests unless the user explicitly asks for a broader workflow.
- Prefer no skill when invoking one would not materially change the result.
This appears to be a regression in skill routing rather than a problem with the individual skill.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported follow-up question with the explain-component skill and trace the skill-routing path that decides whether to invoke it. Done means narrow requests use the current context without unnecessary skill loading, while explicit component or system explanations still activate the appropriate workflow; add or update regression coverage for both cases if the routing area has tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- ai-infra-agents, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100