Skip to content

Where exactly does a picked $ skill get dropped? #109

Description

@radroid

Question

Picking a skill from the composer $ picker produces a no-op on Claude. Observed twice directly:
$wayfinder and $setup-matt-pocock-skills both arrived at the model as literal text and invoked
nothing, while /setup-matt-pocock-skills — a real slash command — loaded the skill correctly.

Trace the full path and say precisely where it breaks:

  • packages/shared/src/composerTrigger.ts:107 detects the $ trigger (kind: "skill").
  • apps/web/src/components/ComposerPromptEditor.tsx:297-310 serialises the picked skill node.
  • Something then sends text to the provider, and the Claude Agent SDK does not expand it.

Produce: the exact outgoing string, the component that produces it, what the SDK would need instead
(/name? a system-prompt injection? a tool call?), and whether Codex behaves differently — the
picker is shared, and ClaudeSkills.ts says it mirrors how the Codex app-server reports skills, so
this may be Claude-specific or may be universal.

This is the load-bearing evidence for the invocation work. It is a research ticket rather than a
fix: the decision that follows is how to fix it, and that cannot be made without knowing where it
breaks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    wayfinder:researchWayfinder ticket (AFK): read docs/code to surface a fact

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions