skills/17-DAAF-Contribution-Community-daaf/dot-claude/skills/skill-authoring/SKILL.md
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.
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research 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.
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.
A Skill is a reusable instruction set that extends agent capabilities:
scripts/, references/, assets/ directoriesskill({ name: "skill-name" }) to load| 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 |
quickstart.md then frontmatter.mdstructure.md then progressive-disclosure.mdreferences-resources.mdtesting-iteration.mdgotchas.md firstCreating 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
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
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
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
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
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
---
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.
.claude/skills/<name>/
├── SKILL.md # Required
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
└── assets/ # Optional: templates, images
| 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) |
^[a-z0-9]+(-[a-z0-9]+)*$
| Component | Limit | Notes |
|-----------|-------|-------|
| Name | 64 chars | Lowercase hyphen-case |
| Description (frontmatter) | 250 chars | Hard limit — truncated at 250 chars in system prompt; all agents see this |
| Description (body) | ~500 chars | Full description as plain paragraph after # Title; loaded with skill |
| SKILL.md body | <500 lines | Guideline, not enforced |
| SKILL.md body | <5000 words | Keep concise |
| Metadata per skill | ~100 words | Always in context |
| Principle | Meaning |
|-----------|---------|
| Concise is Key (SKILL.md) | The SKILL.md body shares context with conversation history; justify every token there. Claude is already smart — only add context it doesn't already have |
| Thorough is Key (references) | Reference files are loaded on-demand at Level 3. Their token cost is incurred only when needed, so they should be comprehensive — encode all discovered knowledge rather than summarizing. Err on the side of more detail in reference files |
| Progressive Disclosure | Load only what's needed, when needed |
| Appropriate Freedom | Match specificity to task fragility (high freedom for flexible tasks, low freedom for fragile/critical operations) |
| Explain the Why | Use reasoning over rigid directives. If you find yourself writing ALWAYS/NEVER in all caps, reframe and explain the reasoning instead — it's more effective |
| Examples over Prose | Show input/output pairs rather than describing behavior in paragraphs |
| Test and Iterate | Create test prompts, observe behavior, refine. See ./references/testing-iteration.md |
polars or plotnine)# Title heading in the body — this provides complete context once the skill is loadedreferences/ filesdatasets-reference.md codebook column<details> sections if needed)Skills are automatically discovered via their YAML frontmatter — the orchestrator sees all skills listed in the system message at conversation start. No manual registration is needed for triggering. Once the skill's SKILL.md is placed in .claude/skills/{skill-name}/, it becomes available immediately.
Framework integration beyond discovery: If the skill should be preloaded by specific agents (via skills: frontmatter), referenced in pipeline stage mappings, or wired into workflow documentation, additional registration is required. See agent_reference/FRAMEWORK_INTEGRATION_CHECKLIST.md § 1 (items S8-S10) for the complete list of conditional integration points.
When authoring a data source skill, include a codebook reference section if codebooks exist for the source. Follow the existing pattern (modeled after PSEO):
### [Source] Codebooks
| Dataset | Codebook Path |
|---------|---------------|
| ... | `path/to/codebook_name` |
> Codebooks are `.xls` files on both mirrors. See `datasets-reference.md` for full catalog
> and `fetch-patterns.md` for `get_codebook_url()`. For human reference — not parsed programmatically.
The codebook path comes from the codebook column in datasets-reference.md. Metadata files are for human reference only — they are not parsed programmatically by the pipeline.
| Topic | Reference File |
|-------|---------------|
| Directory location | ./references/quickstart.md |
| Minimal example | ./references/quickstart.md |
| First skill walkthrough | ./references/quickstart.md |
| Name field spec | ./references/frontmatter.md |
| Description field spec | ./references/frontmatter.md |
| Description writing tips | ./references/frontmatter.md |
| Optional fields | ./references/frontmatter.md |
| Validation rules | ./references/frontmatter.md |
| Body patterns | ./references/structure.md |
| Decision tree format | ./references/structure.md |
| Table conventions | ./references/structure.md |
| Section templates | ./references/structure.md |
| Content patterns (checklists, feedback loops) | ./references/structure.md |
| Three-level loading | ./references/progressive-disclosure.md |
| Content splitting | ./references/progressive-disclosure.md |
| Token budget | ./references/progressive-disclosure.md |
| scripts/ directory | ./references/references-resources.md |
| Script error handling | ./references/references-resources.md |
| references/ directory | ./references/references-resources.md |
| assets/ directory | ./references/references-resources.md |
| Test prompts | ./references/testing-iteration.md |
| Triggering tests | ./references/testing-iteration.md |
| Multi-model testing | ./references/testing-iteration.md |
| Iteration workflow | ./references/testing-iteration.md |
| Observing skill behavior | ./references/testing-iteration.md |
| Validation errors | ./references/gotchas.md |
| Anti-patterns | ./references/gotchas.md |
| Undertriggering / overtriggering | ./references/gotchas.md |
| Pre-submission checklist | ./references/gotchas.md |
tools
Recommend AND run open-source AI tools, agents, Claude Code / Codex skills, and MCP servers for any stage of a literature review — searching, reading, extracting, synthesizing, screening, citation-checking, and paper writing. Use when the user asks "what tool should I use to..." OR "install/run/use <tool> to ..." for research/lit-review work: automating a survey or related-work section, PDF→Markdown extraction for LLMs (MinerU/marker/docling), PRISMA / systematic review (ASReview), citation-backed Q&A over PDFs (PaperQA2), wiring papers into Claude/Cursor via MCP (arxiv/paper-search/zotero servers), or chatting with a Zotero library. Ships a launcher (scripts/litrun.py) that installs each tool in an isolated venv and runs it. Curated catalog of 70+ vetted projects. 支持中英文(用于「文献综述工具选型」与「一键安装/运行」)。
development
Route empirical-research requests through the Auto-Empirical Research Skills catalog when this whole repository is installed as one skill in Codex, CodeBuddy, Claude Code, or another IDE. Use to choose and load the right vendored AERS skill for causal inference, econometrics, replication, data acquisition, manuscript writing, peer review and referee responses, citation checking, de-AIGC editing, or full empirical-paper workflows without reading the entire repository at once.
documentation
Use when the project collects primary data or runs a field, lab, or survey experiment, before the intervention begins — write the pre-analysis plan, size the sample from a power calculation, and register with the AEA RCT Registry. Apply after the design is chosen in aer-identification and before any outcome data are seen.
tools
Guide economists to authoritative data sources with explicit, confirmed data specifications before retrieval; interfaces with Playwright MCP to navigate portals and extract real data, not articles about data.