$skill explicit invocation ignores local explicit-only skills absent from implicit skill list
What version of Codex CLI is running?
codex-cli 0.131.0
What subscription do you have?
ChatGPT auth PRO
Which model were you using?
gpt-5.5
What platform is your computer?
Linux 7.0.3-arch1-2 x86_64 unknown
What terminal emulator and version are you using (if applicable)?
Konsole 26.04.1, tmux 3.6a
Codex doctor report
{
"overallStatus": "ok",
"codexVersion": "0.131.0",
"auth": "ChatGPT auth",
"model": "gpt-5.5",
"platform": "linux-x86_64",
"terminal": "Konsole 26.04.1",
"multiplexer": "tmux 3.6a",
"installMethod": "npm",
"note": "Full doctor output contained local absolute paths and was redacted for public issue."
}
What issue are you seeing?
After the dumbing down of the underlying GPT-5.5 models recently. Stuff like this is preventing the agent from resolving skills marked with:
policy:
allow_implicit_invocation: false
Tried with different kinds of reasoning. Was not a problem before.
Should we wait for 5.6 or is it worth addressing?
---
Explicit $skill invocation failed for a local explicit-only skill.
The user invoked:
$act-learn-action
The skill existed at:
.codex/skills/act-learn-action/SKILL.md
Codex did not load it because the skill was absent from the model-visible implicit “Available skills” list. The assistant treated that list as exhaustive and said the named skill was unavailable.
That is incorrect. Explicit-only skills are intentionally not advertised for implicit routing, but $skill should still resolve them.
What steps can reproduce the bug?
- Install an explicit-only skill under:
.codex/skills/act-learn-action/SKILL.md
- Start a Codex session where that skill is not listed in the implicit “Available skills” block.
- Ask Codex:
$act-learn-action update the relevant workflow so this correction is learned
- Observe that Codex reports the skill unavailable instead of loading the local skill.
What is the expected behavior?
When the user explicitly writes $act-learn-action, Codex should resolve that exact skill name from local configured
skill roots such as .codex/skills.
Explicit-only skills should remain excluded from implicit skill matching, but $skill invocation should be reliable
and should not depend on the implicit “Available skills” list.
Additional information
This appears related to #19695, but this report is specifically about the $skill explicit invocation path.
The key bug is treating the implicit advertised skill list as exhaustive even when the user explicitly invokes a skill
by name.
Chat log:
Me:
$act-learn-action need to update the intake skill or workflows to fix this bullshit
It:
The named $act-learn-action skill is not available in this session, so I’ll use the repo’s create-skill workflow and patch the source skill/workflow files directly. The failure was in approval-artifact selection, so I’m going to find where that workflow is authored and add hard ordering/validation rules there, then rebuild/verify if the repo supports it.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗