[经验分享] 我的第一个 Skill
Skill 到底是什么?
Skill 的核心原理:把复杂的任务,拆解成一个个简单可执行的小步骤,每个步骤都明确"需要准备什么(输入)"和"能得到什么(输出)",再用标准化的逻辑,让这些步骤无缝衔接、可重复使用。
就像我们做一道番茄炒蛋:
| 步骤 | 输入 | 输出 |
|---|---|---|
| 备料 | 2 个鸡蛋、1 个番茄 | 番茄切块、蛋液打好 |
| 炒蛋 | 蛋液 + 热油 | 炒蛋成型 |
| 炒番茄 | 番茄块 + 热锅 | 番茄出汁 |
| 混合调味 | 炒蛋 + 番茄汁 + 盐 | 成品出锅 |
"番茄炒蛋 Skill"的原理就是:拆解步骤 → 明确每步的输入输出 → 用固定逻辑串联,确保每次做出来的味道都一致。
对应到 Claude Code 里,Skill 本质上就是一段结构化的提示词(Prompt)。你把它写好,Claude 在触发这个 Skill 时,就会严格按照你定义的步骤来执行任务——不再每次都要你重复描述需求,也不会遗漏关键步骤。
一句话总结:Skill = 你把"做事流程"写成文件,让 AI 照着做。
光说原理有点抽象。接下来通过我的第一个 Skill 示例“月报生成 Skill”——带你完整走一遍完成一个skill创造全流程。
二、第一个 Skill 做什么?
Skill 不需要太复杂。我的建议是:从你日常最烦的重复劳动开始。
问自己三个问题:
- 哪些事情我每个月/每周都在重复做?
- 这些事情的操作步骤是不是一样的?
- 我能不能把模板/格式固定下来?
举几个真实的例子:
| 场景 | 重复点 | Skill 能做什么 |
|---|---|---|
| 报账材料汇总 | 每次都要整理发票、填表、核对金额 | 给定输入(发票照片/列表),自动按固定格式生成汇总表 |
| 月报生成 | 每月从各渠道收集数据、写总结、调格式 | 给定数据源,按固定模板输出月报文档 |
| 踩坑指南文章 | 每次都是"问题→根因→方案→注意事项"的结构 | 给定问题描述,按标准模板生成文章骨架 |
| 代码审查清单 | 每次 CR 都要检查相同的项 | 按固定清单逐项审查,输出结构化报告 |
我选了什么:月报
我每个月都要做月报,流程雷打不动:
下载最新日报到本地 |
→ 跑 Python 脚本,从日报里提取本月按项目汇总的工作内容 |
→ 把"提示词 txt + 月报模板 + 近三个月月报 + 本月工作内容"打包发给网页端大模型 |
→ 把生成的内容复制到 Word,手动调格式(第二耗时) |
→ 逐章调整内容措辞(第一耗时) |
→ 通读检查 |
每次花费我至少半小时时间(而且已经是精简过的流程),最耗时的不是"写内容"本身,而是调word格式和逐章打磨措辞——重复、机械、让人不想动手。
除了"下载日报"和"最终通读"这两步,中间的部分我全想让 Skill 帮我做。
三、怎么写?
3.1 Skill 需要哪些文件?
一个 Skill 的文件结构非常简单:
my-skill/ # Skill 文件夹(文件夹名 = Skill 名) |
└── skill.md # 核心文件:Skill 的定义(必须有) |
没错,最少只需要一个 skill.md 文件。如果你的 Skill 需要额外的模板文件、示例数据,也可以放在同一个文件夹下:
my-skill/ |
├── skill.md # Skill 定义 |
├── template.md # 输出模板(可选) |
└── examples.md # 示例数据(可选) |
我的月报 Skill 最终结构:
.claude/skills/monthly-report/├── SKILL.md # Skill 主文件(触发规则 + 8 章生成逻辑 + 格式规范)└── project_roles.yaml # 项目角色映射(我来维护)除了核心文件,还多了一个 YAML 配置文件——用来记录"每个项目我负责什么角色",解决月报里按项目维度组织内容的细节问题。后面会讲到它是怎么来的。
3.2 Skill 文件放在哪?
Claude Code 会在两个位置查找 Skill:
| 级别 | 路径 | 适用场景 |
|---|---|---|
| 用户级 | ~/.claude/skills/<skill-name>/skill.md |
你在所有项目中都想用的 Skill |
| 项目级 | <项目根目录>/.claude/skills/<skill-name>/skill.md |
只在特定项目中使用的 Skill |
新手建议:先放在用户级目录下,这样在任何项目里都能调用。比如你的 Skill 叫
pitfall-writer,就创建文件:
- Windows:
C:\Users\你的用户名\.claude\skills\pitfall-writer\skill.md- macOS/Linux:
~/.claude/skills/pitfall-writer/skill.md
3.3 skill.md 长什么样?
skill.md 由两部分组成:头部元数据(YAML frontmatter) + 正文指令(Markdown body)。
以我的月报 Skill 为例,结构大致如下(已脱敏):
--- |
name: monthly-report |
description: 根据日报数据和工作记录,按固定模板生成月度工作报告 .docx 文件 |
--- |
# 月报生成 Skill |
当用户提供月份信息时,自动采集数据并按模板生成月报。 |
## 工作空间 |
- 根目录:xxx |
## 数据提取 |
1. **采集数据**:运行 `data_extract.py` 从日报 Excel 提取本月工作内容 |
2. **读取 Git log**:从各项目目录抓取本月提交记录,补充项目外工作 |
3. **交互确认**:询问用户加班时长、问题建议、项目角色是否有变化 |
## 生成规则 |
按以下 8 个章节依次生成内容: |
- 工作小结:多段结构,按项目维度组织 |
- 工作强度:6 个标准分类,结合加班时长 |
- 阶段重点工作:按角色区分写法 |
- ...(其余章节略) |
## 输出格式 |
直接输出 .docx 文件,格式要求: |
- 标题居中 14pt,章节标题 11pt 加粗 |
- 正文 11pt,内容缩进 2 字符 |
- 特定段落标签加粗,正文不加粗 |
## 注意事项 |
- 不确定的信息主动询问用户,不要自行编造 |
- 第六章(具体工作完成情况)不得与第三章(阶段重点工作)重复 |
- 下月计划只写进行中的项目,已结项的不写 |
## 输出示例 |
xxx |
拆解一下关键要素:
| 要素 | 位置 | 作用 |
|---|---|---|
name |
头部 YAML | Skill 的唯一标识,用小写 + 短横线(kebab-case) |
description |
头部 YAML | 一句话描述 Skill 做什么,Claude 根据它判断何时触发 |
| 执行步骤 | 正文 | 告诉 Claude 分几步走、每步做什么 |
| 输出格式 | 正文 | 约束输出的格式和质量标准 |
| 注意事项 | 正文 | 兜底规则,防止 Claude "自由发挥"跑偏 |
关键心得:
description写得越准确,Claude 自动触发 Skill 的命中率就越高。写得太模糊(比如"处理文档"),Claude 可能在你需要的时候不触发,不需要的时候乱触发。
3.4 借助 AI 快速创建(实战过程)
更多推荐



所有评论(0)