with one click
skillcraft
// Creates and validates Agent Skills (SKILL.md). Use when creating skills, writing frontmatter, or validating skill structure.
// Creates and validates Agent Skills (SKILL.md). Use when creating skills, writing frontmatter, or validating skill structure.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | skillcraft |
| description | Creates and validates Agent Skills (SKILL.md). Use when creating skills, writing frontmatter, or validating skill structure. |
| metadata | {"version":"2.2.2","author":"outfitter","related-skills":["claude-craft","claude-plugins","codex-config"]} |
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash, TaskCreate, TaskUpdate, TaskList, TaskGet, AskUserQuestion |
Create skills that follow the Agent Skills specification—an open format supported by Claude Code, Cursor, VS Code, GitHub Copilot, Codex, and other agent products.
Ask about the skill:
/claude-craft and /claude-plugins skills.| Archetype | Use When | Example |
|---|---|---|
| simple | Basic skill without scripts | Quick reference, style guide |
| api-wrapper | Wrapping external APIs | GitHub API, Stripe API |
| document-processor | Working with file formats | PDF extractor, Excel analyzer |
| dev-workflow | Automating development tasks | Git workflow, project scaffolder |
| research-synthesizer | Gathering and synthesizing information | Competitive analysis, literature review |
skill-name/
├── SKILL.md # Required: instructions + metadata
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
└── assets/ # Optional: templates, resources
---
name: skill-name
description: "What it does and when to use it. Include trigger keywords."
version: 1.0.0 # optional, recommended
license: Apache-2.0 # optional
compatibility: Requires git and jq # optional
metadata: # optional
author: your-org
category: development
tags: [testing, automation]
---
| Field | Required | Constraints |
|---|---|---|
name | Yes | 2-64 chars, lowercase/numbers/hyphens, must match directory |
description | Yes | 10-1024 chars, quoted, describes what + when |
version | No | Semantic version (MAJOR.MINOR.PATCH) |
license | No | License name or reference |
compatibility | No | 1-500 chars, environment requirements |
metadata | No | Object for custom fields |
Important:
description in double quotes — values containing colons, commas, or special characters can break YAML parsing otherwise.allowed-tools, user-invocable) should be added per-platform. Load the /claude-craft skill for Claude-specific fields.Custom fields must be nested under metadata:
---
name: my-skill
description: "..."
metadata:
author: your-org
version: "1.0"
category: development
tags: [typescript, testing]
---
Top-level custom fields are not allowed and may cause parsing errors.
[WHAT] + [WHEN] + [TRIGGERS]
description: "Extracts text and tables from PDF files, fills forms, merges documents. Use when working with PDF files or document extraction."
Checklist:
--- on line 1, closes with ---name and description present (required)description wrapped in double quotes--, leading/trailing hyphensanthropic or claude in namereferences/)<bang>`command` preprocessing patterns (use <bang> instead of literal !)# Skill Check: {skill-name}
**Status**: PASS | WARNINGS | FAIL
**Issues**: {critical} critical, {warnings} warnings
## Critical (must fix)
1. {issue with fix}
## Warnings (should fix)
1. {issue with fix}
## Strengths
- {what's done well}
Context window is shared. Only include what the agent doesn't already know. Challenge each paragraph—does it justify its token cost?
Descriptions inject into system prompt:
Keep SKILL.md under 500 lines. Move details to:
references/ - Detailed docs, API referencesscripts/ - Executable utilities (code never enters context)assets/ - Templates, data filesSKILL.md files are preprocessed by Claude Code — <bang>`command` syntax executes at load time, even inside code fences. When documenting this syntax in SKILL.md, use <bang> as a stand-in for !. Reference files and EXAMPLES.md are not preprocessed, so literal ! is safe there.
Skills that intentionally preprocess should declare metadata.preprocess: true. Run /skillcheck to lint for unintentional preprocessing patterns.
Token loading:
Match instruction specificity to task requirements:
See patterns.md for detailed examples.
--anthropic or claude/help, /status, /config, /compact, /review, /model, /init, /login, /logout, /doctor, /clear, /mcp, /memory, /permissions, /terminal-setup, /vim, /cost, /bug). Built-in commands take precedence — a skill with a colliding name will be unreachable via slash invocation.Recommended: Gerund form (processing-pdfs, reviewing-code)
Skills are cross-platform, but each tool has specific implementation details:
/claude-craft skill for Claude-specific skill authoring$skill-name invocationSee implementations.md for storage paths and invocations.md for activation patterns.