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, this degrades quietly elsewhere: an unrecognised `metadata.hermes.*` key is ignored, and the conditional-activation behaviour is simply lost outside Hermes Agent.
Where it comes from
- Agent Skills compatibilityRuntime documentation
- Agent skills not workingDiagnosis
Which runtimes enforce it
| Runtime | Effect | Note |
|---|---|---|
| Claude Code | Ignored | Ignored — conditional activation is lost. |
| Codex | Ignored | Ignored — conditional activation is lost. |
| Cursor | Ignored | Ignored — conditional activation is lost. |
| OpenClaw | Ignored | Ignored — conditional activation is lost. |
| 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 won't 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.