Skip to content

Release v7.2.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 22:42
cc84741

Closes #450

Fixed

  • Top-level key rejected by other validators. Skill path-hint triggers (#446) declared cratis-hint-paths as a top-level SKILL.md frontmatter key. Agent Skills allows only name, description, license, compatibility, metadata and allowed-tools at the top level, and Cratis/Strategy's validator rejected the corpus-update PR (Cratis/Strategy#310). The triggers now live at metadata.cratis-hint-paths as one quoted string of whitespace-separated globs. The globs themselves are unchanged.
  • The path-guidance extension reads the hints from metadata. Its frontmatter reader stays dependency-free and reads only the one supported form, so an unsupported spelling gives no triggers rather than a bogus glob.

Changed

  • Verify checks skill frontmatter against a real YAML parser. It uses yaml, a devDependency of Source/Verification only, which does not reach @cratis/pi. Verify now checks four things:
    • The frontmatter is valid YAML with no duplicate keys, and errors are reported at the SKILL.md line.
    • Top-level keys are within the Agent Skills set.
    • metadata maps strings to strings.
    • The runtime reader's globs equal the YAML value for every skill. This cross-check means a spelling the runtime reads differently can't silently lose a hint.
  • Messages name the actual cause. Unsupported forms get a specific message (block scalar, unquoted, trailing comment, list, flow map, wrong indentation, and so on), chosen from the YAML parse when the YAML is valid. For invalid YAML, the parser error comes first.

Verification

  • Local gate (CI's verify job): yarn install --immutable, the three check scripts, verify, test (168 tests, 167 pass, 1 unrelated skip), yarn pack --dry-run and git diff --check.
  • Strategy's validator (tools/lib/validate-agent-setup.rb) reports no skill errors on the new corpus. It flags the seven skills on main.
  • A real pi subagent still receives the cratis-specifications-csharp hint.
  • Review workflow: 9 rounds, with a final passed: true and no findings. It was Anthropic-only: two independent Opus 5.5 reviewers, each cross-checking the other. Earlier rounds found parser gaps that could lose hints silently; the YAML cross-check now closes them.