Claude-code-ultimate-guide skill-creator

Scaffold a new Claude Code skill with SKILL.md, frontmatter, and bundled resources. Use when creating a custom skill, standardizing skill structure across a team, or packaging a skill for distribution.

install
source · Clone the upstream repo
git clone https://github.com/FlorianBruniaux/claude-code-ultimate-guide
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FlorianBruniaux/claude-code-ultimate-guide "$T" && mkdir -p ~/.claude/skills && cp -r "$T/examples/skills/skill-creator" ~/.claude/skills/florianbruniaux-claude-code-ultimate-guide-skill-creator && rm -rf "$T"
manifest: examples/skills/skill-creator/SKILL.md
source content

Skill Creator

Generate new Claude Code skills with correct directory structure, YAML frontmatter, and optional bundled resources.

When to Use

  • Creating a new custom skill for a project
  • Standardizing skill structure across a team
  • Generating skill templates with scripts, references, and assets
  • Packaging skills for distribution

Skill Directory Structure

skill-name/
├── SKILL.md          # Required: Main skill file with YAML frontmatter
├── scripts/          # Optional: Executable code for deterministic tasks
├── references/       # Optional: Documentation loaded contextually
└── assets/           # Optional: Templates, images, boilerplate (not loaded into context)

Workflow

1. Create the Skill

Create a new skill called "my-skill-name" in ~/.claude/skills/

Or with a specific purpose:

Create a skill for generating release notes from git commits,
with templates for CHANGELOG.md and Slack announcements

Or via the initialization script:

python3 ~/.claude/skills/skill-creator/scripts/init_skill.py <skill-name> --path <output-directory>

2. Generated SKILL.md Template

The created SKILL.md follows this structure:

---
name: skill-name
description: "What the skill does. Use when [trigger conditions]."
---

# Skill Name

## When to Use
- Trigger condition 1
- Trigger condition 2

## What This Skill Does
1. **Step 1**: Description
2. **Step 2**: Description

## How to Use
[Usage examples]

## Example
**User**: "Example prompt"
**Output**: [Example output]

3. Validate the Skill

After creation, verify:

  1. Frontmatter:
    name
    is kebab-case, 1-64 chars;
    description
    is a quoted string with "Use when" clause
  2. Content: Has "When to Use" section with trigger conditions and at least one usage example
  3. Structure: SKILL.md is under 5000 words; references and assets are in correct subdirectories
  4. Test: Invoke the skill with a real use case and confirm expected output

4. Package for Distribution (Optional)

python3 ~/.claude/skills/skill-creator/scripts/package_skill.py <path/to/skill-folder> [output-directory]

Organizational Patterns

PatternBest ForStructure
Workflow-BasedSequential proceduresStep-by-step instructions
Task-BasedMultiple operationsCollection of tasks
Reference/GuidelinesStandards, specsRules and examples
Capabilities-BasedInterrelated featuresFeature descriptions

Example: Creating a Release Notes Skill

User: "Create a skill for generating release notes with 3 output formats"

Steps:

  1. Initialize:
    init_skill.py release-notes-generator --path ~/.claude/skills/
  2. Add templates to
    assets/
    :
    changelog-template.md
    ,
    pr-release-template.md
    ,
    slack-template.md
  3. Add rules to
    references/
    :
    tech-to-product-mappings.md
  4. Complete
    SKILL.md
    with usage instructions
  5. Validate: check frontmatter, test with a real commit range
  6. Package:
    package_skill.py ~/.claude/skills/release-notes-generator

Tips

  • Keep SKILL.md under 5000 words for efficient context usage
  • Use
    references/
    for domain knowledge that doesn't change often
  • Put templates in
    assets/
    so they're not auto-loaded into context
  • Always include a "Use when" clause in the description frontmatter
  • Test with real use cases before packaging