Skip to content
Automation
Skill

/skill-authoring

Guide for creating and auditing DAAF skills (SKILL.md). Covers frontmatter, metadata vocabulary, progressive disclosure, decision trees, reference files. Use when creating, reviewing, or debugging skill loading. For agent files, use agent-authoring.

From plugin
auto-empirical-research-skills
5k200 skills

Claude Code

$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill skill-authoring --agent claude-code

SKILL.md

skill-authoring.SKILL.md
name: skill-authoring
description: >-
  Guide for creating and auditing DAAF skills (SKILL.md). Covers frontmatter, metadata vocabulary, progressive disclosure, decision trees, reference files. Use when creating, reviewing, or debugging skill loading. For agent files, use agent-authoring.
metadata:
  audience: any-agent
  domain: skill-development

Skill Authoring

Guide for creating and auditing DAAF agent skills. Covers SKILL.md format, frontmatter requirements and validation rules, controlled vocabulary for metadata, progressive disclosure patterns, decision trees, reference files, and bundled resource organization. Use when creating a new skill, reviewing or auditing skill structure and frontmatter, or debugging skill loading and triggering issues. For creating agent definition files (.claude/agents/*.md), use agent-authoring instead.

Quick reference for creating well-structured Skills. Use decision trees below to find guidance, then load detailed references as needed.

What is a Skill?

A Skill is a reusable instruction set that extends agent capabilities:

  • **SKILL.md file**: Required entry point with YAML frontmatter + Markdown body
  • **Progressive disclosure**: Metadata loaded at startup, body on trigger, resources on-demand
  • **Bundled resources**: Optional `scripts/`, `references/`, `assets/` directories
  • **On-demand loading**: Agent calls `skill({ name: "skill-name" })` to load

How to Use This Skill

Reference File Structure

| File | Purpose | When to Read | |------|---------|--------------| | `quickstart.md` | Minimal skill, directory setup | Creating first skill | | `frontmatter.md` | YAML spec, validation rules, description writing | Writing frontmatter | | `structure.md` | Body patterns, section templates, content patterns | Organizing content | | `progressive-disclosure.md` | Three-level loading, splitting | Managing token budget | | `references-resources.md` | scripts/, references/, assets/ | Adding bundled resources | | `testing-iteration.md` | Test prompts, iteration workflow, multi-model testing | Validating and improving skills | | `gotchas.md` | Anti-patterns, validation errors, diagnostics | Debugging or reviewing |

Reading Order

1. **Creating a skill?** Start with `quickstart.md` then `frontmatter.md` 2. **Structuring content?** Read `structure.md` then `progressive-disclosure.md` 3. **Adding resources?** See `references-resources.md` 4. **Testing and improving?** See `testing-iteration.md` 5. **Having issues?** Check `gotchas.md` first

Quick Decision Trees

"I need to create a skill"

Creating a new skill?
โ”œโ”€ Where to put it โ†’ ./references/quickstart.md
โ”œโ”€ Minimal example โ†’ ./references/quickstart.md
โ”œโ”€ Write frontmatter โ†’ ./references/frontmatter.md
โ”œโ”€ Name validation โ†’ ./references/frontmatter.md
โ””โ”€ Description best practices โ†’ ./references/frontmatter.md

"I need to structure the body"

Structuring SKILL.md body?
โ”œโ”€ Workflow-based (sequential steps) โ†’ ./references/structure.md
โ”œโ”€ Task-based (tool collection) โ†’ ./references/structure.md
โ”œโ”€ Reference-based (standards/specs) โ†’ ./references/structure.md
โ”œโ”€ Capabilities-based (features) โ†’ ./references/structure.md
โ”œโ”€ Decision tree format โ†’ ./references/structure.md
โ””โ”€ Table conventions โ†’ ./references/structure.md

"I need to manage content size"

Content too large?
โ”œโ”€ Understand three-level loading โ†’ ./references/progressive-disclosure.md
โ”œโ”€ When to split into references โ†’ ./references/progressive-disclosure.md
โ”œโ”€ Domain-specific organization โ†’ ./references/progressive-disclosure.md
โ”œโ”€ Framework/variant splitting โ†’ ./references/progressive-disclosure.md
โ””โ”€ Token budget guidelines โ†’ ./references/progressive-disclosure.md

"I need to add resources"

Adding bundled resources?
โ”œโ”€ Executable scripts โ†’ ./references/references-resources.md
โ”œโ”€ Documentation files โ†’ ./references/references-resources.md
โ”œโ”€ Template assets โ†’ ./references/references-resources.md
โ”œโ”€ When to use each type โ†’ ./references/references-resources.md
โ””โ”€ Directory structure โ†’ ./references/references-resources.md

"I need to test or improve a skill"

Testing or iterating?
โ”œโ”€ Create test prompts โ†’ ./references/testing-iteration.md
โ”œโ”€ Test triggering accuracy โ†’ ./references/testing-iteration.md
โ”œโ”€ Iterate based on feedback โ†’ ./references/testing-iteration.md
โ”œโ”€ Test across models โ†’ ./references/testing-iteration.md
โ””โ”€ Observe navigation patterns โ†’ ./references/testing-iteration.md

"Something isn't working"

Debugging a skill?
โ”œโ”€ Skill not loading โ†’ ./references/gotchas.md
โ”œโ”€ Skill undertriggering โ†’ ./references/gotchas.md
โ”œโ”€ Skill overtriggering โ†’ ./references/gotchas.md
โ”œโ”€ Validation errors โ†’ ./references/gotchas.md
โ”œโ”€ Name format issues โ†’ ./references/frontmatter.md
โ”œโ”€ Description too long โ†’ ./references/frontmatter.md
โ””โ”€ Common anti-patterns โ†’ ./references/gotchas.md

Quick Reference

Minimal SKILL.md Template

---
name: my-skill-name
description: What this skill does. When to use it (specific triggers).
metadata:
  audience: target-users
  domain: skill-domain
---

# My Skill Name

Brief intro sentence.

## Section 1

Content here.

Directory Structure

.claude/skills/<name>/
โ”œโ”€โ”€ SKILL.md              # Required
โ”œโ”€โ”€ scripts/              # Optional: executable code
โ”œโ”€โ”€ references/           # Optional: documentation
โ””โ”€โ”€ assets/               # Optional: templates, images

Frontmatter Validation Rules

| Field | Required | Constraints | |-------|----------|-------------| | `name` | Yes | Lowercase alphanumeric + hyphens, 1-64 chars, no leading/trailing/consecutive hyphens | | `description` | Yes | 1-1024 chars, no angle brackets (`<` `>`), include what + when | | `metadata` | No | Key-value pairs (strings) |

Name Validation Regex

^[a-z0-9]+(-[a-z0-9]+)*$

Content Limits

| Component | Limit | Notes | |-----------|-------|-------| | Name | 64 chars | Lowercase hyphen-case | | Description (frontma

Read more
@brycewang-stanford
Ships withauto-empirical-research-skills

## ๐Ÿ”ฅ ๅŠ›่ ยท StatsPAI โ€” Stata ไธŽ R ็š„ Python ๅนณๆ›ฟ๏ผŒไธบ AI Agent ่€Œ็”Ÿ ๐Ÿ” Stata / R ๅนณๆ›ฟ๏ผšreghdfeใ€csdidใ€rdrobustใ€synthใ€fixestใ€did ็ญ‰ๅธธ็”จๅ‘ฝไปคๅœจ Python ไธญไธ€็ซ™ๅผๆ›ฟไปฃ๏ผŒไธ€ไธช import statspai as sp ๆžๅฎš DID / RD / IV / SCM / DML / matching ๐Ÿค– ้ขๅ‘ Agent ่ฎพ่ฎก๏ผš็ป“ๆž„ๅŒ–็ป“ๆžœๅฏน่ฑก + ๅ†…็ฝฎ MCP Server๏ผŒClaude / Codex

Stars on GitHub

Momentum

stars in total
5.0k
Star history of brycewang-stanford/Auto-Empirical-Research-Skills on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, andโ€ฆ

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also coversโ€ฆ

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, fillingโ€ฆ

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use whenโ€ฆ

@nanocoai@nanocoaiInstall Skill

Questions about skill-authoring.

Which coding agents can use skill-authoring?
skill-authoring installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.