vigiles API reference
    Preparing search index...

    Function skillContract

    • Read <skillDir>/SKILL.md and return its declaration as checks.

      Two states are FINDINGS rather than empty contracts, and both return a surface that FAILS instead of passing vacuously:

      • undeclared — no allowed-tools: line, so nothing was claimed and there is no surface for a run to stay inside. Silently reporting "no violations" would present the widest possible capability surface as the cleanest one.
      • malformed — a frontmatter block that is not valid YAML. A strict loader rejects it, so the declared list is unknown, not empty; a regex salvage of it would be a guess. A declaration that does not parse is not an enforcement. (Observed live: a single unquoted : inside the description silently voided a skill's whole tool contract.)

      Parameters

      Returns SkillContract