[FEATURE] Reserve 'skills/' for user-managed skills, relocate internal skills to 'system/'
Problem
Users may symlink ~/.claude/skills to a shared location like ~/.agents/skills/ to maintain a unified skills directory across multiple AI agents (as encouraged by Vercel's skills ecosystem).
If Claude Code stores internal functionality in ~/.claude/skills/.system/, this breaks when skills/ is symlinked:
- Symlink target pollution - Claude Code's internal
.system/directory ends up in the shared~/.agents/skills/location - Cross-agent leakage - other agents see Claude Code's internal files
- Unexpected behavior - the symlink target may be read-only, versioned, or managed by external tools
Proposed solution
Relocate internal/system skills from ~/.claude/skills/.system/ to a separate directory:
Option A (preferred): ~/.claude/system/ - clean separation at the top level
Option B: ~/.claude/.internal/ - hidden directory for internal resources
This allows ~/.claude/skills/ to be safely symlinked without dragging internal resources along.
Alternatives considered
- Keep
.system/insideskills/- breaks symlink scenarios - Document "don't symlink skills/" - fights the emerging ecosystem convention
Priority
Medium
Category
Configuration and settings
---
References:
- Skills.sh - The Agent Skills Directory
- vercel-labs/add-skill - CLI tool for cross-agent skill installation
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗