Skills manager codex
Manage Codex functions—skills, MCP servers, and skills-manager-defined plugins—as a unique-ownership catalog and project categories. Use when Codex needs to discover or adopt new user-level functions, group skills/MCPs into a plugin, recommend a minimal function set, create or edit categories, switch a project by linking skills and writing MCPs, inspect backups, validate or repair catalog drift, plan updates, retire, or restore functions.From its SKILL.md
npx -y skills add Xue-Sir/skills-manager --skill skills-manager-codexAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.6 KB, 907 tokens by cl100k_base, as published. Nobody here has run it
Skills Manager
Manage the complete function lifecycle through natural-language requests. Treat function as the common term for a skill, MCP, or skills-manager-defined plugin. An SM plugin is a managed bundle of skills/MCPs, not a Codex-native plugin.
Use scripts/manager.py as the deterministic layer. Users do not need command syntax: translate their intent, show the preview, explain the effect, obtain confirmation, then apply.
Core contract
- Discover user-level skills only from
$CODEX_HOME/skillsor~/.codex/skills; discover user-level MCPs from$CODEX_HOME/config.tomlor~/.codex/config.toml. - Keep only the skills-manager package under
~/.codex/skills/skills-manager; it must not contain runtimeconfig,code_*,retired, orbackupsdirectories. Store all managed functions, configuration, retirement data, and backups under$SKILLS_MANAGER_HOMEor the default~/.codex/skills-manager-data. - Treat the package as stateless and portable.
setupcreates a new machine's data root from built-in defaults; every later catalog mutation targets that data root, never the package. - Store each skill/MCP either independently or in exactly one SM plugin. Never register a plugin member as independent.
- Describe each plugin once as a concise aggregate of its member skills/MCPs; keep membership only in
plugins.json. - Let categories select independent skills, independent MCPs, and whole plugins.
Allis the non-duplicated active union;Noneis empty and the initial default. - Switch projects through
<project>/.codex/skills/,<project>/.codex/config.toml, and<project>/.codex/skills-manager-state.toml. - Preserve unrelated project functions. Remove only entries proved SM-owned by project state; preserve same-target links and identical MCPs that existed before SM.
- Keep managed MCP definitions free of
enabled = false; category presence controls activation. - Do not update MCP definitions. Every managed MCP has
mcp:<id>: {"type":"none"}inupdates.json. - Update an SM plugin through its member skills: keep one
plugin:<id>update record covering every member skill, normally one repository/ref with mappings for all of them. Never duplicate those member skills as independent update records.
Read only what the task needs
- Read routing.md to translate natural language or recommend functions.
- Read schema.md before changing storage, registration, categories, or project state.
- Read workflows.md before any mutation; it defines every operation and the backup policy.
- Read repair.md only for conflicts, validation failures, drift, or unsupported permanent deletion.
Mandatory execution protocol
- Run
scanandvalidate; batch ambiguities and conflicts. - Run the intended mutation without
--apply. Explain physical moves, config changes, category rewrites, removals, preserved project entries, and conflicts. - Obtain confirmation immediately before the matching
--apply. Never treat an earlier general approval as approval for a changed preview. - Ask for uncertain MCP purposes and exact plugin membership/names; do not infer them.
- After applying, run
validateand the relevantscan,list,switch, orbackup-statuscheck. - On adoption, register each MCP as
none; ask for each independent skill's source. Before binding a plugin, confirm that all member skills have compatible sources, then consolidate them under the plugin. - Run
update-planand discuss every untracked independent skill or plugin. An emptyupdates.jsonmeans update maintenance is incomplete, not configured.
If the private data root is absent, preview setup, confirm its path, then run setup --apply before scanning.
Backup invariant
Create backups before SM changes a user/project config.toml; adopt several MCPs in one backup transaction. Backups are append-only while their total size is at most 500 MB. If they exceed 500 MB, preview removal of top-level backup entries older than 30 days, ask the user explicitly, and delete only after confirmation. Never clean backups automatically or delete recent entries merely to fall below the threshold.
What ships with it: 8 files
132.0 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml275 B
references/
- repair.md5.7 KB
- routing.md3.9 KB
- schema.md6.5 KB
- workflows.md9.3 KB
scripts/
- manager.pyruns96.3 KB
- README.md10.0 KB
- requirements.txt49 B