Allow local overrides for skill implicit-invocation policy

Open 💬 0 comments Opened Jul 31, 2026 by mtibben

What variant of Codex are you using?

codex-cli 0.146.0

What feature would you like to see?

Skills currently define whether they may be invoked automatically in
agents/openai.yaml:

policy:
  allow_implicit_invocation: false

This works well as a repository or skill-author default, but users cannot
override that policy locally without modifying the tracked openai.yaml file.

We want to ship a large collection of skills with implicit invocation disabled
by default while allowing individual users to opt selected skills into implicit
invocation. Different users work in different areas, so the appropriate
implicit skill set is personal rather than repository-wide.

Editing agents/openai.yaml locally has several drawbacks:

  • It makes tracked repositories dirty.
  • Local preferences can be committed accidentally.
  • Upstream metadata changes can conflict with local policy changes.
  • .gitignore cannot suppress modifications to files already tracked.

Codex already supports per-skill local configuration through
[[skills.config]]. Could this configuration support an optional
implicit-invocation override?

For example:

# ~/.codex/config.toml

[[skills.config]]
path = "/absolute/path/to/skill/SKILL.md"
allow_implicit_invocation = true

Suggested precedence:

  1. A local skills.config.allow_implicit_invocation override, when present.
  2. The default from agents/openai.yaml.
  3. The existing product default when neither is specified.

This should remain separate from the existing enabled setting:

[[skills.config]]
path = "/absolute/path/to/skill/SKILL.md"
enabled = false

enabled = false disables the skill entirely. By contrast,
allow_implicit_invocation = false should prevent automatic selection while
preserving explicit $skill-name invocation.

This would let repositories publish conservative defaults while allowing each
user to customize implicit skill selection without modifying repository files.

Additional information

_No response_

View original on GitHub ↗