packages/core/src/methodology/packs/meta/skill-authoring/SKILL.md
Creates and structures SKILL.md files for AI coding agents, including YAML frontmatter, trigger phrases, directive instructions, decision trees, code examples, and verification checklists. Use when the user asks to write a new skill, create a skill file, author agent capabilities, generate skill documentation, or define a skill template for Claude Code agents.
npx skillsauth add rohitg00/skillkit skill-authoringInstall 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.
You are authoring a SKILL.md for an AI coding agent. A well-written skill provides clear, actionable guidance that agents can follow consistently.
A skill's description triggers it; the body teaches it.
The description tells the agent WHEN to use the skill. The content tells the agent HOW to execute it.
---
name: [lowercase-hyphenated-name]
description: [Concrete actions + "Use when..." clause]
version: [Semantic version]
triggers:
- [keyword 1]
- [keyword 2]
tags:
- [tag 1]
---
# [Skill Title]
[Introduction paragraph explaining purpose]
## Core Principle
**[Single most important rule in bold]**
## [Main Content Sections]
## [Decision Points]
## [Verification Checklist]
| Field | Required | Constraints |
|-------|----------|-------------|
| name | Yes | Lowercase alphanumeric + hyphens, 1–64 chars |
| description | Yes | Must include "Use when..." clause; 1–1024 chars |
| version | Yes | Semantic version (e.g. 1.0.0) |
| triggers | Recommended | Natural-language phrases that activate the skill |
| tags | Recommended | Categorization tags |
Triggers should be phrases users naturally type.
Good triggers:
Bad triggers:
Use second person, present tense, active voice:
| Strength | Examples | |----------|----------| | Strong (critical rules) | "You MUST…", "ALWAYS…", "NEVER…", "Do NOT…" | | Soft (recommendations) | "Prefer…", "Consider…", "When possible…" |
## Decision: [What to Decide]
If [condition A]:
→ [Action for A]
If [condition B]:
→ [Action for B]
If uncertain:
→ [Default action]
### Step 1: [Action]
[Detailed explanation]
**Verification:** [How to know step is complete]
### Step 2: [Action]
...
// BAD
const result = doTheThing(badInput);
// GOOD
const validated = validate(input);
const result = doTheThing(validated);
| Anti-pattern | Problem | Fix | |--------------|---------|-----| | The Encyclopedia | Too much info, agent gets lost | Focus on actionable guidance only | | The Vague Guide | "Consider best practices" | Be specific: "Use Arrange-Act-Assert" | | The Constraint-Free Skill | No clear rules, agent improvises | Include explicit constraints | | The Monologue | Wall of text | Use headers, lists, tables, code blocks | | The Outdated Skill | References deprecated patterns | Version skills and review periodically |
Before publishing, verify:
Group related skills under a named pack directory. See PACKS.md for full pack manifest format and filesystem conventions.
packs/
├── testing/
│ ├── pack.json
│ ├── red-green-refactor/
│ │ └── SKILL.md
│ └── test-patterns/
│ └── SKILL.md
See MAINTENANCE.md for detailed versioning policy. Quick reference:
Version increments:
Deprecation frontmatter:
deprecated: true
deprecatedReason: "Superseded by skill-v2"
deprecatedSince: "2024-01-15"
Add a visible notice at the top of the body: > **DEPRECATED:** Use [skill-v2] instead.
Before publishing, confirm:
tools
Discovers, searches, and installs skills from multiple AI agent skill marketplaces (400K+ skills) using the SkillKit CLI. Supports browsing official partner collections (Anthropic, Vercel, Supabase, Stripe, and more) and community repositories, searching by domain or technology, and installing specific skills from GitHub. Use when the user wants to find, browse, or install new agent skills, plugins, extensions, or add-ons; asks 'is there a skill for X' or 'find a skill for X'; wants to explore a skill store or marketplace; needs to extend agent capabilities in areas like React, testing, DevOps, security, or APIs; or says 'browse skills', 'search skill marketplace', 'install a skill', or 'what skills are available'.
development
Applies proven testing patterns — Arrange-Act-Assert (AAA), Given-When-Then, Test Data Builders, Object Mother, parameterized tests, fixtures, spies, and test doubles — to help write maintainable, reliable, and readable test suites. Use when the user asks about writing unit tests, integration tests, or end-to-end tests; structuring test cases or test suites; applying TDD or BDD practices; working with mocks, stubs, spies, or fakes; improving test coverage or reducing flakiness; or needs guidance on test organization, naming conventions, or assertions in frameworks like Jest, Vitest, pytest, or similar.
development
Guides the red-green-refactor TDD workflow: write a failing test first, implement the minimum code to make it pass, then refactor while keeping tests green. Use when a user asks to practice TDD, write tests first, follow red-green-refactor, do test-driven development, write failing tests before code, or phrases like 'make the test pass', 'test coverage', or 'unit tests before implementation'.
development
Reviews test code to identify and fix common testing anti-patterns including flaky tests, over-mocking, brittle assertions, test interdependency, and hidden test logic. Flags bad patterns, explains the specific defect, and provides corrected implementations. Use when reviewing test code, debugging intermittent or unreliable test failures, or when the user mentions flaky tests, test smells, brittle tests, test isolation issues, mock overuse, slow tests, or test maintenance problems.