skills/agentskills-spec/SKILL.md
Authoritative specification for the Agent Skills (agentskills.io) SKILL.md format. Use this skill when generating or validating SKILL.md files.
npx skillsauth add cedricziel/assistant agentskills-specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A skill is a directory containing a SKILL.md file that teaches an AI agent how to perform a task or use a domain of knowledge. This specification defines the required format.
<skill-name>/
├── SKILL.md # Required — frontmatter + body
├── scripts/ # Optional — executable scripts
├── references/ # Optional — reference documents
└── assets/ # Optional — binary assets
---
name: <kebab-case-name>
description: <human-readable description>
license: <SPDX license identifier>
compatibility: <optional version or platform constraint>
allowed-tools: <space-separated kebab-case tool IDs (e.g. file-read web-fetch bash)>
metadata:
key: value
---
<markdown body — instructions for the agent>
| Field | Required | Constraints |
| --------------- | -------- | ---------------------------------------------------------------------------------------- |
| name | Yes | kebab-case (lowercase letters, digits, hyphens); max 64 chars; must match directory name |
| description | Yes | Non-empty; max 1024 chars |
| license | No | SPDX identifier (e.g. MIT, Apache-2.0) |
| compatibility | No | Max 500 chars; version constraint or platform note |
| allowed-tools | No | Space-separated kebab-case tool IDs (e.g. file-read web-fetch bash) |
| metadata | No | Arbitrary key/value map for custom attributes |
## headings to organize sectionsname must be kebab-case: only lowercase ASCII letters, digits, and non-leading/trailing/consecutive hyphensname must match the directory name exactlydescription must be non-empty and ≤ 1024 characterscompatibility if present must be ≤ 500 characters------
name: git-commit
description: Teaches the agent to write semantic git commit messages following the Conventional Commits specification.
license: MIT
allowed-tools: bash file-read
---
## Conventional Commits
Always format commit messages as: `<type>(<scope>): <description>`
Types: feat, fix, chore, docs, refactor, test, perf
### Rules
- Subject line max 72 characters
- Use imperative mood ("add feature" not "added feature")
- Reference issues with (#123) at end of subject
name that is kebab-case and describes the skill's purposedescription that is one clear sentence (≤ 1024 chars)license: MIT unless the user specifies otherwiseallowed-tools## sections: purpose, rules/constraints, examples--- frontmatter delimiterstools
Enforces OpenAPI spec discipline when working on REST API endpoints in this project. Triggers whenever adding, modifying, or removing HTTP routes, request/response types, or API handlers in the Rust web-ui crate (`crates/web-ui`). Reminds the agent to (1) update the committed `openapi.json` spec, (2) run `make dump-openapi` to re-export the spec from the running server, and (3) run `make generate-flutter-client` to regenerate the Dart/dio client in `app/packages/assistant_api/`. Also applies when changing route parameters, status codes, or authentication on existing endpoints.
tools
Browser automation via @playwright/mcp (Microsoft). Use this when the user wants to navigate websites, fill forms, take screenshots, scrape web content, test web apps, or run any multi-step browser workflow. Requires no display (headless mode supported).
testing
A minimal example WASM skill that returns a greeting. Use to verify that the WASM execution tier is working correctly.
development
Run coding agents (Claude Code, Codex, OpenCode, or others) as background processes for programmatic control. Use when you need non-blocking execution, parallel agents, PR reviews, or long-running coding tasks. Prefer this over direct bash for any task that takes more than ~20 seconds.