SKILL.md Format Reference
The SKILL.md format is a standardized specification for defining AI agent skills. Each skill file consists of YAML frontmatter followed by markdown content.
Complete Example
---
name: React Component Generator
description: Generate production-ready React components with TypeScript, props interface, and documentation
version: "1.0.0"
author: KillerSkills Team
runtimes: [claude-code, cursor, copilot]
category: development
tags: [react, typescript, components, frontend]
tools: [typescript, prettier]
triggers: [create component, generate react component]
inputs:
- name: componentName
type: string
description: Name of the component to generate
required: true
- name: componentType
type: string
description: Type of component (functional, class, hook)
required: false
outputs:
- name: componentFile
type: string
description: Generated component TypeScript file
- name: testFile
type: string
description: Generated test file for the component
---
# React Component Generator
This skill generates production-ready React components with TypeScript type definitions,
proper props interfaces, and comprehensive documentation.
## Usage
When the user requests a new React component, follow these steps:
1. **Analyze Requirements**: Understand the component's purpose, required props, and functionality
2. **Generate Interface**: Create a TypeScript interface for component props
3. **Create Component**: Generate a functional component with proper typing
4. **Add Documentation**: Include JSDoc comments explaining props and usage
5. **Generate Tests**: Create basic test file with example test cases
## Example
For a Button component:
```typescript
interface ButtonProps {
label: string;
onClick: () => void;
variant?: 'primary' | 'secondary';
disabled?: boolean;
}
/**
* Button component with multiple variants
* @param props - Button props
*/
export const Button: React.FC<ButtonProps> = ({
label,
onClick,
variant = 'primary',
disabled = false,
}) => {
return (
<button
onClick={onClick}
disabled={disabled}
className={`btn btn-${variant}`}
>
{label}
</button>
);
};
```
## Best Practices
- Always use TypeScript for type safety
- Include default values for optional props
- Add JSDoc comments for documentation
- Follow React naming conventions
- Generate corresponding test files
Frontmatter Fields Reference
The YAML frontmatter section contains metadata about the skill. All fields are optional unless marked as required.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Short, descriptive name for the skill. Must not be empty. |
description | string | No | Brief description of what the skill does. Maximum 500 characters. |
version | string | No | Semantic version number (e.g., "1.0.0"). Should follow semver conventions. |
author | string | No | Name or username of the skill author. |
runtimes | string[] | No | List of compatible AI runtimes. Valid values: claude-code, cursor, copilot, codex-cli, chatgpt, gemini-cli, windsurf, aider, continue, cline, other. |
category | string | No | Primary category for the skill. Valid values: development, devops, writing, data, design, testing, security, documentation, automation, other. |
tags | string[] | No | List of tags for discovery and search. Maximum 10 tags, each tag maximum 30 characters. |
tools | string[] | No | List of external tools or dependencies the skill uses (e.g., "typescript", "prettier", "docker"). |
triggers | string[] | No | Conditions or phrases that should activate this skill (e.g., "create component", "write tests"). |
inputs | object[] | No | Array of input parameter definitions. Each input has: name (string), type (string), description (string), required (boolean). |
outputs | object[] | No | Array of output definitions. Each output has: name (string), type (string), description (string). |
Body Content
The markdown body follows the YAML frontmatter (after the closing ---). This section contains the detailed instructions that guide the AI agent in performing the task.
Requirements
- Must contain at least 50 characters of meaningful content
- Should include clear, step-by-step instructions
- Can use standard markdown formatting (headings, lists, code blocks, etc.)
- Should provide examples demonstrating the skill in action
- May include usage guidelines, best practices, and edge cases
Structure Guidelines
While not required, effective skill bodies typically include:
- Overview — brief introduction to what the skill accomplishes
- Usage Instructions — step-by-step guide for the AI agent
- Examples — concrete code examples or scenarios
- Best Practices — recommendations for optimal results
- Edge Cases — how to handle unusual or complex situations
Validation Rules
The platform validates all skills before they can be published. Validation produces two types of feedback:
Errors (Must Fix)
namefield is required and must not be empty- Body content must exist and contain meaningful text
- If
versionis provided, it should follow semantic versioning (e.g., "1.0.0", "2.1.3") descriptionmust not exceed 500 characters- Maximum 10 tags, each tag maximum 30 characters
runtimesmust only contain valid runtime identifierscategorymust be one of the allowed category values
Warnings (Best Practice)
- Body content should be at least 50 characters for meaningful instructions
- Consider adding a description for better discoverability
- Consider specifying compatible runtimes
- Consider adding tags to improve search relevance
- Consider specifying a category for organization
Next Steps
- Creating Skills — learn how to author your own skills
- Skills Overview — back to the skills introduction
- Create a Skill — use the AI-powered skill wizard