Skill discovery inconsistently detects project-defined skills

Resolved 💬 3 comments Opened Feb 7, 2026 by bidossessi Closed Mar 8, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Project-defined skills with identical structure are inconsistently auto-discovered at session start. Some skills appear in the Skill tool's available skills list while others do not, despite having the same file format and location.

Important distinction: The undiscovered skills can still be manually activated using slash commands (e.g., /unit-testing). What fails is the auto-discovery that populates the Skill tool metadata, preventing Claude from proactively invoking these skills based on context.

Observed behavior:

| Skill | Auto-discovered | Manual /skill works |
|-------|-----------------|----------------------|
| migration-writing | Yes | Yes |
| i18n-manager | Yes | Yes |
| live-testing | Yes | Yes |
| unit-testing | No | Yes |
| functional-testing | No | Yes |
| module-refactoring | No | Yes |

Evidence:
File contents inspection confirms no structural difference between discovered and undiscovered skills. All have:

  • Correct location: .claude/skills/{name}/SKILL.md
  • Valid YAML frontmatter with name and description fields
  • Markdown content below frontmatter

What Should Happen?

All six skills should appear in the Skill tool's "Available skills" list at session start, enabling Claude to proactively invoke them based on task context.

Error Messages/Logs

Debug log shows only:
2026-02-07T14:06:55.408Z [DEBUG] Watching for changes in skill/command directories: ...

No deduplication or loading errors present.

Steps to Reproduce

  1. Create 6 skills in .claude/skills/*/SKILL.md with identical frontmatter structure
  2. Start Claude Code session
  3. Check Skill tool's available skills list (only 3 of 6 appear)
  4. Manually invoke a missing skill with /unit-testing (works)
  5. Observe discrepancy: manual invocation succeeds but auto-discovery failed

Claude Model

claude-opus-4-5-20251101

Is this a regression?

I don't know

Claude Code Version

Latest (as of 2026-02-07)

Platform

Anthropic API

Operating System

Linux 6.17.0-14-generic

Terminal/Shell

Other

View original on GitHub ↗

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