[Bug] Custom skills not loading when names conflict with reserved keywords

Resolved 💬 3 comments Opened Dec 20, 2025 by ChrisOMetz Closed Feb 14, 2026

Bug Description
Title: Custom skills not appearing in available skills list despite valid skills.json configuration

Description:

Several custom skills defined in .claude/skills.json are not appearing in the available skills list, even though the JSON configuration is valid and the skill files exist. This occurs selectively - some skills load correctly while others with identical structure do not.

Environment:

  • Claude Code Version: [Your version]
  • Platform: Windows 10/11
  • Project: .NET 9.0 solution with Clean Architecture

Expected Behavior:

All skills properly defined in .claude/skills.json should appear in the available skills list and be invokable via the Skill tool (e.g., /codeflow:code).

Actual Behavior:

Only some skills appear in the available skills list. The following skills are properly configured but missing:

  • codeflow:code
  • codeflow:debug
  • codeflow:bug-fix
  • codeflow:complete-dev
  • codeflow:architect

Meanwhile, these skills work correctly:

  • codeflow:ask ✓
  • codeflow:test ✓
  • codeflow:review ✓
  • codeflow:refactor ✓
  • codeflow:optimize ✓
  • codeflow:deploy-check ✓
  • All root-level skills (plan, specify, implement, etc.) ✓

Steps to Reproduce:

  1. Create a .claude/skills.json file with the following structure:

{
"$schema": "https://json.schemastore.org/claude-code-skills.json",
"skills": [
{
"name": "codeflow:code",
"description": "Development Coordinator directing four coding specialists",
"path": "commands/codeflow/code.md",
"category": "development"
},
{
"name": "codeflow:debug",
"description": "Systematic debugging and root cause analysis",
"path": "commands/codeflow/debug.md",
"category": "development"
}
]
}

  1. Create corresponding markdown files at the specified paths with valid skill definitions (same structure as working skills like ask.md)
  2. Restart Claude Code completely
  3. Check available skills list - the skills won't appear

Configuration Files:

.claude/skills.json entry for missing skill:
{
"name": "codeflow:code",
"description": "Development Coordinator directing four coding specialists",
"path": "commands/codeflow/code.md",
"category": "development"
}

Example of working skill with identical structure:
{
"name": "codeflow:ask",
"description": "Interactive Q&A for development decisions",
"path": "commands/codeflow/ask.md",
"category": "development"
}

File structure:
.claude/
├── skills.json
└── commands/
└── codeflow/
├── code.md # Missing from skills list
├── debug.md # Missing from skills list
├── ask.md # Works correctly
├── test.md # Works correctly
└── review.md # Works correctly

Verification Performed:

  1. ✅ JSON syntax is valid (validated with ConvertFrom-Json)
  2. ✅ All file paths exist and are accessible
  3. ✅ File permissions are correct (same as working skills)
  4. ✅ Skill file content follows the same structure as working skills
  5. ✅ Claude Code was fully restarted multiple times
  6. ✅ No syntax errors or validation warnings in skills.json

Additional Context:

The missing skills appear to have more generic names ("code", "debug") compared to working skills ("ask", "test", "review"). This might suggest:

  • Name collision with internal Claude Code functionality
  • Reserved keyword filtering
  • Undocumented naming restrictions

Workaround Attempted:

None found. Direct invocation via /codeflow:code has not been tested.

Impact:

This prevents users from organizing skills into logical command structures and limits the extensibility of Claude Code's skill system.

Suggested Investigation:

  1. Check if there's a reserved keywords list for skill names
  2. Verify skill loading logic doesn't filter based on name patterns
  3. Review any caching mechanisms that might prevent skill registration
  4. Add debug logging for skill loading to help diagnose similar issues

Environment Info

  • Platform: win32
  • Terminal: vscode
  • Version: 2.0.74
  • Feedback ID: 56d4bbcd-e086-4ed3-a780-7f18c1b6f85d

Errors

[{"error":"Error: Request was aborted.\n    at _0A._createMessage (file:///C:/Program%20Files/nodejs/node_modules/@anthropic-ai/cl

Note: Error logs were truncated.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗