SKM-P05 · Portability
`metadata.hermes.*` is a Hermes Agent-only field
Conditional activation against available toolsets — a Hermes Agent mechanism.
What the rule is
`metadata.hermes.requires_toolsets` (and other `metadata.hermes.*` keys) gate a skill's activation on which toolsets are currently available — a Hermes Agent-specific mechanism for conditional activation.
Like the OpenClaw fields in SKM-P04, what happens to an unrecognised `metadata.hermes.*` key outside Hermes Agent isn't documented anywhere we've found. It plausibly degrades quietly, with the conditional-activation behaviour simply lost — but that's an assumption, not a confirmed fact for Claude Code, Codex, Cursor, or OpenClaw specifically.
Unlike `command-dispatch` or `disable-model-invocation`, this one passes strict spec conformance: `metadata.hermes.*` is nested inside the already-valid `metadata` field, and the official reference validator doesn't inspect what's inside it. A skill using this field is not flagged by the reference validator at all — the only real question is what a live Hermes Agent (or any other runtime) actually does with it, which stays undocumented.
Where it comes from
- Hermes Agent — official skills documentationRuntime documentation
- Agent Skills compatibilityAgentSkills.site
- Agent skills not workingAgentSkills.site
Strict spec conformance
Conformant. The official reference validator (skills-ref) accepts this.
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
| Runtime | Effect | Note |
|---|---|---|
| Claude Code | Not documented | Not documented for this runtime — we hold no runtime-specific evidence either way. |
| Codex | Not documented | Not documented for this runtime — we hold no runtime-specific evidence either way. |
| Cursor | Not documented | Not documented for this runtime — we hold no runtime-specific evidence either way. |
| OpenClaw | Not documented | Not documented for this runtime — we hold no runtime-specific evidence either way. |
| Hermes Agent | Enforced (home runtime) | The field's home runtime — gates activation on the toolsets named in `requires_toolsets`. |
How to fix it
- If the skill needs to communicate a toolset dependency outside Hermes Agent, state it in the skill's body instructions as well, since the metadata field itself may not be read anywhere else.
Elsewhere
- SKILL.md, the formatThe full frontmatter field table this rule is drawn from.
- Agent Skills Not WorkingThe diagnostic reference this rule’s portability and failure evidence comes from.
- All rulesEvery check the validator runs, grouped by class.