ant_ai.skills.protocol
AgentSkill
pydantic-model
Bases: BaseModel
Represents a parsed Agent Skill conforming to the agentskills.io specification.
See https://agentskills.io/specification for the full format spec.
Show JSON schema:
{
"description": "Represents a parsed Agent Skill conforming to the agentskills.io specification.\n\nSee https://agentskills.io/specification for the full format spec.",
"properties": {
"name": {
"description": "Skill identifier. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen, and must not contain consecutive hyphens.",
"maxLength": 64,
"minLength": 1,
"pattern": "^[a-z0-9](-?[a-z0-9]+)*$",
"title": "Name",
"type": "string"
},
"description": {
"description": "One-line description of what the skill does and when to use it.",
"maxLength": 1024,
"minLength": 1,
"title": "Description",
"type": "string"
},
"instructions": {
"description": "Full Markdown body of SKILL.md, injected into context on activation.",
"title": "Instructions",
"type": "string"
},
"skill_dir": {
"description": "Resolved absolute path to the skill folder on disk.",
"format": "path",
"title": "Skill Dir",
"type": "string"
},
"scripts": {
"description": "Files found in scripts/. Informational only \u2014 not auto-registered as tools. SKILL.md instructions reference these by path for the agent to invoke.",
"items": {
"format": "path",
"type": "string"
},
"title": "Scripts",
"type": "array"
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "License name or reference to a bundled license file.",
"title": "License"
},
"compatibility": {
"anyOf": [
{
"maxLength": 500,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Environment requirements (intended product, system packages, etc.).",
"title": "Compatibility"
},
"metadata": {
"additionalProperties": {
"type": "string"
},
"description": "Arbitrary key-value metadata from SKILL.md frontmatter.",
"title": "Metadata",
"type": "object"
},
"allowed_tools": {
"description": "Pre-approved tools the skill may use (from the allowed-tools field).",
"items": {
"type": "string"
},
"title": "Allowed Tools",
"type": "array"
}
},
"required": [
"name",
"description",
"instructions",
"skill_dir"
],
"title": "AgentSkill",
"type": "object"
}
Fields:
-
name(str) -
description(str) -
instructions(str) -
skill_dir(Path) -
scripts(list[Path]) -
license(str | None) -
compatibility(str | None) -
metadata(dict[str, str]) -
allowed_tools(list[str])
Source code in src/ant_ai/skills/protocol.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | |
name
pydantic-field
name: str
Skill identifier. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen, and must not contain consecutive hyphens.
description
pydantic-field
description: str
One-line description of what the skill does and when to use it.
instructions
pydantic-field
instructions: str
Full Markdown body of SKILL.md, injected into context on activation.
skill_dir
pydantic-field
skill_dir: Path
Resolved absolute path to the skill folder on disk.
scripts
pydantic-field
scripts: list[Path]
Files found in scripts/. Informational only — not auto-registered as tools. SKILL.md instructions reference these by path for the agent to invoke.
license
pydantic-field
license: str | None = None
License name or reference to a bundled license file.
compatibility
pydantic-field
compatibility: str | None = None
Environment requirements (intended product, system packages, etc.).
metadata
pydantic-field
metadata: dict[str, str]
Arbitrary key-value metadata from SKILL.md frontmatter.
allowed_tools
pydantic-field
allowed_tools: list[str]
Pre-approved tools the skill may use (from the allowed-tools field).