Skip to main content
ClaudeWave
Skill578 repo starsupdated 2d ago

skill-creator

The skill-creator Claude Code item enables SwarmClaw users to create new skills from scratch or improve existing ones by providing structured guidance on skill architecture, design principles, and best practices. Use it when building modular packages that extend agent capabilities with specialized workflows, tool integrations, domain expertise, or bundled resources, or when auditing and refactoring existing skill files and directories for consistency and efficiency.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/swarmclawai/swarmclaw /tmp/skill-creator && cp -r /tmp/skill-creator/skills/skill-creator ~/.claude/skills/skill-creator
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Skill Creator

Guidance for creating effective skills that extend SwarmClaw agent capabilities.

## About Skills

Skills are modular, self-contained packages that provide specialized knowledge, workflows, and tools. They transform a general-purpose agent into a specialized one equipped with procedural knowledge that no model can fully possess.

### What Skills Provide

1. Specialized workflows — multi-step procedures for specific domains
2. Tool integrations — instructions for working with specific file formats or APIs
3. Domain expertise — company-specific knowledge, schemas, business logic
4. Bundled resources — scripts, references, and assets for complex and repetitive tasks

## Core Principles

### Concise is Key

The context window is a shared resource. Only add context the agent doesn't already have. Challenge each piece of information: "Does the agent really need this explanation?" Prefer concise examples over verbose explanations.

### Set Appropriate Degrees of Freedom

- **High freedom** (text instructions): Multiple valid approaches, context-dependent decisions
- **Medium freedom** (pseudocode/parameterized scripts): Preferred pattern exists, some variation OK
- **Low freedom** (specific scripts): Fragile operations, consistency critical, exact sequence required

### Anatomy of a Skill

```
skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter (name + description, required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/      — Executable code (Python/Bash/etc.)
    ├── references/   — Documentation loaded into context as needed
    └── assets/       — Files used in output (templates, icons, fonts)
```

#### Frontmatter

- `name`: Skill name (hyphen-case, lowercase)
- `description`: Primary triggering mechanism. Include what the skill does AND when to use it. All "when to use" info goes here — not in the body.

#### Scripts (`scripts/`)

Executable code for tasks that require deterministic reliability or are repeatedly rewritten. Token efficient and may be executed without loading into context.

#### References (`references/`)

Documentation loaded as needed to inform the agent's process. Keep only essential instructions in SKILL.md; move detailed reference material here.

#### Assets (`assets/`)

Files not loaded into context but used in output (templates, images, fonts). Separates output resources from documentation.

### What NOT to Include

- README.md, CHANGELOG.md, INSTALLATION_GUIDE.md, or other auxiliary docs
- Setup/testing procedures or user-facing documentation
- Information the agent already knows from general training

## Skill Creation Process

1. Understand the skill with concrete examples
2. Plan reusable contents (scripts, references, assets)
3. Initialize the skill
4. Edit the skill (implement resources, write SKILL.md)
5. Validate the skill
6. Iterate based on real usage

### Skill Naming

- Lowercase letters, digits, and hyphens only (hyphen-case)
- Under 64 characters
- Prefer short, verb-led phrases describing the action
- Name the skill folder exactly after the skill name

### Step 1: Understanding with Concrete Examples

Ask the user clarifying questions:

- What functionality should the skill support?
- Can you give examples of how it would be used?
- What would a user say that should trigger this skill?

### Step 2: Planning Reusable Contents

Analyze each example to identify what scripts, references, and assets would be helpful:

- **Repeated code** → `scripts/` (e.g., `scripts/rotate_pdf.py`)
- **Boilerplate** → `assets/` (e.g., `assets/hello-world/` template)
- **Domain knowledge** → `references/` (e.g., `references/schema.md`)

### Step 3: Initializing the Skill

Use the bundled init script to create the directory structure:

```bash
python3 {baseDir}/scripts/init_skill.py <skill-name> --path <output-directory> [--resources scripts,references,assets] [--examples]
```

Examples:

```bash
python3 {baseDir}/scripts/init_skill.py my-skill --path skills
python3 {baseDir}/scripts/init_skill.py my-skill --path skills --resources scripts,references
```

### Step 4: Edit the Skill

Write instructions that would help another agent instance execute tasks effectively. Include information that is beneficial and non-obvious.

**Writing guidelines:** Use imperative/infinitive form. Keep SKILL.md body under 500 lines.

**Frontmatter description:** Include both what the skill does and specific triggers for when to use it. This is the primary mechanism for skill selection.

### Step 5: Validate the Skill

Run the validator to check structure and frontmatter:

```bash
python3 {baseDir}/scripts/quick_validate.py <path/to/skill-folder>
```

### Step 6: Iterate

1. Use the skill on real tasks
2. Notice struggles or inefficiencies
3. Update SKILL.md or bundled resources
4. Test again

## Progressive Disclosure

Skills use a three-level loading system:

1. **Metadata** (name + description) — always in context (~100 words)
2. **SKILL.md body** — when skill triggers (<5k words)
3. **Bundled resources** — as needed (unlimited, since scripts can be executed without reading)

Keep SKILL.md lean. Move detailed information to reference files and describe clearly when to read them.
coding-agentSkill

Delegate coding tasks to external coding agents (Claude Code, Codex, Pi, OpenCode) via shell. Use when: (1) building new features or apps in a separate project, (2) reviewing PRs, (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit directly), reading code (use read/file tools), or work inside the SwarmClaw workspace itself.

githubSkill

GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: local git operations (use git directly), non-GitHub repos, or cloning (use git clone).

google-workspaceSkill

Use Google Workspace CLI (`gws`) for Drive, Docs, Sheets, Gmail, Calendar, Chat, and related Workspace API tasks.

nano-banana-proSkill

Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when asked to create, generate, or edit images and a Gemini API key is available. Supports text-to-image generation, single-image editing, and multi-image composition (up to 14 images).

nano-pdfSkill

Edit or create PDFs with natural-language instructions using the nano-pdf CLI. Use when asked to make a PDF, edit a PDF, add pages, change text in a PDF, or convert content to PDF format.

openai-image-genSkill

Generate images via OpenAI Images API (GPT Image, DALL-E 3, DALL-E 2). Supports batch generation with random prompt sampler and HTML gallery output. Use when asked to generate images with OpenAI and an OPENAI_API_KEY is available.

resourceful-problem-solvingSkill

Always-on guidance for solving tasks resourcefully. Teaches agents to escalate through skills, CLI tools, and custom scripts instead of refusing. Applies to any request where the agent lacks a dedicated tool.

summarizeSkill

Summarize or extract text/transcripts from URLs, podcasts, YouTube videos, and local files using the summarize CLI. Use when asked to summarize a link, article, video, or file, or to transcribe a YouTube video.