Practical Guide to Creating Claude Skills: Structure, Triggers, and Scripts

What Claude Skills Are and How They Work
Claude Skills are instruction manuals that automate specific tasks, distinct from Projects (knowledge bases) and Model Context Protocol (connection layer for live data). If you've typed the same instructions at the start of more than three conversations, that's a skill begging to be built.
Skill Structure and Setup
A skill is a folder containing one file called SKILL.md. The basic structure is:
your-skill-name/
├── SKILL.md
└── references/
└── your-ref.mdDrop the folder into ~/.claude/skills/ on your machine. Claude finds it automatically.
YAML Triggers: The Activation Mechanism
At the top of SKILL.md, write metadata between --- lines to tell Claude when to activate. Example:
--- name: csv-cleaner description: Transforms messy CSV files into clean spreadsheets. Use this skill whenever the user says 'clean up this CSV', 'fix the headers', 'format this data', or 'organise this spreadsheet'. Do NOT use for PDFs, Word documents, or image files. ---
Follow three rules: write in third person, list exact trigger phrases, and set negative boundaries. The description field is the single most important line in the entire skill—weak description means the skill never fires.
When Instructions Aren't Enough: Scripts Directory
Plain English instructions handle judgement, language, formatting, and decisions. For tasks needing actual computation, add a scripts/ folder.
Use instructions for: "rewrite this in our brand voice" or "categorise these meeting notes."
Use scripts for: "calculate the running average of these numbers," "parse this XML and extract specific fields," or "resize all images in this folder to 800x600."
Folder structure for a skill using both:
data-analyser/
├── SKILL.md
├── references/
│ └── analysis-template.md
└── scripts/
├── parse-csv.py
└── calculate-stats.pyInside SKILL.md, reference scripts like this:
## Workflow 1. Read the uploaded CSV file to understand its structure. 2. Run scripts/parse-csv.py to clean the data: - Command: `python scripts/parse-csv.py [input_file] [output_file]` - This removes empty rows, normalises headers, and enforces data types. 3. Run scripts/calculate-stats.py on the cleaned data: - Command: `python scripts/calculate-stats.py [cleaned_file]` - This outputs: mean, median, standard deviation, and outliers for each numeric column. 4. Read the statistical output and write a human-readable summary following the template in references/analysis-template.md. Highlight any anomalies or outliers that would concern a non-technical reader.
Scripts handle computation; instructions handle judgement. One rule for scripts: one script, one job. parse-csv.py shouldn't also calculate statistics. Keep them focused, accept file paths as arguments, never hardcode paths, and always include error handling so Claude can read failures and communicate them cleanly.
References: The One Level Deep Rule
If a skill needs a brand guide or template, drop it into references/ and link to it from SKILL.md. Never have reference files linking to other reference files—Claude will truncate its reading and miss things. One level deep only.
your-skill-name/
├── SKILL.md
└── references/
└── brand-voice-guide.md ← link to this from SKILL.md ← never link to another file from hereIn SKILL.md: Before beginning the task, read the brand voice guide at references/brand-voice-guide.md
Multi-Skill Orchestration: Preventing Conflicts
Once you have five or more skills deployed, conflicts start—like the brand voice enforcer firing when you wanted the email drafter. Three rules stop this:
- Rule 1: Non-overlapping territories. Every skill owns a clearly defined domain (e.g., brand voice enforcer handles voice compliance, email drafter handles composition, content repurposer handles format transformation). No bleed.
- Rule 2: Aggressive negative boundaries.
📖 Read the full source: r/ClaudeAI
👀 See Also

Reddit Post: Developers Need Better AI Coding Practices, Not Just Better Tools
A Reddit post argues that developers' dissatisfaction with AI coding tools stems from poor prompting practices, specifically 'raw prompting' without context or structure. The author recommends using scaffolding like CLAUDE.md and structured workflows to get production-ready code from Claude.

OpenClaw Startup Costs: Hardware, APIs, and Monthly Budget

Research Shows Effective AI Prompting Is Cooperative Communication, Not Engineering
Peer-reviewed research indicates that effective prompting with AI models follows the same cooperative communication principles humans use, with Lakera's analysis showing most prompt failures stem from ambiguity rather than model limitations.

Analysis of Claude Code's Production Engineering Patterns from Reverse-Engineered Source
A developer reverse-engineered approximately 500,000 lines of Claude Code's TypeScript source code into a 19-chapter technical handbook documenting production engineering patterns that emerge under real load, real money, and real adversaries.