Skip to content

Bring bundled skill frontmatter into Agent Skills spec compliance#56

Merged
jbragg merged 1 commit into
mainfrom
fix/skill-frontmatter-spec-compliance
May 11, 2026
Merged

Bring bundled skill frontmatter into Agent Skills spec compliance#56
jbragg merged 1 commit into
mainfrom
fix/skill-frontmatter-spec-compliance

Conversation

@jbragg

@jbragg jbragg commented May 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Every bundled SKILL.md in plugins/asta/skills/* and plugins/asta-preview/skills/* violates the Agent Skills specification in two ways:

  1. name field: spec requires "lowercase letters, numbers, and hyphens only" and "must match the parent directory name". Existing skills use display-style names (Semantic Scholar Lookup, Asta Library, etc.) that fail both rules.
  2. allowed-tools field: spec requires "a space-separated string"; existing skills use YAML list syntax.

This PR rewrites the frontmatter to comply with the spec — no semantic content changes, just formatting. Display names move into the markdown body where they belong (they already appear as the first # Heading on most skills).

inspect_ai's read_skills() (called transitively by inspect_swe agents via install_skills(), and any other consumer using the skills-ref validator) enforces the spec and rejects the existing files. Consumers that don't use read_skills (e.g. raw claude_code SKILL.md parser) accept the existing format, which is why this hasn't been noticed.

Normalized via a one-off pyyaml-based script: name: → parent directory's kebab-case slug; allowed-tools: [list]allowed-tools: <space-joined string>. Verified all 19 normalized SKILL.md files pass inspect_ai.tool.read_skills validation.

Needed by: agent-baselines inspect_swe baseline solver, which clones asta-plugins host-side and passes skill dirs through inspect_swe's standard skills= plumbing (which calls read_skills and currently rejects every bundled skill).

@jbragg
jbragg force-pushed the fix/skill-frontmatter-spec-compliance branch 5 times, most recently from ac90901 to 857b592 Compare May 11, 2026 16:57
@jbragg
jbragg requested a review from rodneykinney May 11, 2026 17:05
Every bundled SKILL.md in skills/* violated the Agent Skills spec
(https://agentskills.io/specification) in two ways:

- 'name': spec requires lowercase letters/numbers/hyphens matching the
  parent directory name. Existing skills used display strings.
- 'allowed-tools': spec requires a space-separated string. Existing
  skills used YAML list syntax.

Inspect_ai's read_skills() (called transitively by any inspect_swe
agent via install_skills(), and any consumer using the skills-ref
validator) rejects the existing format. Claude Code's own parser is
more permissive and accepts both forms.

Adds scripts/validate-skills.py and a 'make check-skills' target,
wired into the CI workflow, so regressions to either field get caught
at PR time.
@jbragg
jbragg force-pushed the fix/skill-frontmatter-spec-compliance branch from 857b592 to 6fcf83a Compare May 11, 2026 20:43
@jbragg
jbragg merged commit 4028797 into main May 11, 2026
6 checks passed
@jbragg
jbragg deleted the fix/skill-frontmatter-spec-compliance branch May 11, 2026 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants