Skills › AI & Agent Engineering › Skill & prompt authoring
create-skill-file
Guides Claude in creating well-structured SKILL.md files following best practices. Provides clear guidelines for naming, structure, and content organization to make skills easy to discover and execute.
The full skill
—
name: create-skill-file
description: Guides Claude in creating well-structured SKILL.md files following best practices. Provides clear guidelines for naming, structure, and content organization to make skills easy to discover and execute.
—
# Claude Agent Skill ç¼åè§è
> å¦ä½å建é«è´¨éç SKILL.md æä»¶
## ç®å½
– [å¿«éå¼å§](#å¿«éå¼å§)
– [æ ¸å¿åå](#æ ¸å¿åå)
– [æä»¶ç»æè§è](#æä»¶ç»æè§è)
– [å½ååæè¿°è§è](#å½ååæè¿°è§è)
– [å
容ç¼åæå](#å
容ç¼åæå)
– [è´¨éæ£æ¥æ¸
å](#è´¨éæ£æ¥æ¸
å)
—
## å¿«éå¼å§
### 3æ¥å建 Skill
**第1æ¥: å建ç®å½**
“`bash
mkdir -p .claude/skill/your-skill-name
cd .claude/skill/your-skill-name
“`
**第2æ¥: å建 SKILL.md**
“`markdown
—
name: your-skill-name
description: Brief description with trigger keywords and scenarios
—
# Your Skill Title
## When to Use This Skill
– User asks to [specific scenario]
– User mentions "[keyword]"
## How It Works
1. Step 1: [Action]
2. Step 2: [Action]
## Examples
**Input**: User request
**Output**: Expected result
“`
**第3æ¥: æµè¯**
– å¨å¯¹è¯ä¸ä½¿ç¨ description ä¸çå
³é®è¯è§¦å
– è§å¯ Claude æ¯å¦æ£ç¡®æ§è¡
– æ ¹æ®ææè°æ´
—
## æ ¸å¿åå
### 1. ä¿æç®æ´
åªæ·»å Claude **ä¸ç¥é**çæ°ç¥è¯:
– â
项ç®ç¹å®ç工使µç¨
– â
ç¹æ®çå½åè§èææ ¼å¼è¦æ±
– â
èªå®ä¹å·¥å
·åèæ¬çä½¿ç¨æ¹æ³
– â éç¨ç¼ç¨ç¥è¯
– â æ¾èæè§çæ¥éª¤
**示ä¾å¯¹æ¯**:
“`markdown
# â è¿åº¦è¯¦ç»
1. å建 Python æä»¶
2. 导å
¥å¿
è¦çåº
3. å®ä¹å½æ°
4. ç¼å主ç¨åºé»è¾
# â
ç®æ´ææ
ä½¿ç¨ `scripts/api_client.py` è°ç¨å
é¨ APIã
请æ±å¤´å¿
é¡»å
å« `X-Internal-Token`(ä»ç¯å¢åé `INTERNAL_API_KEY` è·å)ã
“`
### 2. 设å®åéçèªç±åº¦
| èªç±åº¦ | éç¨åºæ¯ | ç¼åæ¹å¼ |
|——–|———|———|
| **é«** | éè¦åé æ§ãå¤ç§è§£å³æ¹æ¡ | æä¾æå¯¼åå,ä¸éå®å
·ä½æ¥éª¤ |
| **ä¸** | ææ¨èæ¨¡å¼ä½å
许åå | æä¾åæ°å示ä¾åé»è®¤æµç¨ |
| **ä½** | 容æåºéãéä¸¥æ ¼æ§è¡ | æä¾è¯¦ç»ç忥æä»¤æèæ¬ |
**夿æ å**:
– 任塿¯å¦ææç¡®ç"æ£ç¡®çæ¡"? â ä½èªç±åº¦
– æ¯å¦éè¦éåºä¸ååºæ¯? â é«èªç±åº¦
– é误ç代价æå¤å¤§? â 代价é«åç¨ä½èªç±åº¦
### 3. æ¸è¿å¼æ«é²
å°å¤æå
容åå±ç»ç»:
“`
SKILL.md (ä¸»ææ¡£, 200-500è¡)
âââ reference.md (è¯¦ç»ææ¡£)
âââ examples.md (宿´ç¤ºä¾)
âââ scripts/ (坿§è¡èæ¬)
“`
**è§å**:
– SKILL.md è¶
è¿ 500è¡ â æååæä»¶
– åæä»¶è¶
è¿ 100è¡ â æ·»å ç®å½
– å¼ç¨æ·±åº¦ ⤠1å±
—
## æä»¶ç»æè§è
### YAML Frontmatter
“`yaml
—
name: skill-name-here
description: Clear description of what this skill does and when to activate it
—
“`
**åæ®µè§è**:
| åæ®µ | è¦æ± | 说æ |
|——|——|——|
| `name` | å°ååæ¯ãæ°åãçæ¨ªçº¿,â¤64å符 | å¿
é¡»ä¸ç®å½åä¸è´ |
| `description` | çº¯ææ¬,â¤1024å符 | ç¨äºæ£ç´¢åæ¿æ´» |
**å½åç¦å¿**:
– â XML æ ç¾ãä¿çå(`anthropic`, `claude`)
– â æ¨¡ç³è¯æ±(`helper`, `utility`, `manager`)
– â ç©ºæ ¼æä¸å线(ç¨ç横线 `-`)
**Description æå·§**:
“`yaml
# â è¿äºæ³å
description: Helps with code tasks
# â
å
·ä½ä¸å
å«å
³é®è¯
description: Processes CSV files and generates Excel reports with charts. Use when user asks to convert data formats or create visual reports.
# â
说æè§¦ååºæ¯
description: Analyzes Python code for security vulnerabilities using bandit. Activates when user mentions "security audit" or "vulnerability scan".
“`
### ç®å½ç»ç»
**åºç¡ç»æ**(ç®å Skill):
“`
skill-name/
âââ SKILL.md
“`
**æ åç»æ**(æ¨è):
“`
skill-name/
âââ SKILL.md
âââ templates/
â âââ template.md
âââ scripts/
âââ script.py
“`
—
## å½ååæè¿°è§è
### Skill å½å
**æ¨èæ ¼å¼**: å¨åè¯å½¢å¼ (verb-ing + noun)
“`
â
好çå½å:
– processing-csv-files
– generating-api-docs
– managing-database-migrations
â ä¸å¥½çå½å:
– csv (è¿äºç®ç)
– data_processor (使ç¨ä¸å线)
– helper (è¿äºæ¨¡ç³)
“`
### Description ç¼å
**å¿
须使ç¨ç¬¬ä¸äººç§°**:
“`yaml
# â é误
description: I help you process PDFs
# â
æ£ç¡®
description: Processes PDF documents and extracts structured data
“`
**4C åå**:
– **Clear** (æ¸
æ°): é¿å
æ¯è¯å模ç³è¯æ±
– **Concise** (ç®æ´): 1-2å¥è¯è¯´ææ ¸å¿åè½
– **Contextual** (ä¸ä¸æ): 说æéç¨åºæ¯
– **Complete** (宿´): åè½ + è§¦åæ¡ä»¶
—
## å
容ç¼åæå
### "When to Use" ç« è
æç¡®è¯´æè§¦ååºæ¯:
“`markdown
## When to Use This Skill
– User asks to analyze Python code for type errors
– User mentions "mypy" or "type checking"
– User is working in a Python project with type hints
– User needs to add type annotations
“`
**模å¼**:
– ç´æ¥è¯·æ±: "User asks to X"
– å
³é®è¯: "User mentions 'keyword'"
– ä¸ä¸æ: "User is working with X"
– ä»»å¡ç±»å: "User needs to X"
### 工使µè®¾è®¡
**ç®åçº¿æ§æµç¨**:
“`markdown
## How It Works
1. Scan the project for all `.py` files
2. Run `mypy –strict` on each file
3. Parse error output and categorize by severity
4. Generate summary report with fix suggestions
“`
**æ¡ä»¶åæ¯æµç¨**:
“`markdown
## Workflow
1. **Check project type**
– If Django â Use `django-stubs` config
– If Flask â Use `flask-stubs` config
– Otherwise â Use default mypy config
2. **Run type checking**
– If errors found â Proceed to step 3
– If no errors â Report success and exit
“`
**Checklist 模å¼**(éªè¯åä»»å¡):
“`markdown
## Pre-deployment Checklist
Execute in order. Stop if any step fails.
– [ ] Run tests: `npm test` (must pass)
– [ ] Build: `npm run build` (no errors)
– [ ] Check deps: `npm audit` (no critical vulnerabilities)
“`
### 示ä¾å模æ¿
**è¾å
¥-è¾åºç¤ºä¾**:
“`markdown
## Examples
### Example 1: Basic Check
**User Request**: "Check my code for type errors"
**Action**:
1. Scan for `.py` files
2. Run `mypy` on all files
**Output**:
Found 3 type errors in 2 files:
src/main.py:15: error: Missing return type
src/utils.py:42: error: Incompatible types
“`
### èæ¬éæ
**使¶ä½¿ç¨èæ¬**:
– ç®åå½ä»¤ â ç´æ¥å¨ SKILL.md ä¸è¯´æ
– 夿æµç¨ â æä¾ç¬ç«èæ¬
**èæ¬ç¼åè§è**:
“`python
#!/usr/bin/env python3
"""
Brief description of what this script does.
Usage:
python script.py <arg> [–option value]
"""
import argparse
DEFAULT_VALUE = 80 # Use constants, not magic numbers
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("directory", help="Directory to process")
parser.add_argument("–threshold", type=int, default=DEFAULT_VALUE)
args = parser.parse_args()
# Validate inputs
if not Path(args.directory).is_dir():
print(f"Error: {args.directory} not found")
return 1
# Execute
result = process(args.directory, args.threshold)
# Report
print(f"Processed {result['count']} files")
return 0
if __name__ == "__main__":
exit(main())
“`
**å
³é®è§è**:
– â
Shebang è¡å docstring
– â
ç±»åæ³¨è§£å常é
– â
åæ°éªè¯åé误å¤ç
– â
æ¸
æ°çè¿åå¼(0=æå, 1=失败)
### æä½³å®è·µ
**Do**:
– â
æä¾å¯æ§è¡çå½ä»¤åèæ¬
– â
å
å«è¾å
¥-è¾åºç¤ºä¾
– â
说æéªè¯æ ååæåæ¡ä»¶
– â
å
å« Do/Don't æ¸
å
**Don't**:
– â å
å« Claude å·²ç¥çéç¨ç¥è¯
– â ä½¿ç¨æ½è±¡æè¿°èéå
·ä½æ¥éª¤
– â éæ¼é误å¤çæå¯¼
– â 示ä¾ä½¿ç¨ä¼ªä»£ç èéçå®ä»£ç
—
## è´¨éæ£æ¥æ¸
å
### æ ¸å¿è´¨é
– [ ] `name` 符åå½åè§è(å°åãçæ¨ªçº¿ãâ¤64å符)
– [ ] `description` å
å«è§¦åå
³é®è¯ååºæ¯(â¤1024å符)
– [ ] åç§°ä¸ç®å½åä¸è´
– [ ] åªå
å« Claude ä¸ç¥éçä¿¡æ¯
– [ ] 没æå使éå¤å
容
### åè½å®æ´æ§
– [ ] æ"When to Use"ç« è,ååº 3-5 个触ååºæ¯
– [ ] ææ¸
æ°çæ§è¡æµç¨ææ¥éª¤
– [ ] è³å° 2-3 ä¸ªå®æ´ç¤ºä¾
– [ ] å
å«è¾å
¥å颿è¾åº
– [ ] é误å¤çææå¯¼
### ç»æè§è
– [ ] ç« èç»ç»æ¸
æ°
– [ ] è¶
è¿ 200è¡æç®å½å¯¼èª
– [ ] å¼ç¨å±çº§ ⤠1å±
– [ ] ææè·¯å¾ä½¿ç¨æ£ææ `/`
– [ ] æ¯è¯ä½¿ç¨ä¸è´
### èæ¬åæ¨¡æ¿
– [ ] èæ¬å
å«ä½¿ç¨è¯´æååæ°ææ¡£
– [ ] èæ¬æé误å¤ç
– [ ] é¿å
éæ³æ°å,使ç¨é
ç½®
– [ ] æ¨¡æ¿æ ¼å¼æ¸
æ°æç¨
### æç»æ£æ¥
– [ ] é读å
¨æ,ç¡®ä¿æµç
æè¯»
– [ ] 使ç¨å®é
åºæ¯æµè¯è§¦å
– [ ] é¿åº¦éä¸(200-500è¡,æå·²æå)
—
## 常è§é®é¢
**Q: Skill å¤é¿æåé?**
– æå°: 50-100è¡
– çæ³: 200-500è¡
– æå¤§: 500è¡(è¶
è¿åæå)
**Q: å¦ä½è®© Skill æ´å®¹ææ¿æ´»?**
– å¨ `description` ä¸ä½¿ç¨ç¨æ·ä¼è¯´çå
³é®è¯
– 说æå
·ä½åºæ¯("when user asks to X")
– æåç¸å
³å·¥å
·åç§°
**Q: å¤ä¸ª Skill åè½éå æä¹å?**
– ä½¿ç¨æ´å
·ä½ç `description` åºå
– å¨"When to Use"ä¸è¯´æå
³ç³»
– èèå并为ä¸ä¸ª Skill
**Q: Skill éè¦ç»´æ¤å?**
– æ¯å£åº¦å®¡æ¥ä¸æ¬¡,æ´æ°è¿æ¶ä¿¡æ¯
– æ ¹æ®ä½¿ç¨åé¦è¿ä»£
– å·¥å
·æ API åæ´æ¶åæ¶æ´æ°
—
## å¿«éåè
### Frontmatter 模æ¿
“`yaml
—
name: skill-name
description: Brief description with trigger keywords
—
“`
### åºç¡ç»ææ¨¡æ¿
“`markdown
# Skill Title
## When to Use This Skill
– Scenario 1
– Scenario 2
## How It Works
1. Step 1
2. Step 2
## Examples
### Example 1
…
## References
– [Link](url)
“`
—
## ç¸å
³èµæº
– [Claude Agent Skills 宿¹ææ¡£](https://docs.claude.com/en/docs/agents-and-tools/agent-skills)
– [Best Practices Checklist](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices)
– [æ¨¡æ¿æä»¶](templates/) – å¼ç®±å³ç¨ç模æ¿
– [åºç¡ skill çæ¨¡æ¿](templates/basic-skill-template.md)
– [工使µ skill çæ¨¡æ¿](templates/workflow-skill-template.md)
– [示ä¾åº](examples/) – 宿´ç Skill 示ä¾
– [ä¼ç§ç¤ºä¾](examples/good-example.md)
– [常è§é误示ä¾](examples/bad-example.md)
—