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 |
development
Conduct rigorous thematic analysis (TA) of qualitative data following Braun and Clarke's (2006) six-phase framework. Use whenever the user mentions 'thematic analysis', 'TA', 'Braun and Clarke', 'qualitative coding', 'identifying themes', or asks for help analysing interviews, focus groups, open-ended survey responses, or transcripts to identify patterns. Also trigger for questions about inductive vs theoretical coding, semantic vs latent themes, essentialist vs constructionist epistemology, building a thematic map, or writing up a qualitative findings section. Covers all six phases, the four upfront analytic decisions, the 15-point quality checklist, and the five common pitfalls. Produces a Word document write-up and an annotated thematic map. Does NOT cover IPA, grounded theory, discourse analysis, conversation analysis, or narrative analysis — use a different method for those.
development
Guide users through writing a systematic literature review (SLR) following the PRISMA 2020 framework. Use this skill whenever the user mentions 'systematic review', 'systematic literature review', 'SLR', 'PRISMA', 'PRISMA 2020', 'PRISMA flow diagram', 'PRISMA checklist', or asks for help writing, structuring, or auditing a literature review that follows reporting guidelines. Also trigger when the user asks about inclusion/exclusion criteria for a review, search strategies for databases like Scopus/WoS/PubMed, study selection processes, risk of bias assessment, or narrative synthesis for a review paper. This skill covers the full PRISMA 2020 checklist (27 items), produces a Word document manuscript in strict journal article format, generates an annotated PRISMA flow diagram, and enforces APA 7th Edition referencing throughout. It does NOT cover meta-analysis or statistical pooling. By Chuah Kee Man.
testing
Performs placebo-in-time sensitivity analysis with hierarchical null model and optional Bayesian assurance. Use when checking model robustness, verifying lack of pre-intervention effects, or estimating study power.
data-ai
Fit, summarize, plot, and interpret a chosen CausalPy experiment. Use after the causal method has been selected, including when configuring PyMC/sklearn models and scale-aware custom priors.