Feature request: Skill tool should honor `effort` frontmatter on mid-turn invocation (chained skill inherits session effort)

Resolved 💬 2 comments Opened Jun 5, 2026 by kvnwolf Closed Jun 8, 2026

What happened?

A skill's effort frontmatter is not applied when the skill is invoked via the Skill tool mid-turn (i.e. one skill's instructions tell the model to call the Skill tool to chain into another skill). The chained skill inherits the current turn/session effort instead of its declared level.

The docs describe effort as:

effort: Effort level when this skill is active. Overrides the session effort level. Default: inherits from session. Options: low, medium, high, xhigh, max.

That override only takes effect at a turn boundary — when the skill is the entry point (user types the slash command) or runs in a subagent (context: fork). When a skill is invoked via the Skill tool inside an already-in-progress turn, its effort is silently ignored.

This is the same class of problem as #17283 (Skill tool ignores context: fork and agent: frontmatter on mid-turn invocation). #17283 did not mention effort; this issue requests that effort also be honored.

Why it matters

Composable skill workflows are a common pattern: a set of skills where each stage hands off to the next by calling the Skill tool, and each stage declares its own effort (e.g. a planning/synthesis skill at effort: max, lighter stages lower). Today, the moment the chain auto-invokes the next skill, every stage runs at whatever the session effort happens to be — the per-skill effort declarations are dead weight inside the chain. The only workarounds are (a) set the whole session to the highest level (loses per-skill differentiation), or (b) make the user type each command manually (defeats the point of chaining).

Steps to reproduce

  1. Create skill planner with frontmatter effort: max.
  2. Create skill starter whose instructions end by invoking planner via the Skill tool.
  3. Set session effort below max, e.g. /effort xhigh.
  4. Run /starter. When it chains into planner, observe the status line: it thinks at xhigh (the session level), not max (the skill's declared level).

Invoking /planner directly as a slash command correctly runs at max — confirming the gap is specific to Skill-tool (mid-turn) invocation.

Expected behavior

When a skill is invoked via the Skill tool, its effort frontmatter should override the current effort for that skill's execution, just as it does when the skill is invoked as a slash command — consistent with the documented "Overrides the session effort level" semantics.

Environment

  • Claude Code v2.1.163 (native install), macOS (Darwin 25.1.0)
  • Model: claude-opus-4-8
  • Reproducible regardless of model.

Related

  • #17283 — Skill tool should honor context: fork and agent: frontmatter (same root cause: turn-boundary-only frontmatter ignored on mid-turn Skill-tool invocation; that issue covers context/agent, this one covers effort).

View original on GitHub ↗

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