AgentSkills.site

SKM-P03 · Portability

`context: fork` / `context: background` is a Claude Code-only field

Runs the skill as a forked subagent — a Claude Code mechanism with no equivalent elsewhere.

What the rule is

`context: fork` (and `context: background`) makes the skill run as a forked subagent — a Claude Code-specific mechanism with no equivalent in the other four runtimes.

What Codex, Cursor, OpenClaw, and Hermes Agent do with an unrecognised `context` key isn't documented anywhere we've found. A field like this often degrades quietly — the skill still loads, just inline rather than as a subagent — but that's a plausible outcome, not a confirmed one, and it's worth not assuming: the official reference validator treats any field outside its documented set as a hard failure, with no special case for runtime extensions like this one.

Where it comes from

Strict spec conformance

Non-conformant. The official reference validator (skills-ref) rejects this — tested directly, not inferred from severity.

This is a separate question from the severity above and from which runtimes enforce it below — a rule can be a real, working extension in its home runtime while the reference validator still rejects the file outright, or vice versa. Both facts are reported, never one inferred from the other.

Which runtimes enforce it

RuntimeEffectNote
Claude CodeEnforced (home runtime)The field's home runtime — the skill runs as a forked subagent.
CodexNot documentedNot documented for this runtime — we hold no runtime-specific evidence either way.
CursorNot documentedNot documented for this runtime — we hold no runtime-specific evidence either way.
OpenClawNot documentedNot documented for this runtime — we hold no runtime-specific evidence either way.
Hermes AgentNot documentedNot documented for this runtime — we hold no runtime-specific evidence either way.

How to fix it

  • If the skill is shared across runtimes, treat `context: fork` as a Claude Code-only enhancement, not a requirement the skill's instructions depend on. Write the body so it still makes sense running inline.

Elsewhere