Bridge host-loaded skills into the skills extension#26172
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4d4eefdcf3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e4caeed99e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 37b7939f9e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
truncation is not in the scope of this PR |
Why
The skills extension needs to become the path that exposes local host skills without losing the behavior already owned by core skill loading. Host skill discovery is not just
$CODEX_HOME/skills: it also includes config layers, bundled-skill settings, plugin roots, runtime extra roots, and the filesystem for the selected primary environment.Rather than making the extension reload host skills and risk drifting from that authoritative load, this PR bridges the already-loaded per-turn skills outcome into the extension. That lets the extension advertise host skills and inject explicit
$skillprompts while preserving the same roots, disabled/hidden state, rendered paths, and environment-backed file reads that the legacy path uses.What Changed
HostLoadedSkillsincore-skillsto wrap the turn'sSkillLoadOutcomeand readSKILL.mdthrough the filesystem that loaded that skill.HostLoadedSkillsin turn extension data for normal turns and review turns, so the skills extension can consume the loaded host catalog without reloading it.HostSkillProviderunderext/skills/src/provider/host.rs, mapping host-loaded skill metadata into the skills-extension catalog/read contract.codex_skills_extension::install().SkillListQueryandSkillReadRequestso explicit skill invocation reads only resources from the loaded host catalog.$CODEX_HOME/skills/.../SKILL.mdskill being listed and injected through the installed extension.Testing
installed_extension_loads_host_skills_from_legacy_rootsinext/skills/tests/skills_extension.rs.just test -p codex-skills-extension