Agent Skills: Skill Writing Best Practices

Guidelines for creating AI agent skills. Use when writing new skills, documenting coding patterns, or reviewing skill files. Triggers when creating or modifying files in the skills/ directory.

UncategorizedID: sergiodxa/agent-skills/skill-writing-best-practices

Install this agent skill to your local

pnpm dlx add-skill https://github.com/sergiodxa/agent-skills/tree/HEAD/skills/skill-writing-best-practices

Skill Files

Browse the full folder contents for skill-writing-best-practices.

Download Skill

Loading file tree…

skills/skill-writing-best-practices/SKILL.md

Skill Metadata

Name
skill-writing-best-practices
Description
Guidelines for creating AI agent skills. Use when writing new skills, documenting coding patterns, or reviewing skill files. Triggers when creating or modifying files in the skills/ directory.

Skill Writing Best Practices

Patterns for creating effective AI agent skills that capture coding conventions and best practices. Contains 6 rules covering structure, content, and writing style.

When to Apply

Reference these guidelines when:

  • Creating a new skill from scratch
  • Extracting patterns from an existing codebase
  • Reviewing or improving existing skills
  • Converting documentation into skill format

Rules Summary

Structure (HIGH)

skill-directory-structure - @rules/skill-directory-structure.md

Every skill has a SKILL.md and a rules/ directory.

skills/
└── topic-best-practices/
    ├── SKILL.md              # Main summary with all rules
    └── rules/
        ├── rule-name.md      # Detailed individual rules
        └── another-rule.md

skill-md-structure - @rules/skill-md-structure.md

SKILL.md has frontmatter, overview, and condensed rule summaries.

---
name: topic-best-practices
description: When to use this skill.
---

# Topic Best Practices

Brief intro. Contains N rules across M categories.

## When to Apply

- Situation 1
- Situation 2

## Rules Summary

### Category (IMPACT)

#### rule-name - @rules/rule-name.md

One sentence. Code example.

rule-file-structure - @rules/rule-file-structure.md

Each rule file has frontmatter, explanation, examples, and takeaways.

---
title: Rule Title
impact: HIGH
tags: [relevant, tags]
---

# Rule Title

What to do and why.

## Why

- Benefit 1
- Benefit 2

## Pattern

\`\`\`ruby
# Bad
bad_code

# Good
good_code
\`\`\`

## Rules

1. Takeaway 1
2. Takeaway 2

Content (HIGH)

concrete-examples - @rules/concrete-examples.md

Every rule needs code examples. Abstract advice is hard to apply.

# Bad: Too abstract
"Keep your code organized."

# Good: Concrete
"Place concerns in `app/models/model_name/` not `app/models/concerns/`."

\`\`\`ruby
# Shows exactly what to do
app/models/card/closeable.rb
\`\`\`

explain-why - @rules/explain-why.md

Don't just show what. Explain why it matters.

## Why

- **Testability**: Sync method can be tested without job infrastructure
- **Flexibility**: Callers choose sync or async based on context
- **Clarity**: The `_later` suffix makes async behavior explicit

Style (MEDIUM)

writing-style - @rules/writing-style.md

Write naturally. Avoid AI-isms and excessive formatting.

# Bad
---
Here is an overview of the key points:
---

# Good
Group related rules by category. Each rule gets a one-sentence
description and a short code example.

Philosophy

Good skills are:

  1. Concrete - Every rule has code examples
  2. Reasoned - Explains why, not just what
  3. Scannable - Easy to find relevant rules quickly
  4. Honest - Shows when NOT to use a pattern
  5. Natural - Written like documentation, not AI output