feat(skills): auto-discover ~/.claude/skills (Claude Code convention)#170
Open
lxistired wants to merge 1 commit into
Open
feat(skills): auto-discover ~/.claude/skills (Claude Code convention)#170lxistired wants to merge 1 commit into
lxistired wants to merge 1 commit into
Conversation
Claude Code installs user-level skills under ~/.claude/skills (and via `claude plugin` into ~/.claude/plugins/*/skills). Currently the legacy skill-path fallback only scans the built-in dir + an explicit globalSkillsDir setting, so users who follow the standard convention have to manually configure the path. Add ~/.claude/skills to the legacy path list when present, deduped against any existing entries. existsSync gate keeps fresh-install machines (no ~/.claude dir yet) clean — no ENOENT, no log spam.
There was a problem hiding this comment.
Findings
- No high-confidence issues found in the added or modified lines.
Summary
Review mode: initial
No actionable issues found in the current diff. Residual risk: this adds a new legacy skill-discovery branch in src/main/claude/agent-runner.ts without targeted automated coverage under src/tests/, so regressions around path precedence or deduplication could still slip through.
Testing
Not run (automation)
Open Cowork Bot
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.
Problem
Claude Code installs user-level skills under
~/.claude/skills(and viaclaude plugininto~/.claude/plugins/*/skills). When users install skills the standard way, this fork's legacy skill-path fallback doesn't see them — it only scans the built-in directory plus an explicitglobalSkillsDirsetting. So users following Claude Code's convention have to manually pointglobalSkillsDirat~/.claude/skillsto get their skills picked up.Fix
Add
~/.claude/skillsto thelegacySkillPaths()list when it exists. Deduped against any existing entries (e.g. when the user has explicitly configured the same dir as their global skills dir).fs.existsSyncgate keeps fresh-install machines (no~/.claudedir yet) clean — no ENOENT, no log spam.Files
src/main/claude/agent-runner.ts—legacySkillPaths()(+7 lines)Test plan
~/.claude/skills/<name>/SKILL.mdget scanned without explicitglobalSkillsDirconfig~/.claudedoesn't error or log warningsglobalSkillsDir == ~/.claude/skillsnot added twice