Skip to content

[codex] Fix nested skill bundle scanning#11

Open
Wenjunyun123 wants to merge 1 commit into
alchaincyf:masterfrom
Wenjunyun123:codex/fix-nested-skill-bundles
Open

[codex] Fix nested skill bundle scanning#11
Wenjunyun123 wants to merge 1 commit into
alchaincyf:masterfrom
Wenjunyun123:codex/fix-nested-skill-bundles

Conversation

@Wenjunyun123

Copy link
Copy Markdown

Summary

  • detect repository-style skill bundles that store real skills under skills/*/SKILL.md
  • scan those nested skills instead of marking the bundle root as a broken skill
  • keep the existing missing-SKILL.md warning for ordinary broken skill directories

Root cause

Skills X-ray scans one directory level under roots such as ~/.codex/skills. A collection repo like superpowers has no root SKILL.md, but contains valid skills in superpowers/skills/*/SKILL.md, so FanBox showed the collection root as an invalid skill.

Validation

  • node --check server.js
  • npm run check:vendor-patch
  • temporary fixture verified a superpowers/skills/demo-skill/SKILL.md bundle is reported as demo-skill, while a normal missing-SKILL.md directory still reports the original warning

Why: Skills X-ray currently treats repository-style skill bundles as broken when the bundle root lacks SKILL.md, even if the real skills live under skills/*/SKILL.md.

What: Detect nested skill bundles before marking a directory as residue, then scan the nested skills root with a bundle-aware label.

Tested: node --check server.js

Tested: npm run check:vendor-patch

Tested: temporary fixture confirmed superpowers-style bundles no longer produce a missing-SKILL.md residue while ordinary broken skill directories still do.

Co-authored-by: OmX <omx@oh-my-codex.dev>
@Wenjunyun123 Wenjunyun123 marked this pull request as ready for review June 12, 2026 02:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant