Allow subagents to invoke skills for parallel workflow execution

Resolved 💬 2 comments Opened Mar 25, 2026 by AmaralVini Closed Apr 24, 2026

Problem

Subagents cannot invoke the Skill tool — it's only available in the main conversation context. This means any workflow that depends on a skill (custom agent, slash command) must run sequentially through the main agent, even when the tasks are completely independent.

Use case: parallel skill-driven workflows

In projects using orchestration frameworks (like BMAD), skills define structured agent personas — each with its own prompt, constraints, and deliverables. A typical development cycle involves:

  1. /bmad-dev-story story-3.1 — implement story 3.1
  2. /bmad-dev-story story-3.2 — implement story 3.2 (independent)
  3. /bmad-code-review — review completed work
  4. /bmad-qa — QA gate

Stories 3.1 and 3.2 are fully independent — different files, different acceptance criteria. Today, they must run sequentially because the Skill tool is main-agent-only. With subagent skill access, they could run in parallel via worktrees:

Agent(skill: "bmad-dev-story", args: "story-3.1", isolation: "worktree")
Agent(skill: "bmad-dev-story", args: "story-3.2", isolation: "worktree")

Why this matters

  • Time savings: Parallel story implementation, parallel code reviews, parallel test generation — all blocked today by sequential-only skill access.
  • Context window efficiency: Skills inject large prompts. Running two skills sequentially in the main context consumes 2x the context. Parallel subagents each get their own context window.
  • Worktree isolation already exists: The isolation: "worktree" parameter solves the file conflict problem. The missing piece is skill access.
  • The Agent tool already supports complex work: Subagents can read, write, edit, run bash, search — everything needed to execute a skill's instructions. The only gap is loading the skill's prompt.

Current workarounds (and why they're insufficient)

| Workaround | Problem |
|---|---|
| Paste skill prompt into agent's prompt parameter | Fragile, duplicates content, breaks when skill updates |
| Subagent reads skill file from _bmad/ | Loses Skill tool's structured prompt injection and frontmatter handling |
| Run everything sequentially in main agent | Defeats the purpose of the Agent tool's parallelism |

Proposed solution

Allow the Skill tool (or equivalent mechanism) to be available inside subagents. Possible approaches:

  1. Add skill parameter to Agent tool — the agent launches with the skill's prompt pre-loaded, similar to how subagent_type works today
  2. Include Skill tool in subagent toolset — let subagents call skills directly
  3. Skill prompt resolution at launch — main agent resolves the skill prompt and injects it as the subagent's system prompt, without requiring the Skill tool at runtime

Option 1 seems cleanest — it's declarative, avoids sub-sub-agent concerns, and fits the existing Agent tool API.

Related issues

  • #19077 — Subagents can't create sub-subagents
  • #21965 — Memory explosion when subagent invokes Skill tool
  • #38044 — Controllable subagent context (skills, MCP servers)

View original on GitHub ↗

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