skill-creator

SKILL.md

When to Create a Skill

Create a skill when:

  • A pattern is used repeatedly and AI needs guidance
  • Project-specific conventions differ from generic best practices
  • Complex workflows need step-by-step instructions
  • Decision trees help AI choose the right approach

Don't create a skill when:

  • Documentation already exists (create a reference instead)
  • Pattern is trivial or self-explanatory
  • It's a one-off task

Skill Structure

skills/{skill-name}/
├── SKILL.md              # Required - main skill file
├── assets/               # Optional - templates, schemas, examples
│   ├── template.py
│   └── schema.json
└── references/           # Optional - links to local docs
    └── docs.md           # Points to docs/developer-guide/*.mdx

When to Use

{Bullet points of when to use this skill}

Critical Patterns

{The most important rules - what AI MUST know}

Code Examples

{Minimal, focused examples}

Commands

{Common commands}

Resources


Naming Conventions

Type Pattern Examples
Generic skill {technology} pytest, playwright, typescript
sgc-specific sgc-{component} sgc-api, sgc-ui, sgc-sdk-check
Testing skill sgc-test-{component} sgc-test-sdk, sgc-test-api
Workflow skill {action}-{target} skill-creator, jira-task

Decision: assets/ vs references/

Need code templates? → assets/
Need JSON schemas? → assets/
Need example configs? → assets/
Link to existing docs? → references/
Link to external guides? → references/ (with local path)

Key Rule: references/ should point to LOCAL files (docs/developer-guide/*.mdx), not web URLs.


Decision: sgc-Specific vs Generic


Patterns apply to ANY project? → Generic skill (e.g., pytest, typescript)
Patterns are sgc-specific? → sgc-{name} skill
Generic skill needs sgc info? → Add references/ pointing to sgc docs


Frontmatter Fields

Field Required Description
name Yes Skill identifier (lowercase, hyphens)
description Yes What + Trigger in one block
license Yes Always Apache-2.0 for sgc
metadata.version Yes Semantic version as string

Content Guidelines

DO

  • Start with the most critical patterns
  • Use tables for decision trees
  • Keep code examples minimal and focused
  • Include Commands section with copy-paste commands

DON'T

  • Add Keywords section (agent searches frontmatter, not body)
  • Duplicate content from existing docs (reference instead)
  • Include lengthy explanations (link to docs)
  • Add troubleshooting sections (keep focused)
  • Use web URLs in references (use local paths)

Registering the Skill

After creating the skill, use the skill-registry skill to add it to the JSON registry:

# Extract name and description from the new SKILL.md (assuming it's in skills/{skill-name}/SKILL.md)
NAME=$(grep '^name:' skills/{skill-name}/SKILL.md | cut -d' ' -f2)
DESC=$(grep '^description:' skills/{skill-name}/SKILL.md | cut -d' ' -f2-)

# Add to registry using skill-registry commands
jq --arg name "$NAME" --arg desc "$DESC" '.skills += [{"name": $name, "description": $desc}]' skills/skill-registry/assets/registry.json > temp.json && mv temp.json skills/skill-registry/assets/registry.json

This integrates with skill-registry to automatically update the JSON registry with the new skill's details.

Optionally, also add it to AGENTS.md:

| `{skill-name}` | {Description} | [SKILL.md](skills/{skill-name}/SKILL.md) |

Checklist Before Creating

  • Skill doesn't already exist (check skills/)
  • Pattern is reusable (not one-off)
  • Name follows conventions
  • Frontmatter is complete (description includes trigger keywords)
  • Critical patterns are clear
  • Code examples are minimal
  • Commands section exists
  • Added to skill-registry JSON
  • Added to AGENTS.md

Resources

  • Templates: See assets/ for SKILL.md template
Weekly Installs
5
First Seen
Feb 25, 2026
Installed on
opencode5
gemini-cli5
claude-code5
github-copilot5
codex5
kimi-cli5