Claude Code Plugins

Community-maintained marketplace

Feedback

Skill Writing

@isnbh0/shared
0
0

Creates effective Claude Code skills following best practices. Use when the user asks to create a skill, write a SKILL.md, or needs help authoring agent instructions.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Skill Writing
description Creates effective Claude Code skills following best practices. Use when the user asks to create a skill, write a SKILL.md, or needs help authoring agent instructions.

Skill Writing

Quick Start

Every skill needs a SKILL.md file with YAML frontmatter and markdown body:

---
name: Task Name (gerund form preferred)
description: What it does and when to use it (third person, specific)
---

# Task Name

[Concise instructions here]

Core Workflow

Copy and track your progress:

Skill Creation:
- [ ] Step 1: Identify the reusable pattern
- [ ] Step 2: Draft concise instructions
- [ ] Step 3: Add metadata (name, description)
- [ ] Step 4: Test with target model(s)
- [ ] Step 5: Iterate based on usage

Step 1: Identify the reusable pattern

What context do you repeatedly provide? What procedural knowledge is needed?

Step 2: Draft concise instructions

Start minimal. Claude is already smart - only add what Claude doesn't know.

Challenge each piece of information:

  • Does Claude really need this explanation?
  • Can I assume Claude knows this?
  • Does this paragraph justify its token cost?

Step 3: Add metadata

Write description in third person, including:

  • What the skill does
  • When to use it (key terms and triggers)
description: Extract text from PDFs, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.

Step 4: Test with target model(s)

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

Step 5: Iterate based on usage

Observe how Claude uses the skill. Watch for:

  • Unexpected exploration paths
  • Missed connections
  • Overreliance on certain sections
  • Ignored content

Set Appropriate Degrees of Freedom

Match specificity to task fragility:

High freedom (text instructions): Multiple approaches valid, context-dependent Medium freedom (pseudocode/templates): Preferred pattern exists, variation acceptable Low freedom (exact scripts): Operations fragile, consistency critical

Progressive Disclosure

Keep SKILL.md body under 500 lines. Split into separate files:

# SKILL.md

## Quick start
[Basic usage here]

## Advanced features
**Form filling**: See [FORMS.md](FORMS.md)
**API reference**: See [REFERENCE.md](REFERENCE.md)

Important:

  • Keep references one level deep from SKILL.md
  • Use forward slashes in paths (not backslashes)
  • Add table of contents for files >100 lines

Common Patterns

Workflow pattern (complex tasks):

## Workflow
Copy this checklist:
- [ ] Step 1: Do first thing
- [ ] Step 2: Do second thing
[Detailed steps below]

Feedback loop (quality-critical):

1. Create output
2. Validate: `python scripts/validate.py`
3. If validation fails, fix and repeat
4. Only proceed when validation passes

Template pattern (consistent output):

ALWAYS use this exact structure:
[Template here]

Anti-Patterns to Avoid

❌ Windows-style paths (scripts\\helper.py) ✓ Unix-style paths (scripts/helper.py)

❌ Too many options ("You can use X, or Y, or Z...") ✓ Provide default with escape hatch ("Use X. For special case, use Y instead.")

❌ Time-sensitive info ("Before August 2025...") ✓ Use "Current method" and "Old patterns" sections

❌ Inconsistent terminology (mix "field", "box", "element") ✓ Choose one term, use consistently

❌ Deeply nested references (SKILL.md → advanced.md → details.md) ✓ One level deep (SKILL.md → details.md)

For Skills with Code

Utility scripts: Provide pre-made scripts rather than having Claude write them

  • More reliable than generated code
  • Save tokens and time
  • Ensure consistency

Package dependencies: List required packages and verify availability

Visual analysis: Convert to images for Claude to analyze layouts

Verifiable outputs: Create plan files that get validated before execution

Quick Reference

Naming: Use gerund form ("Processing PDFs", "Analyzing Data")

Description: Third person, specific, includes when to use

File limit: Keep SKILL.md under 500 lines

Structure: YAML frontmatter + markdown body

Testing: Test with all target models

Conciseness: Assume Claude is smart, only add what's needed

Detailed Reference

For comprehensive guidance, see specs/skills-best-practices.md:

  • Complete examples for all patterns
  • Advanced progressive disclosure techniques
  • Evaluation-driven development
  • Runtime environment details
  • MCP tool references