Skip to content

SKILL.md frontmatter uses flow sequences which fail agentskills validate #521

@ytausch

Description

@ytausch

Problem

The SKILL.md frontmatter in this repo uses YAML flow sequences (JSON-style inline arrays):

---
name: gws-calendar
version: 1.0.0
description: "Google Calendar: Manage calendars and events."
metadata:
  openclaw:
    category: "productivity"
    requires:
      bins: ["gws"]
    cliHelp: "gws calendar --help"
---

The Agent Skills reference implementation (skills-ref) uses strictyaml to parse frontmatter, which intentionally rejects flow sequences. This means agentskills validate fails on all gws-cli skills:

$ uvx --from skills-ref agentskills validate skills/gws-calendar/
Validation failed for skills/gws-calendar:
  - Invalid YAML in frontmatter: While scanning
  in "<unicode string>", line 9, column 13:
          bins: ["gws"]
                ^ (line: 9)
Found ugly disallowed JSONesque flow mapping (surround with ' and ' to make text appear literally)
  in "<unicode string>", line 9, column 14:
          bins: ["gws"]
                 ^ (line: 9)

This affects all 92 skills since they all contain bins: ["gws"].

Reproducer

import strictyaml

strictyaml.load('bins: ["gws"]')
# strictyaml.exceptions.YAMLValidationError

vs. the block-style equivalent which works fine:

strictyaml.load('bins:\n  - gws')
# OK

Suggested fix

Replace flow sequences with block-style sequences in the frontmatter:

     requires:
-      bins: ["gws"]
+      bins:
+        - gws

This is valid YAML either way, but the block style is compatible with strictyaml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions