[BUG] Skill frontmatter `context: fork` ignored in plugin skills

Resolved 💬 2 comments Opened Apr 9, 2026 by AtkinsChang Closed Apr 9, 2026

What's Wrong?

Plugin skills silently ignore context: fork frontmatter — the skill runs inline instead of forking.

The same skill works correctly when placed in user/project .claude/skills/ directories.

Root cause

Two code paths load skills. parseSkillFrontmatterFields handles context, but the plugin skill loader doesn't:

// User/project skills — has executionContext
// grep: function Ll1(q,K,_,z="Skill")
function Ll1(q, K, _, z = "Skill") {
  // ...
  return {
    displayName: ...,
    description: ...,
    allowedTools: ...,
    hooks: tVz(q, _),
    executionContext: q.context === "fork" ? "fork" : undefined, // handles context
    agent: ...,
    effort: H,
    shell: ...,
  };
}

// Plugin skills — missing executionContext
// grep: function s48(q,K,_,z,Y,A,O={isSkillMode
function s48(q, K, _, z, Y, A, O = { isSkillMode: false }) {
  const { frontmatter: $, content: w } = K;
  // ...
  return {
    type: "prompt",
    name: q,
    description: ...,
    allowedTools: ...,
    hooks: I,
    // executionContext — never read from $, not present in return
    effort: k,
    shell: x,
  };
}

What Should Happen?

context: fork should be respected regardless of whether the skill is loaded from user/project skills or from a plugin.

Steps to Reproduce

  1. Create a plugin skill with context: fork in frontmatter:

```markdown
---
name: my-skill
description: test fork context
context: fork
---

Do something.
```

  1. Invoke the skill
  2. Observe it runs inline, not forked
  3. Move the same skill to .claude/skills/ — it correctly forks

Is this a regression?

I don't know

Claude Code Version

2.1.97

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

Other

View original on GitHub ↗

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