[FEATURE] Add project-level configuration to enable/disable specific skills
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Currently, all skills in ~/.claude/skills (user-level) are automatically loaded for every project. There is no way to
selectively enable or disable specific skills at the project level through .claude/settings.json.
This becomes problematic when:
- Users have many skills installed globally but only want a subset available for specific projects
- Different projects require different workflows (e.g., TDD workflow vs. planning-focused workflow)
- Teams want to enforce specific skill usage patterns for certain projects
Current Workaround Limitations
The only current workaround is to create project-level skills in .claude/skills/ with symlinks, but this:
- Requires manual setup for each project
- Doesn't actually disable user-level skills (both appear in the skill list)
- Is cumbersome to maintain
Proposed Solution
Add a configuration option in .claude/settings.json to control skill availability at the project level.
Option 1: Whitelist approach
{
"enabledSkills": [
"skill-a",
"skill-b",
"skill-c"
]
}
Option 2: Blacklist approach
{
"disabledSkills": [
"skill-d",
"skill-e",
"skill-f"
]
}
Option 3: Combined approach (most flexible)
{
"skills": {
"mode": "whitelist", // or "blacklist"
"list": ["skill-a", "skill-b", "skill-c"]
}
}
Expected Behavior
When configured in project settings:
- Only enabled skills appear in /skills list
- Only enabled skills can be invoked
- User-level skills remain unchanged for other projects
- Configuration is simple and declarative
Use Case
A user wants to use a specific workflow for a project, enabling only 3 out of 19+ globally installed skills (skill-a,
skill-b, skill-c), while keeping all skills available globally for other projects.
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
_No response_
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗