skills/skill-authoring/SKILL.md
Guide for authoring skills in the Agonda system. Covers two skill templates (CLI/API and knowledge processing), YAML frontmatter spec, progressive disclosure patterns, config management, and shipping checklists. Use when creating a new skill, validating skill structure, or understanding skill conventions.
npx skillsauth add alavida-ai/skills skill-authoringInstall 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.
How to design, structure, and ship a skill in the Agonda system.
A skill is a self-contained capability owned by a domain. It wraps a CLI, API, workflow, or text processing pipeline behind a standardized interface so any domain can adopt it without understanding its internals. The SKILL.md file is the contract — agents navigate to it, read it, and act. Skills are written for LLM consumption first, human consumption second.
Skills are NOT standalone programs. They are documented interfaces backed by an implementation (a script, an API client, a workflow, or a knowledge processing pipeline).
Choose the template that fits. If your skill calls external APIs or wraps a CLI, use CLI/API. If your skill reads/writes markdown files and transforms knowledge, use knowledge processing.
| Template | Use When | Sections | Tools | Example Skills |
|----------|----------|----------|-------|----------------|
| CLI/API | Wrapping an external API, CLI tool, or deployed service | 13 sections | Bash(./scripts/...) | buying-signals, icp-discovery, lead-discovery |
| Knowledge Processing | Processing text — extracting, connecting, or validating knowledge files | 8 sections | Read, Write, Edit, Grep, Glob | reduce, reflect, verify |
Detailed templates: See cli-api-template.md and knowledge-processing-template.md.
Every SKILL.md requires frontmatter. This is what agents read to decide whether to activate a skill.
---
name: my-skill
description: >
One-paragraph description with explicit trigger phrases.
"ALWAYS use this skill when asked to [do X], [do Y], or [do Z]."
last-updated: 2026-02-10
allowed-tools: Bash(./scripts/my-skill.js:*)
---
| Field | Required | Purpose |
|-------|----------|---------|
| name | Yes | Kebab-case identifier. Must match directory name. Knowledge processing skills use domain:skill-name format. |
| description | Yes | Multi-line with explicit trigger conditions. This is the primary triggering mechanism — agents match against it. |
| last-updated | Yes | ISO-8601 date. Drives freshness checks. |
| allowed-tools | Yes | Exact tool permissions, scoped as tightly as possible. Never grant Bash(*). |
| based-on | No | Lineage reference when adapting a published base skill. Format: github.com/{org}/{repo}/{skill-name}@v{semver} |
Trigger phrasing matters. Use explicit language: "ALWAYS use this skill when asked to..." followed by concrete actions. Vague descriptions mean agents won't find the skill.
Tool scoping matters. Bash(./scripts/my-skill.js:*) allows only the skill's own script. Read, Write, Edit, Grep, Glob for knowledge processing. Never over-grant.
Skills use a three-level loading system to manage context efficiently:
| Level | What Loads | When | Size Target |
|-------|-----------|------|-------------|
| 1. Metadata | name + description from frontmatter | Always in context | ~100 words |
| 2. SKILL.md body | Full instructions and workflow | When skill triggers | <500 lines |
| 3. References | references/, templates/, scripts/ | As needed during execution | Unlimited |
Keep SKILL.md body to the essentials and under 500 lines. Split detailed content into references/ files. Always reference split-out files from SKILL.md with clear descriptions of when to read them.
Key principle: When a skill supports multiple variations, keep only the core workflow and selection guidance in SKILL.md. Move variant-specific details into separate reference files. Keep references one level deep — all reference files link directly from SKILL.md.
skill-name/
├── SKILL.md # Required — the skill contract
├── scripts/ # Optional — CLI entry points
│ └── skill-name.js
├── references/ # Optional — detail docs loaded on demand
│ └── topic.md
├── templates/ # Optional — output templates
│ └── template.html
└── assets/ # Optional — files used in output (images, fonts)
The SKILL.md is the interface. Everything else is implementation detail. Do not create README.md, CHANGELOG.md, or other auxiliary files — the skill should only contain what an agent needs to do the job.
? for optional fields, inline comments for format hints.last-updated, verify the API or data models haven't changed."| File | Contents | Read when | |------|----------|-----------| | cli-api-template.md | 13-section document structure, config management patterns, CLI patterns, output modes, testing patterns | Building a skill that wraps an API or CLI tool | | knowledge-processing-template.md | 8-section document structure, key differences from CLI/API, quality gates, methodology | Building a skill that processes knowledge files | | checklists.md | Shipping checklists for both templates | Final validation before shipping any skill |
references/ files. Keep SKILL.md lean.development
Generate beautiful, self-contained HTML pages that visually explain systems, code changes, plans, and data. Use when the user asks for a diagram, architecture overview, diff review, plan review, project recap, comparison table, or any visual explanation of technical concepts. Also use proactively when you are about to render a complex ASCII table (4+ rows or 3+ columns) — present it as a styled HTML page instead.
development
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," or "SEO health check." For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.
tools
Reference skill for Claude Code plugin and hook authoring. Covers plugin.json schema, all 15 hook events, exit code semantics, matchers, environment variables, caching behavior, and proven Agonda patterns. Use when designing hooks, scaffolding plugins, validating hook configuration, or debugging hook behavior. Not a workflow — a knowledge base that other skills reference.
development
Invisible git layer for non-technical users. Handles commits, pushes, pulls, branching, and conflict resolution automatically — surfacing decisions only when human judgment is required, in plain business language with no git jargon. ALWAYS activate this skill when working with a non-technical user in a GitHub repo. Also activate when the user says "save my work," "send for review," "what changed," "am I up to date," or "publish my changes."