Skip to content

chore(agents): link each skill for Claude Code - #2147

Merged
Benoît Cortier (CBenoit) merged 4 commits into
masterfrom
claude/skills-symlink-structure-cc5227
Oct 23, 2026
Merged

Benoît Cortier (CBenoit) merged 4 commits into
masterfrom
claude/skills-symlink-structure-cc5227

Conversation

@CBenoit

Copy link
Copy Markdown
Member

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.

🤖 Generated with Claude Code

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>
Copilot AI balanced review requested due to automatic review settings October 23, 2026 08:45
@CBenoit

Benoît Cortier (CBenoit) commented Oct 23, 2026 •

Copy link
Copy Markdown
Member Author

Lines changed

Area Lines
Production code 0
Tests 0
CI (ci/check-skill-links.ps1, ci.yml) 107
Skill links (44 added, 1 directory link removed) 45
Docs (.claude/skills/README.md) 34

UNTESTED: properties

  • ci/check-skill-links.ps1: no test checks that the script fails on a missing link, a wrong target, a target with a trailing newline, a link to a folder without SKILL.md, or a non-link file under .claude/skills. It was run once against a scratch repository holding each of these, and it reported each and exited 1.

Note

LLM-assisted content (no human feedback).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

Comment thread ci/check-skill-links.ps1
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>
@CBenoit
Benoît Cortier (CBenoit) merged commit 7e86745 into master Oct 23, 2026
49 checks passed
@CBenoit
Benoît Cortier (CBenoit) deleted the claude/skills-symlink-structure-cc5227 branch October 23, 2026 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants