a-i--skills

Skill Specification

This document defines the format and requirements for AI agent skills.

File Structure

Every skill must have this minimal structure:

skill-name/
└── SKILL.md          # Required: main skill file

Optional directories:

skill-name/
├── SKILL.md          # Required: metadata + instructions
├── scripts/          # Optional: executable code
├── references/       # Optional: supporting documentation
└── assets/           # Optional: templates, images, fonts

SKILL.md Format

The SKILL.md file consists of two parts: YAML frontmatter and Markdown content.

YAML Frontmatter

The file must begin with YAML frontmatter delimited by ---:

---
name: skill-name
description: What the skill does and when to use it.
license: MIT
---

Required Fields

Field Type Description
name string Skill identifier. Must match the directory name exactly.
description string Task-focused description of what the skill does.

Optional Fields

Field Type Description
license string License type (e.g., MIT, Apache-2.0, Complete terms in LICENSE.txt)
complexity string Skill complexity level: beginner, intermediate, or advanced
time_to_learn string Estimated time to learn: 5min, 30min, 1hour, or multi-hour
prerequisites list Skills that should be learned first (list of skill names)
tags list Searchable keywords for discovery
metadata object Additional metadata (e.g., source, adapted-by, category)
inputs list What the skill expects as input (e.g., [source-code, openapi-spec])
outputs list What the skill produces (e.g., [test-report, mcp-server-code])
side_effects list Environment changes the skill may cause (e.g., [creates-files, runs-commands])
triggers list Activation conditions (see Activation Conditions)
complements list Skills that pair well with this one (list of skill names)
includes list Bundle: skills to install together (list of skill names; must exist)
tier string Quality tier: core (curated, reviewed) or community

Field Constraints

name

description

license

complexity (optional)

time_to_learn (optional)

prerequisites (optional)

tags (optional)

inputs (optional)

outputs (optional)

side_effects (optional)

triggers (optional)

complements (optional)

includes (optional)

tier (optional)

Markdown Content

After the frontmatter, include Markdown instructions:

---
name: example-skill
description: Example skill demonstrating the format.
license: MIT
---

# Skill Title

Brief overview of what this skill provides.

## When to Use

Describe scenarios where this skill applies.

## Process

Step-by-step workflow or instructions.

## Examples

Concrete examples showing the skill in action.

Optional Directories

scripts/

Executable code (Python, Bash, etc.) for deterministic tasks.

Example: scripts/rotate_pdf.py

references/

Documentation loaded into context as needed.

Keep SKILL.md lean; move detailed information to references.

assets/

Files used in skill output (not loaded into context).

Example: assets/template.pptx

Validation

Run the validation script to check your skill:

python3 scripts/validate_skills.py --collection example --unique

The validator checks:

Examples

Minimal Skill

---
name: simple-helper
description: A simple helper skill for basic tasks.
license: MIT
---

# Simple Helper

Instructions for the skill go here.

Complete Skill

---
name: complex-workflow
description: Guide for complex multi-step workflows requiring external tools and detailed documentation. Use when implementing enterprise-grade solutions.
license: MIT
---

# Complex Workflow Guide

## Overview

This skill provides a comprehensive framework for...

## Process

### Phase 1: Planning

1. Understand requirements
2. Review documentation in `references/`

### Phase 2: Implementation

1. Use scripts in `scripts/` for automation
2. Apply templates from `assets/`

## References

See `references/detailed-guide.md` for in-depth documentation.

Best Practices

  1. Be specific in descriptions - Include trigger phrases and use cases
  2. Keep SKILL.md focused - Move detailed docs to references/
  3. Use progressive disclosure - Essential info in SKILL.md, details in references
  4. Avoid duplication - Information should live in one place only
  5. Test with validation - Run validate_skills.py before committing