ReadonlyactivationReadonlydeclaredallowed-tools: exactly as declared. Empty when undeclared or malformed.
ReadonlyidWhat skill() matches — <plugin>:<name>, or bare name if unresolvable.
ReadonlymalformedA frontmatter block exists but is not valid YAML, so nothing parsed.
ReadonlynameThe skill's name: (falls back to its directory name).
ReadonlysurfaceThe run stayed inside the declared surface.
ReadonlyundeclaredNo allowed-tools: line — nothing was claimed, so there is no declared
surface a run can be held to. (Every skill inherits every tool the session
grants either way; allowed-tools: pre-approves, it does not fence.)
The skill activated at all.