Skip to content

Skills: align SKILL.md frontmatter with the Agent Skills standard (require name + description; enforce name==dirname) #277

Description

@wz-gsa

Problem

Our schemas/skill.schema.json diverges from the Agent Skills open standard that Claude Code, OpenCode, Gemini CLI, Codex, Copilot, and Cursor all implement. The standard requires exactly two frontmatter fields for discovery:

  • name — required, 1-64 chars, ^[a-z0-9]+(-[a-z0-9]+)*$, must equal the skill's directory name.
  • description — required, 1-1024 chars; every agent uses it for progressive-disclosure discovery (loaded at startup to decide relevance).

OpenCode recognizes only name/description/license/compatibility/metadata and ignores unknown fields.

What our schema does today

  • REQUIRES id/version/title/type/status/owners/primary_personas/requires/output/quality_gates with additionalProperties: false.
  • Makes name optional17 of 27 skills under .agents/skills/ have no name: (verified). Strict consumers that key on name won't surface them, or will fall back to dirname unevenly.
  • description is optional and capped at 300 chars (one skill already hits 312). The standard allows 1024; a weak/absent description degrades cross-model discovery.

Proposal (consensus 7/7 approved, higher_order)

  1. For type: skill, make name + description required. Enforce the standard name regex and name == directory basename. Raise description max to 1024 with a meaningful minimum (>=20 chars, per AI/ML voter).
  2. Keep the rich governance/routing fields (id, routing, risk_tier, …) as additive metadata the standard ignores. Decide explicitly: keep top-level (unknown-field-ignored) vs namespace under metadata: (spec-clean). Recommend top-level for now to avoid a mass rewrite; document the decision.
  3. Backfill the 17 missing name: fields (= dirname) before flipping the schema to required, so CI doesn't hard-fail.
  4. Add a validator check + pytest asserting name == id == dirname and standard-conformance across all skills.

Acceptance

  • All 27 skills validate as Agent Skills skills (name+description conformant).
  • New test enforces name==id==dirname.
  • No regression in the router or INDEX generation.

Related: nested-directory conformance (separate issue), ship-patterns-as-kit (separate issue).

AI-assisted (OpenCode); consensus-reviewed. Requires human review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions