Skip to content

Python: Add SkillFrontmatter class with full agentskills.io spec fields #5710

@SergeyMenshykh

Description

@SergeyMenshykh

Port of .NET AgentSkillFrontmatter class. See .NET implementation for reference.

.NET has a dedicated AgentSkillFrontmatter class that parses and validates all agentskills.io spec frontmatter fields. Python currently has no frontmatter class — _extract_frontmatter() returns a plain (name, description) tuple and ignores additional spec fields.

.NET AgentSkillFrontmatter properties:

  • Name — required, validated (kebab-case, max 64 chars)
  • Description — required, validated (max 1024 chars)
  • License — optional
  • Compatibility — optional, validated (max 500 chars)
  • AllowedTools — optional, space-delimited pre-approved tool names
  • Metadata — optional, arbitrary key-value pairs

Python currently only parses name and description. The other fields (license, compatibility, allowed_tools, metadata) are ignored.

Changes needed

  • Create a SkillFrontmatter class with all spec fields
  • Update _extract_frontmatter() to parse and return SkillFrontmatter instead of (name, description) tuple
  • Add validation for compatibility (max 500 chars)
  • Store the frontmatter on Skill base class (or FileSkill) for downstream access
  • Update callers of _extract_frontmatter() accordingly

Metadata

Metadata

Type

No type

Projects

Status

Planned

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions