[FEATURE] Compose multiple Skills/Commands in a single user message

Resolved 💬 4 comments Opened May 4, 2026 by alex-fall-bindplane Closed Jun 12, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet (re-filing — see below)
  • [x] This is a single feature request (not multiple features)

Problem Statement

Today the slash-command parser only recognizes a single command at the start of a message. Anything matching /skill-name later in the prompt is treated as plain text. The architectural fallback is auto-triggering — Claude inspects skill descriptions and invokes Skill itself when a description matches — but this is non-deterministic and frequently fails even when the trigger conditions are unambiguous (explicit /skill-name mid-prompt, hard-trigger regex like a 10-11 digit ticket ID, exact keyword matches).

The result is that workflows composed from independent, well-described skills cannot be invoked in one message. Users either:

  1. Issue prompts serially (one skill per turn), losing the natural composition of a single intent
  2. Hardcode skill chains inside a parent skill's SKILL.md, which narrows skills that should remain general-purpose
  3. Build brittle UserPromptSubmit hooks with regex registries that inject additionalContext reminders to invoke specific skills — duplicating the auto-trigger logic at the harness level

None of these scale. Skills are designed as composable units, but there's no first-class composition primitive at invocation time.

Proposed Solution

Recognize multiple slash commands in a single user message — either via a delimiter (&&, ;, or comma), via simple presence of /skill-name tokens anywhere in the prompt, or via an explicit composition syntax. When the user writes:

/draft-email for 45130580598 based on the kb that covers multi account /doc-finder

the harness should load all named skills (/draft-email, /doc-finder) into context, pass the surrounding text as shared arguments, and let the model orchestrate execution. Combined with auto-triggered skills (which would also fire on the ticket-ID and "kb" cues in the same prompt), this enables true single-prompt multi-skill composition.

Alternative Solutions

  1. Auto-triggering only — relies on the model invoking Skill based on description matches. Unreliable in practice; the model regularly skips matching skills even when the user has explicitly typed /skill-name.
  2. Hardcoding chains — encode a fixed workflow inside one skill's SKILL.md. Works, but narrows the parent skill and doesn't compose dynamically with arbitrary other skills.
  3. UserPromptSubmit hooks — inject additionalContext based on regex matches against the prompt. Duplicates auto-trigger logic outside the model, must be maintained per-pattern, and breaks on novel phrasings. Brittle.
  4. Routines / subagents — heavyweight; designed for autonomous multi-step runs, not interactive composition.

Priority

High - Significant impact on productivity

Feature Category

Interactive mode (TUI)

Use Case Example

Customer support workflow with five independent, reusable skills: markdown-redacted (load a redacted ticket from disk by ID), support-kb (internal troubleshooting KB lookup), doc-finder (resolve component names to public doc URLs), draft-email (compose a plain-text customer reply), review (review pending changes).

A typical request: "draft a reply for ticket 45130580598 using the multi-account credentials KB and include doc links."

What I want to type:

/draft-email 45130580598 — use the multi-account KB and pull /doc-finder links

What should happen in one turn:

  1. markdown-redacted loads ticket 45130580598
  2. support-kb surfaces the multi-account credentials guide
  3. doc-finder resolves component references to public URLs
  4. draft-email composes the reply

Each skill stays general-purpose. The composition is dynamic — different tickets, different KB topics, different components. There's no "support-flow" parent skill to maintain, and the user's intent is expressed in one natural message.

Additional Context

This pattern has been requested repeatedly and every prior issue was auto-closed by the staleness bot, not declined by Anthropic. All four are now locked, so no comment thread is reachable:

  • #17349 — Allow users to trigger multiple Skills/Commands within a single message
  • #16759 — Pipeline workflow for slash command
  • #37987 — Allow && in slash command (e.g. /clear && /plugin:next)
  • #28754/clear <prompt> — clear context and immediately execute a prompt

Sustained user demand, no surviving thread. Re-filing rather than upvoting because all four are locked.

Comparable tools (Cursor, VS Code chat) support multi-prompt / multi-skill composition; Claude Code skills are a strictly more powerful primitive but lack the invocation syntax to fully use them.

View original on GitHub ↗

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