CtrlK
BlogDocsLog inGet started
Tessl Logo

skill-creator

Create new Claude Code skills with proper structure, YAML frontmatter, and bundled resources. Generates skill templates following best practices for modular, self-contained capability packages.

Install with Tessl CLI

npx tessl i github:FlorianBruniaux/claude-code-ultimate-guide --skill skill-creator
What are skills?

68

2.35x

Quality

52%

Does it follow best practices?

Impact

99%

2.35x

Average score across 3 eval scenarios

Optimize this skill with Tessl

npx tessl skill review --optimize ./examples/skills/skill-creator/SKILL.md
SKILL.md
Review
Evals

Skill Creator

This skill helps you create new Claude Code skills with proper structure and best practices.

When to Use This Skill

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

Skill Structure

A Claude skill consists of:

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)

SKILL.md Format

Every skill requires a SKILL.md file with:

---
name: skill-name
description: One-line description of what the skill does and when to use it.
---

# Skill Name

Brief introduction explaining the skill's purpose.

## When to Use This Skill

- Trigger condition 1
- Trigger condition 2
- Trigger condition 3

## What This Skill Does

1. **Step 1**: Description
2. **Step 2**: Description
3. **Step 3**: Description

## How to Use

### Basic Usage
[Examples of how to invoke the skill]

### With Options
[Advanced usage patterns]

## Example

**User**: "Example prompt"

**Output**:
[Example output]

## Tips

- Best practice 1
- Best practice 2

## Related Use Cases

- Related task 1
- Related task 2

How to Use

Create a New Skill

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

Create with Specific Purpose

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

Initialize Skill Structure

Run the initialization script:

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

Package Skill for Distribution

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

Design Principles

Progressive Disclosure

Context loads hierarchically to optimize token usage:

  1. Metadata (~100 words): Always present via skill description
  2. SKILL.md (<5k words): Loaded when skill is triggered
  3. Bundled resources: Loaded as needed during execution

Organizational Patterns

Choose the pattern that fits your skill:

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

Naming Conventions

  • Use kebab-case for skill names: release-notes-generator
  • Use descriptive names that indicate purpose
  • Keep names concise but meaningful

Bundled Resources

scripts/

Executable code for deterministic, repeatable tasks:

  • init_skill.py - Initialize new skill structure
  • package_skill.py - Package skill for distribution

references/

Documentation loaded contextually:

  • API documentation
  • Style guides
  • Domain knowledge

assets/

Templates and resources (not auto-loaded):

  • Output templates
  • Boilerplate code
  • Images and fonts

Example: Creating a Release Notes Skill

User: "Create a skill for generating release notes with 3 output formats: CHANGELOG.md, PR body, and Slack message"

Steps:

  1. Initialize structure: 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 transformation rules to references/:
    • tech-to-product-mappings.md
  4. Complete SKILL.md with usage instructions
  5. 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
  • Test your skill with real use cases before packaging
  • Include concrete examples in your SKILL.md

Related Use Cases

  • Creating project-specific automation skills
  • Building team-shared development workflows
  • Packaging reusable Claude capabilities
Repository
FlorianBruniaux/claude-code-ultimate-guide
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.