authoring-skills

Guides creation of effective Claude skills with proper structure, naming, and progressive disclosure. Use when creating new skills, improving existing SKILL.md files, reviewing skill quality, or when the user mentions writing skills, skill authoring, or SKILL.md.

16 stars

Best use case

authoring-skills is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Guides creation of effective Claude skills with proper structure, naming, and progressive disclosure. Use when creating new skills, improving existing SKILL.md files, reviewing skill quality, or when the user mentions writing skills, skill authoring, or SKILL.md.

Teams using authoring-skills should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/authoring-skills/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/testing-security/authoring-skills/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/authoring-skills/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How authoring-skills Compares

Feature / Agentauthoring-skillsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Guides creation of effective Claude skills with proper structure, naming, and progressive disclosure. Use when creating new skills, improving existing SKILL.md files, reviewing skill quality, or when the user mentions writing skills, skill authoring, or SKILL.md.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill Authoring

Create skills that Claude can discover and use effectively.

## Core Principles

### Conciseness is critical

The context window is shared. Only add what Claude doesn't already know.

Challenge each piece of content:
- "Does Claude really need this explanation?"
- "Can I assume Claude knows this?"
- "Does this justify its token cost?"

**Good** (~50 tokens):
```markdown
## Extract PDF text
Use pdfplumber:
\`\`\`python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
    text = pdf.pages[0].extract_text()
\`\`\`
```

**Bad** (~150 tokens): Explaining what PDFs are and why pdfplumber is recommended.

### Degrees of freedom

Match specificity to task fragility:

| Freedom | When to use | Example |
|---------|-------------|---------|
| **High** (text instructions) | Multiple valid approaches, context-dependent | Code review guidelines |
| **Medium** (pseudocode/parameters) | Preferred pattern exists, some variation OK | Report templates |
| **Low** (exact scripts) | Fragile operations, consistency critical | Database migrations |

### Test with target models

- **Haiku**: Does the skill provide enough guidance?
- **Sonnet**: Is it clear and efficient?
- **Opus**: Does it avoid over-explaining?

## Skill Structure

### Frontmatter requirements

```yaml
---
name: processing-pdfs
description: Extracts text and tables from PDF files. Use when working with PDFs or document extraction.
---
```

**name** (required):
- Max 64 characters
- Lowercase letters, numbers, hyphens only
- No reserved words: "anthropic", "claude"

**description** (required):
- Max 1024 characters
- Third person ("Processes files" not "I can process files")
- Include BOTH what it does AND when to use it
- Include key trigger terms for discovery

### Naming conventions

Use gerund form (verb + -ing):
- `processing-pdfs`
- `analyzing-spreadsheets`
- `managing-databases`

Avoid: `helper`, `utils`, `tools`, `documents`

### Progressive disclosure

Keep SKILL.md under 500 lines. Split content into reference files:

```
my-skill/
├── SKILL.md              # Overview (loaded when triggered)
├── FORMS.md              # Detailed guide (loaded as needed)
├── reference.md          # API reference (loaded as needed)
└── scripts/
    └── validate.py       # Utility script (executed, not loaded)
```

**In SKILL.md**: Quick start, navigation to details
**In reference files**: Complete guides, API docs, examples

Keep references one level deep. Avoid: SKILL.md → advanced.md → details.md

See [reference/structure.md](reference/structure.md) for detailed organization patterns.

## Writing Descriptions

Descriptions enable skill discovery. Be specific:

**Good**:
```yaml
description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when analyzing Excel files, spreadsheets, tabular data, or .xlsx files.
```

**Bad**:
```yaml
description: Helps with documents
```

## Common Patterns

### Template pattern

Provide output format templates. Match strictness to requirements:

**Strict** (API responses): "ALWAYS use this exact structure"
**Flexible** (reports): "Sensible default, adapt as needed"

### Examples pattern

For quality-dependent output, provide input/output pairs:

```markdown
**Example 1:**
Input: Added user authentication with JWT tokens
Output: feat(auth): implement JWT-based authentication
```

### Workflow pattern

Break complex tasks into clear steps with checklists:

```markdown
Task Progress:
- [ ] Step 1: Analyze input
- [ ] Step 2: Validate mapping
- [ ] Step 3: Execute changes
- [ ] Step 4: Verify output
```

See [reference/patterns.md](reference/patterns.md) for complete pattern examples.

## Feedback Loops

**Pattern**: Run validator → fix errors → repeat

```markdown
1. Make edits
2. Validate: `python scripts/validate.py`
3. If validation fails: fix and re-validate
4. Only proceed when validation passes
```

See [reference/patterns.md](reference/patterns.md) for workflow details.

## Anti-Patterns

- **Windows paths**: Use `scripts/helper.py` not `scripts\helper.py`
- **Too many options**: Provide one default, mention alternatives only when needed
- **Time-sensitive info**: Use "old patterns" sections instead of dates
- **Inconsistent terminology**: Pick one term, use it throughout
- **Deeply nested references**: Keep one level deep from SKILL.md

## Skills with Executable Code

For skills with scripts:

- **Handle errors explicitly** in scripts (don't punt to Claude)
- **Document constants** (no magic numbers)
- **List dependencies** and verify availability
- **Make execution intent clear**: "Run `script.py`" vs "See `script.py` for algorithm"
- **Create verifiable intermediate outputs** for complex operations

See [reference/advanced.md](reference/advanced.md) for executable code patterns.

## Evaluation

Build evaluations BEFORE writing documentation:

1. Run Claude on tasks without a skill - document failures
2. Create 3+ evaluation scenarios testing these gaps
3. Measure baseline performance
4. Write minimal instructions to pass evaluations
5. Iterate based on results

### Iterative development

Work with Claude to develop skills:
1. Complete a task with Claude, noting context you provide
2. Ask Claude to create a skill capturing the pattern
3. Review for conciseness
4. Test with fresh Claude instance
5. Iterate based on observed behavior

See [reference/checklist.md](reference/checklist.md) for the complete validation checklist.

Related Skills

doc-coauthoring

16
from diegosouzapw/awesome-omni-skill

Guia os usuários através de um fluxo de trabalho estruturado para coautoria de documentação. Use quando o usuário quiser escrever documentação, propostas, especificações técnicas, documentos de decisão ou conteúdo estruturado semelhante. Este fluxo de trabalho ajuda os usuários a transferir contexto de forma eficiente, refinar o conteúdo através de iteração e verificar se o documento funciona para os leitores. Acione quando o usuário mencionar escrever documentos, criar propostas, redigir especificações ou tarefas de documentação semelhantes.

anthropic-doc-coauthoring

16
from diegosouzapw/awesome-omni-skill

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

acceptance-criteria-authoring

16
from diegosouzapw/awesome-omni-skill

Write clear, testable acceptance criteria in Given-When-Then format following INVEST principles and BDD best practices.

document-writing-skills

16
from diegosouzapw/awesome-omni-skill

Teaches document writing patterns and templates that agents apply when generating documentation, reports, contracts, guides, and technical writing. Use when creating API docs, user guides, reports, changelogs, ADRs, or technical documentation.

writing-skills

16
from diegosouzapw/awesome-omni-skill

Use when creating new skills, editing existing skills, or verifying skills work before deployment

shipyard-writing-skills

16
from diegosouzapw/awesome-omni-skill

Use when creating new skills, editing existing skills, or verifying skills work before deployment

github-workflow-authoring

16
from diegosouzapw/awesome-omni-skill

This skill should be used when creating or improving GitHub Actions CI/CD workflows for Breenix kernel development. Use for authoring new test workflows, optimizing existing CI pipelines, adding new test types, fixing workflow configuration issues, or adapting workflows for new kernel features.

claude-scientific-skills

16
from diegosouzapw/awesome-omni-skill

Scientific research and analysis skills

aws-skills

16
from diegosouzapw/awesome-omni-skill

AWS development with infrastructure automation and cloud architecture patterns

unified-find-skills

16
from diegosouzapw/awesome-omni-skill

Helps users discover and install agent skills from skills.sh, clawhub.com, and tessl.io. Use when the user asks to find a skill for a task, extend agent capabilities, or search for tools/workflows.

ui-skills

16
from diegosouzapw/awesome-omni-skill

Opinionated constraints for building better interfaces with agents.

testing-skills-activation

16
from diegosouzapw/awesome-omni-skill

Use when creating or refining Claude Code skills to validate that skill descriptions trigger correctly - provides systematic testing methodology for skill activation patterns using test cases and automated evaluation