AgentSkillsCN

skill-creator

为Claude Code创建新的代理技能。当用户想要创建技能、添加新功能、记录CLI工作流或询问技能运作方式时使用。

SKILL.md
--- frontmatter
name: skill-creator
description: Create new Agent Skills for Claude Code. Use when user wants to create a skill, add a new capability, document a CLI workflow, or asks how skills work.

Skill Creator

Create modular Agent Skills that extend Claude's capabilities. Skills package expertise into discoverable folders containing instructions, scripts, and resources.

When to Use

  • "Create a skill for..."
  • "Make a new skill"
  • "Add a skill that..."
  • "How do I create a skill?"
  • "Document this workflow as a skill"

Quick Start: Create a Skill

1. Choose Location

bash
# Personal skill (all projects)
mkdir -p ~/.claude/skills/my-skill

# Project skill (shared via git)
mkdir -p .claude/skills/my-skill

2. Create SKILL.md

markdown
---
name: my-skill
description: Brief description of what it does and when to use it.
---

# My Skill

## Instructions
Step-by-step guidance for Claude.

## Examples
Concrete usage examples.

3. Test It

Ask Claude a question that matches your description. Skills activate automatically based on context.


SKILL.md Structure

Required: YAML Frontmatter

yaml
---
name: lowercase-with-hyphens    # Max 64 chars, [a-z0-9-] only
description: What it does AND when to use it. Include trigger keywords.
---

Critical: The description field determines when Claude discovers and uses your skill.

Optional: Tool Permissions

yaml
---
name: safe-reader
description: Read-only file access. Use for code review without modifications.
allowed-tools: Read, Grep, Glob
---

When allowed-tools is set, Claude can only use those tools without asking permission.

Content Sections

markdown
# Skill Name

Brief overview.

## Prerequisites
Installation or setup if needed.

## CLI Reference
Commands with examples.

## Common Workflows
Step-by-step procedures.

## Best Practices
Guidelines and tips.

Skill Types

TypeLocationScopeShared
Personal~/.claude/skills/All your projectsNo
Project.claude/skills/This repoYes (git)
PluginVia installed pluginsPer pluginVia marketplace

Supporting Files

Add files alongside SKILL.md:

code
my-skill/
├── SKILL.md           # Required
├── reference.md       # Optional docs
├── examples/          # Optional examples
├── scripts/           # Optional utilities
│   └── helper.ts
└── templates/         # Optional templates

Reference from SKILL.md:

markdown
See [reference.md](reference.md) for details.

Run the helper:
` ` `bash
bun scripts/helper.ts
` ` `

Claude reads supporting files only when needed (progressive disclosure).


Writing Good Descriptions

Bad (too vague):

yaml
description: Helps with data

Good (specific triggers):

yaml
description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when working with Excel files, .xlsx format, or spreadsheet analysis.

Include:

  • What the skill does
  • When to use it
  • Key trigger words users might say

Complete Example

Create ~/.claude/skills/api-testing/SKILL.md

markdown
---
name: api-testing
description: Test REST APIs with curl and analyze responses. Use when testing endpoints, debugging APIs, or validating HTTP requests.
---

# API Testing

Test and debug REST APIs from the command line.

## Prerequisites

` ` `bash
# Verify curl is available
curl --version
` ` `

## CLI Reference

### Basic Requests
` ` `bash
curl -X GET "https://api.example.com/users"
curl -X POST "https://api.example.com/users" \
  -H "Content-Type: application/json" \
  -d '{"name": "John"}'
` ` `

### With Authentication
` ` `bash
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.example.com/protected"
` ` `

### Save Response
` ` `bash
curl -o response.json "https://api.example.com/data"
` ` `

## Common Workflows

### Test Endpoint Health
` ` `bash
# Check status code
curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health

# Measure response time
curl -w "Time: %{time_total}s\n" -o /dev/null -s https://api.example.com
` ` `

## Best Practices

1. **Use -s for scripts** - Silent mode hides progress
2. **Use -f to fail** - Exit non-zero on HTTP errors
3. **Use jq for JSON** - Pipe to `jq` for pretty output

Validation Checklist

Before considering complete:

  • SKILL.md has valid YAML frontmatter
  • Name is lowercase-with-hyphens (max 64 chars)
  • Description includes what AND when (max 1024 chars)
  • Instructions are clear and actionable
  • CLI commands have explanatory comments
  • Tested that Claude discovers and uses the skill

Troubleshooting

Claude doesn't use my skill

  1. Description too vague - Add specific trigger keywords
  2. Wrong location - Check path exactly matches conventions
  3. Invalid YAML - Validate frontmatter syntax
  4. Restart needed - Restart Claude Code after changes

Check skill loads

bash
# Verify file exists
cat ~/.claude/skills/my-skill/SKILL.md

# List all skills
ls ~/.claude/skills/*/SKILL.md
ls .claude/skills/*/SKILL.md

Debug frontmatter

bash
# View first 10 lines
head -n 10 ~/.claude/skills/my-skill/SKILL.md

Ensure:

  • Opening --- on line 1
  • Closing --- before content
  • No tabs (use spaces)
  • Strings with special chars are quoted

Study Existing Skills

bash
# See all personal skills
ls ~/.claude/skills/*/SKILL.md

# Good examples to study
cat ~/.claude/skills/beads/SKILL.md     # Task tracking CLI
cat ~/.claude/skills/gemini/SKILL.md    # AI research CLI
cat ~/.claude/skills/github/SKILL.md    # gh CLI patterns