write-a-skill — 创建自定义 Skill
- 触发方式:
/write-a-skill或关键词「create skill」「write a skill」「新建 skill」 - 适用场景: 创建自定义 Skill、封装团队工作流
- 不适用场景: 修改已有 Skill(直接编辑文件)
功能概述
write-a-skill 帮助你创建新的 Claude Code Skill。它提供完整的 Skill 创建指导:结构设计、Frontmatter 配置、Prompt 编写、资源打包。
触发条件
以下情况会自动触发 write-a-skill:
- 提到「创建 Skill」「写一个 Skill」
- 想封装重复的工作流程
- 使用
/write-a-skill命令
使用示例
示例 1:创建简单 Skill
/write-a-skill 创建一个 skill,自动为 Python 函数生成 docstringClaude 会生成 Skill 文件结构:
my-docstring-skill/
├── SKILL.md # Skill 入口(frontmatter + prompt)
└── resources/
└── examples.md # 示例文档SKILL.md 范例:
markdown
---
name: python-docstring
description: Generate Google-style docstrings for Python functions
triggers:
- "add docstring"
- "generate docs for this function"
---
When activated, generate a Google-style Python docstring covering:
- Args (type + description)
- Returns (type + description)
- Raises (if applicable)
- Example usage
Follow PEP 257. Keep descriptions concise.示例 2:带工具的 Skill
/write-a-skill 创建一个数据库迁移 skill,能连接 PostgreSQL 并验证迁移安全性示例 3:封装团队规范
/write-a-skill 创建代码审查 skill,按我们团队的 5 条代码规范检查示例 4:多语言翻译 Skill
/write-a-skill 创建一个 i18n skill,将中文 JSON 翻译文件翻译成英文和日文示例 5:CI/CD Skill
/write-a-skill 创建一个 skill,检查 PR 是否符合我们的 CI 配置要求Skill 文件结构
skill-name/
├── SKILL.md # 必需:Skill 入口文件
└── resources/ # 可选:附加资源
├── examples.md
├── templates/
└── docs/注意事项
- Skill name 使用
kebab-case命名 - Frontmatter 中的
description要简洁明确,这是触发匹配的关键 - 不要过度设计 — 一个 Skill 做好一件事
- 测试 Skill 时注意触发词的精确性和误触率
- 资源文件用于引用,不会被全部加载到上下文
相关 Skills
- update-config — 配置 Skill 的权限和 hooks
- init — 初始化项目的 CLAUDE.md
- simplify — 简化 Skill 的 Prompt 内容