Skills standard compliance

Implement Agent Skills standard (https://agentskills.io/specification):
- Validate name (must match parent dir, lowercase, max 64 chars)
- Validate description (required, max 1024 chars)
- Warn on unknown frontmatter fields
- Warn on name collisions (keep first)
- Change prompt format to XML structure
- Remove {baseDir} placeholder (use relative paths)
- Add tests and update documentation

fixes #231
This commit is contained in:
Mario Zechner 2025-12-19 00:11:39 +01:00
parent 2f86c8bc3c
commit 05b7b81338
21 changed files with 692 additions and 149 deletions

View file

@ -0,0 +1,8 @@
---
name: calendar
description: First calendar skill.
---
# Calendar (First)
This is the first calendar skill.

View file

@ -0,0 +1,8 @@
---
name: calendar
description: Second calendar skill.
---
# Calendar (Second)
This is the second calendar skill.

View file

@ -0,0 +1,8 @@
---
name: bad--name
description: A skill with consecutive hyphens in the name.
---
# Consecutive Hyphens
This skill has consecutive hyphens in its name.

View file

@ -0,0 +1,8 @@
---
name: Invalid_Name
description: A skill with invalid characters in the name.
---
# Invalid Name
This skill has uppercase and underscore in the name.

View file

@ -0,0 +1,8 @@
---
name: this-is-a-very-long-skill-name-that-exceeds-the-sixty-four-character-limit-set-by-the-standard
description: A skill with a name that exceeds 64 characters.
---
# Long Name
This skill's name is too long.

View file

@ -0,0 +1,7 @@
---
name: missing-description
---
# Missing Description
This skill has no description field.

View file

@ -0,0 +1,8 @@
---
name: different-name
description: A skill with a name that doesn't match the directory.
---
# Name Mismatch
This skill's name doesn't match its parent directory.

View file

@ -0,0 +1,8 @@
---
name: child-skill
description: A nested skill in a subdirectory.
---
# Child Skill
This skill is nested in a subdirectory.

View file

@ -0,0 +1,3 @@
# No Frontmatter
This skill has no YAML frontmatter at all.

View file

@ -0,0 +1,10 @@
---
name: unknown-field
description: A skill with an unknown frontmatter field.
author: someone
version: 1.0
---
# Unknown Field
This skill has non-standard frontmatter fields.

View file

@ -0,0 +1,8 @@
---
name: valid-skill
description: A valid skill for testing purposes.
---
# Valid Skill
This is a valid skill that follows the Agent Skills standard.