create-skill · v1.0 · 2026-02-22 · sha256 ab8b68db61f93496

create-skill v1.0A

Immutable. This exact content is served forever at /api/v1/blob/ab8b68db61f93496.

---
name: create-skill
description: Create new Agent Skills following the agentskills.io specification. Use when the user wants to create, scaffold, or design a new skill for AI agents. Handles SKILL.md generation, directory structure setup, and validation.
license: MIT
metadata:
  author: njzjz-bot
  version: '1.0'
---

# Create Skill

This skill helps you create new Agent Skills that follow the [agentskills.io specification](https://agentskills.io/specification).

## Quick Start

When asked to create a new skill:

1. **Gather requirements**: Ask what the skill should do
1. **Choose a name**: lowercase letters, numbers, hyphens only (e.g., `pdf-processing`, `data-analysis`)
1. **Generate the structure**: Create `SKILL.md` with proper frontmatter
1. **Add optional components**: scripts, references, assets as needed

## Directory Structure

```
skill-name/
├── SKILL.md          # Required: main skill file
├── scripts/          # Optional: executable code
├── references/       # Optional: additional documentation
└── assets/           # Optional: static resources
```

## SKILL.md Template

```markdown
---
name: your-skill-name
description: What this skill does and when to use it. Be specific and include keywords that help agents identify relevant tasks. Max 1024 characters.
license: MIT
compatibility: Optional - environment requirements if any
metadata:
  author: your-name
  version: "1.0"
allowed-tools: Optional - pre-approved tools (experimental)
---

# Skill Title

Brief introduction to the skill.

## Usage

Step-by-step instructions on how to use this skill.

## Examples

Example inputs and outputs.

## Notes

Common edge cases and tips.
```

## Field Requirements

### name (required)

- 1-64 characters
- Lowercase letters, numbers, hyphens only
- Cannot start or end with `-`
- No consecutive hyphens `--`
- Must match directory name

**Valid**: `pdf-processing`, `data-analysis`, `code-review-2`
**Invalid**: `PDF-Processing`, `-pdf`, `pdf--processing`

### description (required)

- 1-1024 characters
- Describe WHAT the skill does AND WHEN to use it
- Include specific keywords for discoverability

**Good**: "Extracts text and tables from PDF files. Use when working with PDF documents, extracting content from PDFs, or processing scanned documents."
**Poor**: "Helps with PDFs."

### license (optional)

- License name or reference to bundled license file
- Examples: `MIT`, `Apache-2.0`, `Proprietary. LICENSE.txt has complete terms`

### compatibility (optional)

- 1-500 characters
- Only include if skill has specific environment requirements
- Examples: "Requires Python 3.8+ and pandas", "Needs internet access for API calls"

### metadata (optional)

- Arbitrary key-value pairs
- Common keys: `author`, `version`, `tags`

### allowed-tools (optional, experimental)

- Space-delimited list of pre-approved tools
- Example: `Bash(git:*) Bash(jq:*) Read`

## Best Practices

### Progressive Disclosure

Design for efficient context usage:

1. **Metadata** (~100 tokens): Loaded at startup for all skills
1. **Instructions** (\<5000 tokens recommended): Loaded when skill is activated
1. **Resources**: Loaded on-demand

Keep `SKILL.md` under 500 lines. Move detailed content to `references/`.

### File Organization

- Keep `SKILL.md` focused on core instructions
- Put detailed docs in `references/REFERENCE.md`
- Put templates in `assets/`
- Put executable code in `scripts/`

### File References

Use relative paths from skill root:

```markdown
See [the reference guide](references/REFERENCE.md) for details.
Run: scripts/process.py
```

Keep references one level deep. Avoid deeply nested chains.

## Validation

After creating a skill, validate it:

```bash
# Install skills-ref if needed
npm install -g @agentskills/skills-ref

# Validate the skill
skills-ref validate ./your-skill-name
```

## Workflow Example

When asked to create a skill for X:

1. Create directory: `your-skill-name/`
1. Write `SKILL.md` with:
   - Proper frontmatter (name, description)
   - Clear instructions in Markdown body
1. Optionally add:
   - `scripts/` for helper scripts
   - `references/` for detailed docs
   - `assets/` for templates/data
1. Validate with `skills-ref validate`
1. Test the skill with an agent

## Common Patterns

### Simple Skill

Just a `SKILL.md` with instructions:

```
my-skill/
└── SKILL.md
```

### Skill with Scripts

For skills that run code:

```
my-skill/
├── SKILL.md
└── scripts/
    └── helper.py
```

### Skill with References

For detailed documentation:

```
my-skill/
├── SKILL.md
└── references/
    ├── REFERENCE.md
    └── examples.md
```

### Full-featured Skill

```
my-skill/
├── SKILL.md
├── scripts/
│   ├── setup.sh
│   └── process.py
├── references/
│   ├── API.md
│   └── FORMATS.md
└── assets/
    ├── template.json
    └── schema.json
```

## References

- [Official Specification](https://agentskills.io/specification)
- [Documentation Index](https://agentskills.io/llms.txt)
- [skills-ref Validator](https://github.com/agentskills/agentskills/tree/main/skills-ref)