skills/create-skill/SKILL.md
Use when creating a new agent skill. Ensures the skill follows quality guidelines for SKILL.md files.
npx skillsauth add lwlee2608/agent-skills create-skillInstall 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 the creation of a new SKILL.md file that meets quality standards for agent skills.
One skill, one job. A skill should target exactly one workflow or domain. If you need the word "and" to describe what it does, split it into two skills.
Prefer gerund form for names. Per Anthropic's official guidance, use verb+ing: processing-pdfs, analyzing-spreadsheets, writing-documentation. Acceptable alternatives: noun phrases (pdf-processing) or action-oriented (process-pdfs). Avoid vague names (utils, helpers, tools) and overly generic ones (documents, data). Hard constraints from the spec: lowercase + numbers + hyphens only, max 64 chars, must not contain the reserved words anthropic or claude.
Write a trigger-oriented description in third person. The description field determines when the agent activates the skill. Start with "Use when..." and be specific enough to avoid false triggers but broad enough to catch the right moments. Always third person — Anthropic warns that I can… or You can use this… phrasing degrades discovery. Max 1024 chars.
Use this file structure:
---
name: <kebab-case-name>
description: <"Use when..." trigger description>
user-invocable: true
---
# <Short Title>
<1-2 sentence intro: what problem this solves and when to use it.>
## Rules
<Numbered, imperative rules. Each rule starts with a bolded verb phrase.>
## Verification procedure (if applicable)
<Numbered steps the agent follows to check its own work.>
## Common mistakes to watch for (if applicable)
<Bulleted list of predictable failure modes and how to avoid them.>
Write rules in direct imperative voice. Start each rule with a bolded action ("Use...", "Never...", "Always prefer..."). Rules must be specific enough that two agents would follow them the same way.
Include exact syntax for anything format-sensitive. If the skill involves CLI commands, file formats, or structured output, provide the exact command or template in a fenced code block. Do not leave format details to interpretation.
Explain "why" for non-obvious constraints. If a rule exists because of a bug, workaround, or past failure, state the reason so the agent can make correct judgment calls in edge cases.
Include a verification procedure for skills that produce output. Tell the agent how to check its own work. This catches more errors than generic "think carefully" instructions.
Document common failure modes. LLMs make predictable, repeated mistakes. List the top 3-5 mistakes for the skill's domain so the agent can avoid them.
Design for the 80% case. Over-specified skills become brittle. Establish a preference hierarchy with fallbacks (e.g., "prefer X, fall back to Y if X is unavailable") rather than trying to cover every edge case.
Keep skills independent. A skill must work without assuming other skills are loaded. Cross-skill dependencies create fragile setups where uninstalling one skill silently breaks another.
Keep it concise; split with progressive disclosure if needed. Anthropic recommends SKILL.md body under 500 lines. Aim shorter (under 4KB) when the skill fits. If content grows past that, move detail to sibling files (reference.md, examples.md, forms.md) and link from SKILL.md — Claude reads them on demand, so they cost zero context until needed. Keep references one level deep from SKILL.md; nested references can cause Claude to partial-read with head and miss content.
After drafting the skill, verify:
anthropic/claude? Gerund form (preferred) or noun phrase / action-oriented (acceptable)?helper, utils, my-skill, or names containing claude/anthropic (the latter two are rejected by the spec). Default to gerund form (writing-X, processing-X) unless a noun phrase reads more naturally.I can help you… or You can use this to… degrades discovery. Always third person: Processes X. Use when….documentation
Use when the user wants to condense the current conversation into a handoff document for another agent to pick up.
development
Use when the user asks to explain or teach a technical concept. Replies in plain language with a simple diagram instead of a wall of jargon.
development
Use when writing or editing a system prompt for any LLM API or SDK (any code passing a `system=` / `system` role parameter, or a `.txt`/`.md` file holding such a prompt). Applies prompt-engineering and prompt-caching best practices.
tools
Use before running any Go toolchain command (`go build`, `go test`, `go run`, `go vet`, `go fmt`, `golangci-lint`). Substitutes make targets when a Makefile is present.