---
title: '18 用 Claude Skills 搭建'
video_id: MxyRjL7NG18
part: 18
---

> 章节 18 / 37 · [[00-总览|课程总览]] · 起始 [2:32:04](https://youtu.be/MxyRjL7NG18?t=9124)


## 章节主旨

现场演示用 Claude Skills 格式构建一个名为 `generate-report` 的技能:把免费天气 API 与一份 Canva 模板 PDF 喂给 Claude Code,让它自动产出一份加拿大周天气报告 PDF,借此说明资产生成工作流的通用套路。

## 核心论点

1. **Claude Skills 与 Claude Code 的 do 格式本质相同**,只是高度 Claude 特定的一种封装。([[#1-构建-generate-report-skill-的流程-23215|→ 详解1]])
2. **生成资产型 skill 只需三样:数据源 + 模板 + 等它自退火约 5 分钟**,拖一份 PDF 进去就能当模板。(→ 详解1、详解4)
3. **skill 的 YAML front matter 按需加载**,只有在决定用哪个 skill 前才读入 context,因此省 token。([[#2-skill-的目录结构与-yaml-front-matter-23426|→ 详解2]])
4. **遇到 API 不免费,直接让 agent 换免费替代源**,不必自己纠结。([[#3-api-不免费就换免费源-23439|→ 详解3]])

## 知识点详解

### 1. 构建 generate-report skill 的流程 [2:32:15](https://youtu.be/MxyRjL7NG18?t=9135)

任务很简单:创建一个新 skill `generate-report`,用某个公开天气 API 生成加拿大的周天气报告。Nick 直接 Google 「weather API」把链接贴进去,坦言不确定能不能用,边做边试。

模板部分,他去网上下载一份免费的 report 模板,在 Canva 里导出为 PDF(全页),再把这个 PDF 文件拖给 Claude Code,并注明「这是我要你用的橙黑现代年报模板」。

因为 Claude Code 原生就懂如何生成 Claude skill,它随即创建 skill 的目录结构、写入带指令的 `skill.md`,并去抓取天气数据。整个过程基本是它自己跑完。

### 2. skill 的目录结构与 YAML front matter [2:34:26](https://youtu.be/MxyRjL7NG18?t=9266)

生成出来的 skill 里有一个 `skill.md`,还有一个 `scripts` 文件夹用来放脚本。`skill.md` 顶部是一段 YAML front matter(三条短横线之间的部分)。

front matter 包含 name、简短 description,以及 allowed tools。allowed tools 让你能很细粒度地控制 agent 对这些工作流的访问权限。

关键机制:这段 front matter 只有在 agent 决定要用哪个 skill 之前才被加载进 context。这样它不必读取每个文件的全部内容,能省下不少 token。

### 3. API 不免费就换免费源 [2:34:39](https://youtu.be/MxyRjL7NG18?t=9279)

拿 API key 时踩坑:OpenWeatherMap 号称免费,实际要注册并填支付信息。Nick 没去填,而是直接告诉 agent「它不免费,去找一个真正免费的源」。

agent 随即找到一个免费替代源(open-meteo),并据此重写脚本。这体现了概率系统的一种用法——把「找可用替代方案」这类判断直接外包给 agent,而不是人工逐个排查。

改完后它自行测试这个 skill,自退火(self-annealing)收敛,最终生成出文件。

### 4. 资产生成工作流的通用性 [2:35:52](https://youtu.be/MxyRjL7NG18?t=9352)

打开生成的 PDF:「Canada Weekly Weather 2025」,含目录、全国概览、天气亮点、西海岸 / 草原 / 中部加拿大等分区。用一份 PDF 当模板,拖进去就能得到能调用工具、产出干净排版文档的原生智能。

这只是众多资产生成工作流之一。同一套路可以秒生成 proposal、任意 PDF、定制资产或幻灯片。

通用配方就一句话:一个数据源、一份模板本身,再等它自退火约 5 分钟生成。

## 术语

- Claude Skills(Claude 技能):Claude 特定的一种能力封装格式,含 `skill.md` + scripts,与 Claude Code 的 do 格式本质相同。
- YAML front matter(前置元数据):`skill.md` 顶部三条短横线之间的配置块,含 name / description / allowed tools。
- allowed tools(允许工具):front matter 中声明该 skill 可用哪些工具,用于细粒度权限控制。
- self-anneal(自退火):agent 反复测试并自我修正直到收敛可用的过程。

## 自检问题

1. skill 的 YAML front matter 为什么能省 token?
   **答案**:因为它只在 agent 决定用哪个 skill 之前才被加载进 context,不必读取每个文件的全部内容。见详解2 [2:34:26](https://youtu.be/MxyRjL7NG18?t=9266)。
2. 生成一个资产型 skill(如报告 / proposal)最少需要哪几样东西?
   **答案**:一个数据源、一份模板(拖一份 PDF 进去即可),再等它自退火约 5 分钟生成。见详解4 [2:35:52](https://youtu.be/MxyRjL7NG18?t=9352)。
3. 遇到号称免费实则要付费的 API,演示里怎么处理?
   **答案**:不去填支付信息,直接让 agent 去找一个真正免费的替代源,它会自行改写脚本。见详解3 [2:34:39](https://youtu.be/MxyRjL7NG18?t=9279)。