skill-creator

alexjx's avatarfrom alexjx

Create new Claude Code skills in this repository. Use when user wants to add a new skill, create a skill, implement a skill, or extend Claude's capabilities with a custom workflow.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 23, 2025

When & Why to Use This Skill

The Skill Creator is a powerful meta-utility designed to automate the development and organization of custom Claude Code skills. It streamlines the process of extending Claude's capabilities by generating standardized directory structures, boilerplate SKILL.md files, and executable script templates, ensuring all new skills adhere to best practices and naming conventions.

Use Cases

  • Rapidly bootstrapping new Claude skills with a standardized folder structure including scripts, documentation, and dependency files.
  • Extending Claude's functional capabilities by implementing custom workflows for specific project needs or proprietary APIs.
  • Automating the creation of Python-based skills using 'uv' for dependency management or Node.js environments.
  • Ensuring project-wide consistency by enforcing naming rules and documentation standards for all agentic tools within a repository.
nameskill-creator
descriptionCreate new Claude Code skills in this repository. Use when user wants to add a new skill, create a skill, implement a skill, or extend Claude's capabilities with a custom workflow.

Skill Creator

Creates new skills in the project skills/ directory (not .claude/skills/).

Target directory: <project-root>/skills/

Skill Structure

Each skill lives in its own directory under the project skills/ folder:

<project-root>/skills/<skill-name>/
├── SKILL.md          # Required: skill definition with YAML frontmatter
├── scripts/          # Optional: executable scripts
│   ├── setup.sh      # Optional: one-time setup
│   └── main.py       # Main script (or .sh, .js, etc.)
├── refs/             # Optional: reference documentation
├── pyproject.toml    # Optional: Python dependencies (use uv)
└── package.json      # Optional: Node.js dependencies

SKILL.md Format

---
name: skill-name
description: Brief description of what this skill does AND when to use it. Include trigger words like file types, actions, or use cases.
allowed-tools: Read, Grep, Glob  # Optional: restrict available tools
---

# Skill Name

Brief overview of the skill.

## Requirements

List external dependencies (e.g., uv, node, specific tools).

## Setup

Instructions to run before first use.

## Usage

How to invoke the skill's functionality.

## Examples

Concrete usage examples.

Naming Rules

  • Max 64 characters
  • Lowercase letters, numbers, hyphens only
  • Cannot contain "anthropic" or "claude"

Description Best Practices

The description determines when Claude triggers the skill. Include:

  1. What it does: "Converts web pages to markdown"
  2. When to use it: "Use when user wants to crawl a webpage, extract content..."
  3. Trigger words: File types (.pdf, .xlsx), actions (crawl, convert, analyze)

Bad: description: Helps with documents Good: description: Extract text from PDF files, fill forms, merge documents. Use when working with PDFs or when user mentions forms, document extraction.

Script Patterns

# pyproject.toml
[project]
name = "skill-name"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = ["your-deps"]
# scripts/setup.sh
#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$(dirname "$SCRIPT_DIR")"
uv sync
# Additional setup...
# Run scripts with:
cd skills/<skill-name> && uv run python scripts/main.py

Shell scripts

# scripts/main.sh
#!/bin/bash
set -e
# Your logic here

Node.js

// package.json
{
  "name": "skill-name",
  "type": "module",
  "dependencies": {}
}

Creating a New Skill

  1. Ask user for:

    • Skill name (lowercase, hyphens)
    • Purpose and functionality
    • Required dependencies
    • Trigger scenarios
  2. Create directory structure in the project skills folder:

    mkdir -p <project-root>/skills/<name>/scripts
    

    Important: Always use the project's skills/ directory, NOT .claude/skills/.

  3. Write SKILL.md with proper frontmatter

  4. Add scripts if needed

  5. Add setup.sh if dependencies require installation

  6. Test the skill works

Progressive Disclosure

Keep SKILL.md focused on quick-start workflow. Move detailed reference docs to separate files:

refs/
├── API.md
├── CONFIG.md
└── TROUBLESHOOTING.md

Reference them from SKILL.md: See [API reference](refs/API.md) for details.