Local skills under ~/.codex/skills are not injected into runtime "Available skills"

Resolved 💬 5 comments Opened Mar 19, 2026 by xhugoliu Closed Mar 19, 2026

What version of the IDE extension are you using?

26.313.41514

What subscription do you have?

plus

Which IDE are you using?

VS Code

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Local custom skills stored under ~/.codex/skills do not appear in the runtime "Available skills" list inside Codex sessions.

I can create valid local skills with SKILL.md and agents/openai.yaml, and VS Code can open those files normally, but new Codex threads still only expose built-in .system skills.

Even when I explicitly reference a local skill, for example:
[$example-skill](<HOME>/.codex/skills/example-skill/SKILL.md)

the session behaves as if the skill is not available in the current session.

What steps can reproduce the bug?

  1. Create a local skill at ~/.codex/skills/example-skill/
  2. Add a valid SKILL.md
  3. Add a valid agents/openai.yaml
  4. Fully restart VS Code
  5. Open any workspace
  6. Start a brand new Codex thread
  7. Explicitly reference the local skill, for example:

[$example-skill](<HOME>/.codex/skills/example-skill/SKILL.md)

I can reproduce the same issue with both of these locations:

  • ~/.codex/skills/example-skill
  • ~/.codex/skills/private/example-skill

What is the expected behavior?

The local skill should appear in the runtime "Available skills" list and be usable for explicit invocation in the session.

Additional information

This looks like a discovery/runtime injection issue rather than a problem with the individual skill files.

Notes:

  • The skill files exist on disk and have valid structure.
  • VS Code can open and index them as normal files.
  • Restarting VS Code after creating the skill does not fix it.
  • The issue reproduces for both root-level and private local skills under ~/.codex/skills.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗