Skip to content

fix: load user-scope skills from ~/.claude/skills#55

Merged
mcheemaa merged 1 commit intomainfrom
fix/load-user-scope-skills
Apr 13, 2026
Merged

fix: load user-scope skills from ~/.claude/skills#55
mcheemaa merged 1 commit intomainfrom
fix/load-user-scope-skills

Conversation

@mcheemaa
Copy link
Copy Markdown
Member

Summary

Flip settingSources from ["project"] to ["project", "user"] in src/agent/runtime.ts so the Claude Agent SDK scans user-scope skill directories on every query() init.

Why

The SDK only reads SKILL.md files from directories whose scope is enabled via settingSources. Phantom was only enabling project scope, which meant any SKILL.md dropped into ~/.claude/skills/<name>/ inside the container (on the persistent volume that survives rebuilds) was silently ignored. This one-character fix unblocks user-authored skills from being picked up by the next message the agent handles, with no restart, no rescan API, no other plumbing.

Scope

  • 1 line changed in src/agent/runtime.ts
  • Zero test changes
  • Zero behavioural change for existing deployments that do not ship user-scope skills
  • Additive: operators who want to drop a skill into the mounted volume can now do so

Test plan

  • bun test - 978 pass / 0 fail / 10 skip
  • bun run lint clean
  • bun run typecheck clean
  • After merge, drop a test SKILL.md into the running container's user skill directory and verify it fires on the next message

The Claude Agent SDK only scans skill directories for settingSources
that are explicitly enabled. Phantom was passing ["project"] which
ignored user-scope skills entirely. Flipping this to ["project", "user"]
lets the agent load any SKILL.md the operator drops into the mounted
phantom_claude volume on the next query() init, with no restart needed.

Unblocks the skills editor surface planned for the Dashboard v2 work.
Trivial, additive, no test impact.
@mcheemaa mcheemaa merged commit 3d029a1 into main Apr 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant