Repository navigation
Claude: run a slash command typed anywhere in the message - #14
Merged
Merged
Conversation
The Claude CLI and desktop app run `/skill` from anywhere in a message. Through stream-json it only expands when it opens the last text block, so "audit this ... /mattpocock-skills:ask-matt" reached the model as prose and the skill never loaded. Typed `/name` now goes through the same move as a `$name` mention. Plugin skills are not in skill discovery, so a typed `/plugin:skill` is trusted by its shape. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
…tion Review fixes for the typed-slash dispatch: - The attachments path searched the text with attachment notes and untrusted captured-window JSON appended, so a `/x:y` inside a captured window could start an installed plugin skill and override the user's own command. Dispatch now reads only the message text; the appended context goes in the leading block, so it also stops arriving as ARGUMENTS. - "try /review." and "/plugin:skill?" now run; the punctuation is dropped. - Module header rewritten for both mention forms; user docs updated. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Remaining review fixes for typed-slash dispatch: - Skill discovery now lists enabled plugins' skills and commands as `plugin:skill` (installed_plugins.json + enabledPlugins + the plugin manifest), plus custom commands in `<config>/commands` and `.claude/commands`. They also appear in the composer's skill list. - With plugin skills discovered, the `/a:b` shape check is gone: dispatch runs only names discovery lists, so `/api:v1` prose and switched-off plugin skills stay text. - One shared skill-name fragment and one match loop for `$` and `/`. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
… host's The typed-command test passed only on machines with mattpocock-skills installed. It now writes a temp plugin and points homePath at it. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Claude CLI and desktop app run
/skillfrom anywhere in a message. T3 talks to the CLI over stream-json, where a skill only expands when/nameopens the last text block. So"…see what checks we have\n\n/mattpocock-skills:ask-matt"reached the model as prose and the skill never loaded.Evidence
claude -p --input-format stream-jsonexactly as T3 does:"/mattpocock-skills:ask-matt hello"ran the skill;"hello there. /mattpocock-skills:ask-matt"answered "The command … is not available in this session."New tests failed on the old code:
ClaudeSkillDispatch,ClaudeSkillsandClaudeAdapterV2tests: 191/191 pass;src/provider+src/orchestration-v2/Adapters: 2015 pass. The 2 failures inAntigravityAdapterV2.test.tsfail identically oncustom-v2without this branch.tsc --noEmiton apps/server, packages/shared, apps/web: 0 errors.Merge Danger
Door: two-way
Pure message-shaping change; reverting the two commits restores the old behaviour. No stored data changes.
Blast Radius: every-Claude-message
Every Claude send passes through this code, and skill discovery now also feeds the composer's skill list. Known edges:
<config>/commands,.claude/commands) now appear in the composer's skill list. Checked on the owner's Mac: discovery returns all 27mattpocock-skills:*skills./api:v1prose stays text.skills/folder) are not discovered.🤖 Generated with Claude Code