Add per-skill control over the skill catalog budget
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What variant of Codex are you using?
App and CLI
What feature would you like to see?
By default, Codex allocates up to 2% of the context window to the skill catalog, with a configurable overall budget. When the catalog exceeds that budget, descriptions are shortened and, eventually, some skills are omitted. The allocation algorithm has no user-provided signal for which skills matter most in a given setup.
For users with many skills, installing another useful capability can therefore shorten the descriptions of existing, more important skills. Those descriptions contain the information the model needs to decide when to use them.
Users should be able to choose:
- Pinned description: prioritize preserving the full catalog description of selected skills.
- Name-only: expose the name and a reference for loading the skill, without its description. The model can still discover and invoke it.
- Manual-only: omit the skill from automatic discovery while preserving explicit user invocation.
- Disabled: make the skill unavailable, including temporarily.
- Auto: keep the current allocation behavior.
These settings should be user-controlled, without editing the skill's files, and apply consistently to local and plugin-provided skills.
The configured budget should remain enforced. If even the pinned descriptions cannot fit, Codex should report that explicitly rather than silently weakening the guarantee. This concerns catalog descriptions, not preloading complete SKILL.md files.
The current behavior would remain the default, so nothing changes for users who do not configure this feature. It would give users more granular control over the existing budget and help them make better use of their context.
In the future, Codex could use per-skill invocation counts to suggest changes to these settings, always with explicit user approval.
Additional information
Related requests cover plugin availability versus injection, local invocation-policy overrides, and per-thread skill selection. This request focuses on controlling how much catalog information each available skill receives.
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
No files, tests, or entry points are named. Start by locating the existing skill-catalog budget and allocation path for both App and CLI, then trace how local and plugin-provided skills enter it; done means configurable per-skill modes, enforced budget overflow reporting, and unchanged default behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100