Repository navigation
chore(agents): link each skill for Claude Code - #2147
Merged
Benoît Cortier (CBenoit) merged 4 commits intoOct 23, 2026
Merged
Conversation
Claude Code does not discover skills through a symlink to the whole `.claude/skills` folder, so none of the skills in `.agents/skills` were available to it. Replace that link with a real folder holding one relative symlink per skill, which Claude Code does follow. A new skill now needs its own link, so a CI job checks that every skill in `.agents/skills` has one and that every link points at its skill. The check reads the git index, so it gives the same result on checkouts that store symlinks as plain files. A README in `.claude/skills` covers adding a link and the Windows setup that symlinks need. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
Lines changed
Note LLM-assisted content (no human feedback). |
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The checker accepts newline-suffixed symlink targets, allowing broken skill links to pass CI.
1 open issue
What changed in this PR
This PR supports Claude Code skill discovery through per-skill links to .agents/skills, with CI validation and contributor setup instructions.
Changes:
- Adds an index-based checker for missing links, incorrect targets, and non-link entries.
- Makes skill-link validation a required CI job.
- Documents link creation and Windows symlink setup.
| File | Description |
|---|---|
ci/check-skill-links.ps1 |
Validates skill links using Git index entries. |
.github/workflows/ci.yml |
Adds skill-link validation to the required CI checks. |
.claude/skills/README.md |
Explains adding links and enabling Windows symlinks. |
Review effort: Balanced
PowerShell drops line terminators from native command output, so a link whose target ends with a newline, such as one an editor saved on a checkout without symlinks, matched the expected target while pointing nowhere. Compare the blob size as well. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Benoît Cortier (CBenoit)
deleted the
claude/skills-symlink-structure-cc5227
branch
October 23, 2026 11:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Claude Code does not discover skills through a symlink to the whole
.claude/skillsfolder, so none of the skills in.agents/skillswere available to it. Replace that link with a real folder holding one relative symlink per skill, which Claude Code does follow.A new skill now needs its own link, so a CI job checks that every skill in
.agents/skillshas one and that every link points at its skill. The check reads the git index, so it gives the same result on checkouts that store symlinks as plain files. A README in.claude/skillscovers adding a link and the Windows setup that symlinks need.🤖 Generated with Claude Code