Preflight Checklist
What's Wrong?
Summary
Skills installed via npx skills add from skills.sh are stored at ~/.agents/skills/<skill-name>/SKILL.md but are not recognized by the Skill tool. Attempting to invoke them returns Unknown skill: <name>.
Environment
- OS: macOS (Darwin 25.4.0)
- Claude Code Version: 2.1.119 (latest)
- Installation: Standard
- Model: Claude Opus 4.6
Steps to Reproduce
-
Install a skill from the skills.sh registry:
npx skills add kostja94/marketing-skills --yes --global
-
Verify the skill exists on disk:
ls ~/.agents/skills/translation/
# SKILL.md
-
Verify the SKILL.md has valid frontmatter:
---
name: translation
description: When the user wants to translate content...
metadata:
version: 1.0.1
---
-
In Claude Code, attempt to invoke the skill:
Skill("translation")
Skill("kostja94/marketing-skills@translation")
-
Result: Unknown skill: translation / Unknown skill: kostja94/marketing-skills@translation
Expected Behavior
The Skill tool should discover and invoke skills installed at ~/.agents/skills/ (the standard location used by npx skills add). These skills have valid SKILL.md files with proper frontmatter and should be loadable the same way plugin skills are.
Actual Behavior
The Skill tool only recognizes:
- Built-in slash commands
- Plugin skills installed via
/plugin
Skills at ~/.agents/skills/ are completely invisible to the Skill tool despite being valid SKILL.md files.
Current Workaround
The only workaround is to manually Read the SKILL.md file and follow its instructions. This pollutes the conversation context with the full skill content instead of using the harness-managed scoped injection that the Skill tool provides.
Read("~/.agents/skills/translation/SKILL.md")
Impact
The skills.sh ecosystem has hundreds of community skills that users install via npx skills add. None of these are invocable through the Skill tool, which means:
- Users must manually read SKILL.md files instead of using the proper tool
- Skill content permanently enters the conversation context (no scoped injection)
- The
CLAUDE.md pattern of documenting "mandatory skills" (e.g., kostja94/marketing-skills@translation) creates a false expectation that these skills are invocable
Related Issues
Suggested Fix
Add ~/.agents/skills/ to the Skill tool's discovery paths, alongside ~/.claude/skills/ and plugin directories. The SKILL.md format is identical — only the directory location differs.
What Should Happen?
Skills with valid SKILL.md files at ~/.agents/skills/ should be discoverable and invocable via the Skill tool.
Error Messages/Logs
Error: Unknown skill: translation
Error: Unknown skill: kostja94/marketing-skills@translation
Claude Model
Opus
Is this a regression?
Not sure / not applicable
Claude Code Version
2.1.119
Platform
Anthropic API (Max plan)
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
The ~/.agents/skills/ directory contains 100+ skills installed via npx skills add. All have valid SKILL.md files with proper frontmatter. None are discoverable by the Skill tool.
Preflight Checklist
What's Wrong?
Summary
Skills installed via
npx skills addfrom skills.sh are stored at~/.agents/skills/<skill-name>/SKILL.mdbut are not recognized by theSkilltool. Attempting to invoke them returnsUnknown skill: <name>.Environment
Steps to Reproduce
Install a skill from the skills.sh registry:
Verify the skill exists on disk:
Verify the SKILL.md has valid frontmatter:
In Claude Code, attempt to invoke the skill:
Result:
Unknown skill: translation/Unknown skill: kostja94/marketing-skills@translationExpected Behavior
The Skill tool should discover and invoke skills installed at
~/.agents/skills/(the standard location used bynpx skills add). These skills have valid SKILL.md files with proper frontmatter and should be loadable the same way plugin skills are.Actual Behavior
The Skill tool only recognizes:
/pluginSkills at
~/.agents/skills/are completely invisible to the Skill tool despite being valid SKILL.md files.Current Workaround
The only workaround is to manually
Readthe SKILL.md file and follow its instructions. This pollutes the conversation context with the full skill content instead of using the harness-managed scoped injection that the Skill tool provides.Impact
The skills.sh ecosystem has hundreds of community skills that users install via
npx skills add. None of these are invocable through the Skill tool, which means:CLAUDE.mdpattern of documenting "mandatory skills" (e.g.,kostja94/marketing-skills@translation) creates a false expectation that these skills are invocableRelated Issues
~/.claude/skills/not recognized (closed, similar but different path)Suggested Fix
Add
~/.agents/skills/to the Skill tool's discovery paths, alongside~/.claude/skills/and plugin directories. The SKILL.md format is identical — only the directory location differs.What Should Happen?
Skills with valid SKILL.md files at
~/.agents/skills/should be discoverable and invocable via the Skill tool.Error Messages/Logs
Claude Model
Opus
Is this a regression?
Not sure / not applicable
Claude Code Version
2.1.119
Platform
Anthropic API (Max plan)
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
The
~/.agents/skills/directory contains 100+ skills installed vianpx skills add. All have valid SKILL.md files with proper frontmatter. None are discoverable by the Skill tool.