Description
When installing skills globally with Claude Code selected, skills are installed to ~/.agents/skills (canonical location), but Claude Code cannot read them because it looks for skills in ~/.claude/skills.
Steps to Reproduce
- Install a skill globally:
npx skills add <source> -g
- Select Claude Code as the agent
- The skill is installed to
~/.agents/skills/
- Claude Code cannot discover the skill because it reads from
~/.claude/skills/
Expected Behavior
Claude Code should be able to read globally installed skills from ~/.agents/skills, similar to other universal agents like Cline, Codex, Cursor, etc.
Actual Behavior
Skills installed to ~/.agents/skills are not discoverable by Claude Code.
Root Cause
The isUniversalAgent() function only checks if skillsDir === '.agents/skills' for project-level, but doesn't consider the global case where an agent's globalSkillsDir points to the canonical ~/.agents/skills.
Claude Code's configuration:
skillsDir: '.claude/skills' (project-level, non-universal)
globalSkillsDir: '~/.claude/skills' (was pointing to a different directory than canonical)
Solution
- Update
claude-code's globalSkillsDir to ~/.agents/skills
- Modify
isUniversalAgent() to accept a global parameter and check if globalSkillsDir === ~/.agents/skills
- Update related functions (
getUniversalAgents, getNonUniversalAgents, etc.) to support the global context
Version
1.4.5
Operating System
macOS
Description
When installing skills globally with Claude Code selected, skills are installed to
~/.agents/skills(canonical location), but Claude Code cannot read them because it looks for skills in~/.claude/skills.Steps to Reproduce
npx skills add <source> -g~/.agents/skills/~/.claude/skills/Expected Behavior
Claude Code should be able to read globally installed skills from
~/.agents/skills, similar to other universal agents like Cline, Codex, Cursor, etc.Actual Behavior
Skills installed to
~/.agents/skillsare not discoverable by Claude Code.Root Cause
The
isUniversalAgent()function only checks ifskillsDir === '.agents/skills'for project-level, but doesn't consider the global case where an agent'sglobalSkillsDirpoints to the canonical~/.agents/skills.Claude Code's configuration:
skillsDir: '.claude/skills'(project-level, non-universal)globalSkillsDir: '~/.claude/skills'(was pointing to a different directory than canonical)Solution
claude-code'sglobalSkillsDirto~/.agents/skillsisUniversalAgent()to accept aglobalparameter and check ifglobalSkillsDir === ~/.agents/skillsgetUniversalAgents,getNonUniversalAgents, etc.) to support the global contextVersion
1.4.5
Operating System
macOS