Skill Maker

VerifiedCaution

Create, validate, and maintain Claude Code Agent Skills following the agentskills.io specification. Provides templates, frontmatter guidelines, and step-by-step instructions for building focused, discoverable skills. Use when adding a new skill, improving SKILL.md files, debugging skill discovery, or asking about skill best practices.

Sby Skills Guide Bot
DevelopmentBeginner
6/2/2026
Claude Code
#skill-creation#frontmatter#validation#best-practices

Recommended for

Automated summary

Creates, validates, and maintains Claude Code Agent Skills following the agentskills.io specification.

Strengths

  • Provides a clear template and step-by-step instructions
  • Enforces frontmatter validation and best practices
  • Supports progressive disclosure via reference files
  • Allows restricting tools with allowed-tools field

Limitations

  • Only works with Claude Code platform
  • Requires manual file creation and directory setup
  • No scaffolding beyond the template provided
When to use it

When you need to create a new agent skill or ensure existing skills follow agentskills.io best practices.

When not to use it

When you are not using Claude Code or need a skill for a different AI agent platform.

Security analysis

Caution
Quality score95/100

The skill itself is a meta-skill for creating agent skills, and its instructions involve only non-destructive Bash commands like mkdir, head, and ls. The allowed-tools declaration includes Bash, which is a powerful tool, but the content is legitimate and focused on skill creation workflows. No data exfiltration, unsafe payloads, or disabling of safety features.

Findings
  • •Skill uses Bash for creating directories and file validation, which could be potentially misused if combined with unsanitized input.
How this analysis is made

Examples

Create a new skill for Python linting
Create a new agent skill named 'py-linter' that runs flake8 on Python files in the project. Write the SKILL.md with proper frontmatter and instructions.
Validate an existing SKILL.md
Check the SKILL.md in my ~/.claude/skills/data-extractor for proper frontmatter format and ensure it follows the skill-making best practices.
Add a skill to a project
I want to create a project-level skill for running tests. Create a .claude/skills/test-runner/SKILL.md with a description that triggers on 'run tests' and instructions to use pytest.

name: skill-maker description: Create, validate, and maintain Claude Code Agent Skills. Use when the user wants to add a skill, create a skill, make a skill, build a skill, or mentions skill creation. Also use when improving SKILL.md files, debugging skill discovery, or asking about skill best practices. allowed-tools: Read Write Edit Bash Glob Grep

Skill Maker

Create discoverable, focused Agent Skills following the agentskills.io specification.

Core Principles

  1. Skills are model-invoked: Claude decides when to use them based on context
  2. Descriptions drive discovery: The description field determines when Claude activates the skill
  3. Progressive disclosure: Main SKILL.md under 500 lines; detailed content in reference files
  4. One capability per skill: Keep skills focused on a single domain

Quick Template

Every SKILL.md must begin with YAML frontmatter:

---
name: skill-name
description: What this skill does and when to use it. Include trigger terms.
---

# Skill Name

Brief introduction...

## Instructions

1. Step by step guidance...

## Examples

Concrete examples...

Frontmatter Specification

Required Fields

| Field | Constraints | |-------|-------------| | name | Max 64 chars. Lowercase, numbers, hyphens only. No leading/trailing/consecutive hyphens. Must match directory name. | | description | Max 1024 chars. Non-empty. Include what it does, when to use, trigger terms. |

Optional Fields

| Field | Purpose | |-------|---------| | license | License name or reference to bundled file | | compatibility | Max 500 chars. Environment requirements | | metadata | Key-value mapping for additional properties | | allowed-tools | Space-delimited list of pre-approved tools |

Description Formula

[What it does] + [When to use it] + [Key trigger terms]

Good:

description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.

Bad:

description: Helps with documents

Creating a Skill

Step 1: Create Directory and File

mkdir -p ~/.claude/skills/skill-name

Personal skills (~/.claude/skills/): Individual workflows, experimental Project skills (.claude/skills/): Team workflows, shared (committed to git)

Step 2: Write Frontmatter FIRST

Before any content, create lines 1-4:

---
name: skill-name
description: Clear description with what, when, and triggers
---

Step 3: Validate Frontmatter

head -n 10 ~/.claude/skills/skill-name/SKILL.md

Verify:

  • Line 1: exactly ---
  • Line 2: name: skill-name (matches directory)
  • Line 3: description: ... (non-empty, on same line)
  • Line 4: exactly ---
  • Line 5: blank line

Step 4: Add Content


# Skill Name

Brief intro (1-2 sentences).

## Quick Start

Most common use case with example.

## Instructions

Step-by-step guidance:
1. First action
2. Second action
3. Handle results

## Examples

Concrete, copy-paste ready examples.

Step 5: Add Reference Files (Optional)

For skills with detailed content:

my-skill/
├── SKILL.md           # Under 500 lines
├── references/
│   ├── REFERENCE.md   # Detailed docs
│   └── EXAMPLES.md    # Extended examples
└── scripts/
    └── helper.py      # Utilities

Reference from SKILL.md:

For advanced usage, see [references/REFERENCE.md](references/REFERENCE.md).

Keep references one level deep. Claude loads files only when needed.

Using allowed-tools

Restrict which tools Claude can use (space-delimited):

---
name: safe-file-reader
description: Read files without making changes. Use for read-only file access.
allowed-tools: Read Grep Glob
---

Tool patterns are also supported:

allowed-tools: Bash(git:*) Bash(jq:*) Read Write

If omitted, Claude asks for permission as normal.

Workflow for Claude

When creating a skill:

  1. Plan: Determine name, location, focus
  2. Create: mkdir -p [path]/skill-name
  3. Write frontmatter first: Lines 1-4 with name and description
  4. Validate: head -n 10 to verify structure
  5. Add content: Instructions, examples below frontmatter
  6. Final check: Verify description is discoverable
  7. Report: Confirm to user with name, location, description

Skill Locations

| Location | Purpose | |----------|---------| | ~/.claude/skills/ | Personal skills | | .claude/skills/ | Project skills (git) |

When to Create a Skill

Create a skill when:

  • You repeat the same workflow multiple times
  • You have domain-specific expertise to encode
  • Your team needs consistent workflows

Don't create a skill when:

  • It's a one-time task
  • A slash command would be simpler
  • The workflow is too broad (split into multiple skills)

Progressive Disclosure Guidelines

| Level | Token Cost | Content | |-------|------------|---------| | Metadata | ~100 tokens | name and description (loaded at startup) | | Instructions | < 5000 tokens | SKILL.md body (loaded when activated) | | Resources | As needed | Reference files (loaded on demand) |

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

Quick Reference

Create:

mkdir -p ~/.claude/skills/skill-name

Validate:

head -n 10 ~/.claude/skills/skill-name/SKILL.md

List skills:

ls ~/.claude/skills/*/SKILL.md
ls .claude/skills/*/SKILL.md

Debug:

claude --debug

Additional Resources

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/skill-maker-mm8o51j8/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/skill-maker-mm8o51j8' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/skill-maker-mm8o51j8/download' --output '.skill-downloads/skill-maker-mm8o51j8/SKILL.md.part' && mv '.skill-downloads/skill-maker-mm8o51j8/SKILL.md.part' '.skill-downloads/skill-maker-mm8o51j8/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read Write Edit Bash Glob Grep

Original excerpt: Quick Reference

Create:

mkdir -p ~/.claude/skills/skill-name

Validate:

head -n 10 ~/.claude/skills/skill-name/SKILL.md

List skills:

ls ~/.claude/skills/*/SKILL.md
ls .claude/skills/*/SKILL.md

Debug:

claude --debug

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/skill-maker-mm8o51j8/SKILL.md' && test -s '.skill-downloads/skill-maker-mm8o51j8/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/skill-maker' && cp -R '.skill-downloads/skill-maker-mm8o51j8' '.claude/skills/skill-maker'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/skill-maker-mm8o51j8'

openskills read 'skill-maker-mm8o51j8'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/skill-maker-mm8o51j8/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills