Skip to content

feat: support symlinked skill directories - #84

Closed
yuczzzzz wants to merge 1 commit into
rebel0789:mainfrom
yuczzzzz:feat/follow-symlinked-skill-directories
Closed

feat: support symlinked skill directories#84
yuczzzzz wants to merge 1 commit into
rebel0789:mainfrom
yuczzzzz:feat/follow-symlinked-skill-directories

Conversation

@yuczzzzz

@yuczzzzz yuczzzzz commented Aug 5, 2026

Copy link
Copy Markdown

Current behavior

CodexPro discovers skills by recursively scanning configured skill roots, including ~/.codex/skills.

Some skill managers, such as cc-switch, install skills by creating directory symlinks under ~/.codex/skills. These entries are reported as symbolic links rather than regular directories and are therefore not included in the skill inventory.

New capability

CodexPro now supports skill directories installed through symbolic links.

The skill scanner:

  • Detects directory symlinks during discovery.
  • Resolves each link with realpath.
  • Uses stat to confirm that the target is a directory before scanning it.
  • Ignores broken, inaccessible, and non-directory links.
  • Makes discovered skills available through both the skill inventory and load_skill.

Regression coverage includes discovering and loading a symlinked user skill.

Security impact

This capability affects read-only skill discovery. A directory symlink under a configured skill root may cause CodexPro to scan its target for SKILL.md.

Existing scan depth and item limits remain in effect. Broken or inaccessible links are ignored. Authentication, shell execution, write operations, and tunnel behavior are unchanged.

Testing

  • npm run build
  • npm run smoke
  • Verified that open_current_workspace with include_skills=true and include_global_skills=true discovers a cc-switch symlinked skill
  • Verified that load_skill loads the resolved SKILL.md

Documentation

No documentation changes are included because this extends discovery within an existing skill root without adding commands, flags, or configuration.

@rebel0789

Copy link
Copy Markdown
Owner

Landing this in #87 with credit in the 0.30.0 changelog. Thanks!

@rebel0789

Copy link
Copy Markdown
Owner

Closing as obsolete: symlinked skill directories already shipped in npm codexpro@0.30.0 via #87. Thanks for the contribution; the capability is on main.

@rebel0789 rebel0789 closed this Aug 8, 2026
@yuczzzzz

yuczzzzz commented Aug 8, 2026

Copy link
Copy Markdown
Author

Closing as obsolete: symlinked skill directories already shipped in npm codexpro@0.30.0 via #87. Thanks for the contribution; the capability is on main.

I noticed that my pull request was included in the new feature version, but the commit no longer carry my authorship. Could there be an issue with the merge workflow that caused the author information to be lost? @rebel0789

rebel0789 pushed a commit that referenced this pull request Aug 8, 2026
Add CONTRIBUTORS.md and package.json contributors entry so reimplemented
PR #84 credit is durable beyond the 0.30.0 changelog thanks line.

Co-authored-by: Cursor <cursoragent@cursor.com>
@rebel0789

Copy link
Copy Markdown
Owner

You're right that #87 reimplemented the symlink skill work instead of merging your commit, so Git commit authorship on main does not show your name. That was a workflow miss on our side, not a judgment of the contribution.

Credit is recorded in these places:

We cannot safely rewrite published main / npm 0.30.0 history to attach your original commit author. The contributor listing above is the durable credit path for this case. Thanks again for #84.

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.

2 participants