Skip to main content
skill-creator is a “meta-skill” that helps the Agent create, install, and update other skills, ensuring every skill follows a consistent SKILL.md format and directory layout.

When It Triggers

  • The user wants to install a skill from a URL or remote repository
  • The user wants to create a brand-new skill from scratch
  • An existing skill needs upgrading or restructuring

What Is a Skill?

A skill is a reusable instruction set plus optional scripts and assets. It injects domain expertise into the Agent so it can handle specific tasks like a specialist. A skill typically contains:
  1. Specialised workflow — step-by-step instructions for a category of tasks
  2. Tool usage — how to call a particular API or process a particular file format
  3. Domain knowledge — team conventions, business rules, data schemas, etc.
  4. Attached resources — scripts, reference docs, templates, etc.
Core principle: less is more. Only write what the Agent wouldn’t figure out on its own. For every line you add, ask yourself: is it worth the tokens?

Directory Structure

SKILL.md Specification

Frontmatter fields in the SKILL.md header:
The category field does not need to be set manually — the system automatically sets it to skill.
Two ways to declare API key dependencies:
Skills are auto-enabled/disabled based on dependencies: they activate when all required environment variables are present and deactivate when any are missing — no need for manual /skill enable.

Resource Directories

In principle, everything goes in SKILL.md — only split into resource directories when it truly won’t fit.Do not add README.md, CHANGELOG.md, or INSTALLATION_GUIDE.md to a skill — put everything in SKILL.md. Resource directories should only contain scripts that actually run or assets that are actually used.

Installing External Skills

After installation, the skill lands in <workspace>/skills/<name>/. Installation steps:
  1. Locate the SKILL.md (may be at the root or in a subdirectory of the archive)
  2. Read the name from the frontmatter
  3. Copy the entire skill directory (including SKILL.md, scripts/, assets/, etc.) to <workspace>/skills/<name>/
  4. If the archive contains an INSTALL.md or similar setup script, run it — but the final result must still reside under <workspace>/skills/<name>/

Creating a Skill from Scratch

Recommended order:
  1. Clarify requirements — ask the user for a few concrete use cases (don’t ask too many at once)
  2. Plan the structure — does this skill need scripts? Reference docs? Template assets?
  3. Scaffold — use the init script:
  4. Fill in content — write SKILL.md, add scripts and resources. Always test scripts after writing them
  5. Validate (optional):
  6. Iterate — keep improving based on real-world usage feedback

Naming Conventions

  • Use only lowercase letters, digits, and hyphens. Normalise user-given names, e.g. Plan Modeplan-mode
  • Maximum 64 characters
  • Keep it short, start with a verb, make it self-explanatory
  • Use tool names as prefixes when appropriate, e.g. gh-address-comments, linear-address-issue
  • The directory name and the name field must match exactly

Three-Level Loading

Skills are not loaded into context all at once — they use a three-level progressive loading mechanism:
  1. Metadata (name + description) — always in context (~100 words). The Agent uses this to decide whether to invoke the skill
  2. SKILL.md body — loaded only when the skill is activated; keep it under 500 lines
  3. Resource files — read on demand by the Agent
For skills with multiple variants (e.g. multi-cloud deployment), organise like this:
When the user picks AWS, the Agent only reads aws.md — no need to load all three providers.

Common Design Patterns

Step-by-step: numbered steps with corresponding scripts.
Branching: different flows based on user intent.
Template-based: when output format has strict requirements, include a template in SKILL.md for the Agent to follow.