[BUG] Cowork only loads 3/27 personal skills from ~/.claude/skills/ — UI does not scan directory
Summary
Cowork only loads 3 out of 27 personal skills from ~/.claude/skills/, despite all 27 having valid YAML frontmatter (name: and description: fields), valid SKILL.md files, correct directory structure, and proper file permissions. 20+ hours of engineering time spent trying to fix this, and all Cowork/chat session history permanently lost after a destructive troubleshooting step that resolved nothing.
Environment
- Platform: macOS, Mac Mini M-series
- App: Claude Desktop (Cowork mode)
- Plan: Claude Max
The Paradox
Inside a Cowork session, Claude CAN see and use all 27 skills — they appear in the session's available_skills list and can be invoked with the Skill tool. The skill content works perfectly.
In the Customize → Skills panel, only 3 personal skills appear: canvas-design, skill-creator, theme-factory. The other 24 are invisible.
This means the underlying skill-loading mechanism works, but the UI management layer does not scan the same directory, creating an inconsistency where skills work but cannot be managed.
Key Observation
The 3 skills that DO load were originally installed through the Cowork Customize UI. The 24 that do NOT load were deployed to ~/.claude/skills/ via rsync/file copy from a GitHub repo. This strongly suggests Cowork maintains an internal registry of "known" skills and does NOT scan ~/.claude/skills/ at startup to discover new skill folders — contrary to documentation.
Steps to Reproduce
- Place 27 skill folders in
~/.claude/skills/, each containing aSKILL.mdwith valid YAML frontmatter (---,name:,description:) - Verify all pass frontmatter validation and total description budget is under 16K characters
- Quit Claude desktop app (Cmd+Q) and reopen
- Open Cowork → Customize → Skills
- Result: Only 3 personal skills appear. The other 24 are not listed.
What We Tried (All Failed)
- ✅ Fixed YAML frontmatter on all skills (10 were missing
name:ordescription:— all fixed) - ✅ Trimmed descriptions to fit 16K
SLASH_COMMAND_TOOL_CHAR_BUDGET— currently at 7,294/16,000 chars (45%) - ✅ Removed all skills from Customize and restarted — only same 3 reappear
- ✅ Ran
deploy.sh --forcewith rsync — confirmed 27 skills deployed with valid frontmatter - ✅ Restarted Claude desktop app multiple times
- ✅ Built automated deployment pipeline with frontmatter validation, budget monitoring, webhook alerts
- ❌ Deleted
~/Library/Application Support/Claude/local-agent-mode-sessions/to clear cached data — lost ALL Cowork and chat session history permanently. Skills still did not load. Data is unrecoverable (no Time Machine backup).
Deploy Script Output (Confirming Everything Works at File Level)
[2026-04-19 10:40:02] Excluding 25 skills from Cowork (see .cowork-exclude)
[2026-04-19 10:40:02] ✓ All 52 skills have valid frontmatter
[2026-04-19 10:40:02] 📊 Budget: 7294/16000 chars (45%) across 27 Cowork skills
[2026-04-19 10:40:02] ✓ Budget healthy (45%)
[2026-04-19 10:40:02] ✓ Claude skills updated (27 deployed)
Technical Details
- Skills directory:
~/.claude/skills/(rwxr-xr-xpermissions) - Skills on disk: 27 folders, each with
SKILL.mdcontaining valid YAML frontmatter - Skills that load (3):
canvas-design,skill-creator,theme-factory - Skills that do NOT load (24):
agentic-development,airtable-ops,automation-pipeline-ops,cfo-advisor,champion-proof-proposal,cold-outreach,consolidate-memory,contract-and-proposal-writer,docx,intent-engineering,karpathy-loop-seo,lead-magnets,offer-stack-builder,pdf,pptx,sales-enablement,strategic-presentation-creator,superpowers,tii-executive-coach,vibe-coding,xlsx,tii-brand-voice-guardian,tii-content-repurposing,schedule - Source: GitHub repo with automated deploy pipeline (
scripts/deploy.sh)
Business Impact
- 20+ hours of engineering time across 12 days (April 7–19, 2026) building deployment infrastructure that works perfectly at the file system level but is ignored by Cowork's skill detection
- All Cowork session history and chat history permanently destroyed while attempting to troubleshoot this bug — on the suggestion that clearing session data might fix skill detection (it didn't, and the two systems are unrelated)
- We are a coaching institute (The Integral Institute) with 79 custom skills powering daily operations — executive coaching, SEO content pipeline (235+ articles), client proposals, cold outreach. Without reliable skill loading, our AI workflow is broken.
Requested Fix
- Cowork must scan
~/.claude/skills/on startup and detect ALL valid skills with YAML frontmatter, not only those previously registered through the UI - Add a "Rescan" button in Customize → Skills to manually trigger skill discovery from disk
- Or provide a CLI command (e.g.,
claude skills scan) to register skills from disk - Document the exact mechanism for personal skill auto-detection — what triggers registration, what the hidden registry is, how power users can manage it
- Never suggest deleting session data (
local-agent-mode-sessions/) as a troubleshooting step for skill detection issues — the two systems are unrelated
Related Issues
- #28068 — Cowork fails to uninstall locally-uploaded plugins
- #28554 — Cannot uninstall plugin:
enabledPlugins falseignored, plugin re-installs every session
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗