【导语】
每到月末,我都要把四周的周复盘文档、番茄钟数据(Pomodoro)、年度目标拉在一起做一次“月度复盘”。过去这件事很耗时:文档散落、脚本分散、信息提炼费脑。于是我用 Anthropic 的 Agent Skills 做了一套“月度复盘 Skill”,现在只用一句指令,就能稳定产出结构化的复盘报告。
【你能从这篇文章收获什么】
- 在 Claude Code 中创建自定义 Skill 的完整实践过程
- 一套可复用的月度复盘工作流思路
- 如何用 Skill 把“找文档—跑脚本—提炼内容—生成报告”串成自动化
- 几个主流模型在复盘场景的差异观察与成本对比
前情提要
正如我之前文章中提到的,我会在每周一复盘上周的 Logseq Dailylog 笔记,形成周复盘笔记文档。对于每月四周的周复盘笔记,我希望能从月维度再做一次复盘。
然而四周的复盘笔记汇总在一起内容较多,涉及到独立开发、内容创作、学习、阅读等不同项目的内容,纯靠人工整理费时费力,我期望借助 AI 构建一套自动化的复盘工作流。
月度复盘是一个相对复杂的流程:
- 需要从我的 Obsidian 仓库中准确提取指定月份的相关上下文,包括:
- 该月的周复盘文档。我的周复盘文档命名格式是 2025 年第几周的形式
YYYY-ww,比如“2025-51”,需要先根据月份确定周数,再找到对应文件名的文档; - 上月的月复盘文档。复盘是连续的过程,应当使用上月复盘文档作为参考;
- 该年的年度目标文档。除了关注月和月之间的变化,还要使用年度目标衡量全年的进度。
- 该月的周复盘文档。我的周复盘文档命名格式是 2025 年第几周的形式
- 抓取月度番茄钟数据。我会严格使用自制的番茄钟来记录时间投入的方向,比如学习、创作、探索、编程等,并将番茄钟数据插入到本地的 sqlite 数据库中。需要使用 Python 脚本来查询数据库数据;
- 我的个人信息文档。让 AI 了解我是谁,我想做什么,我当前进行中的项目;
- 复盘原则和要求。提供信息提炼的指导性要求,以及内容输出的格式。
上述流程涉及到包含复杂逻辑的文档查找、Python 脚本调用、大量的上下文输入,并且要能形成稳定、可复用的工作流,显然不仅仅是在网页上上传几个文件就能完成的。
Anthropic 推出的 Agent Skills 恰是实现这一流程的最佳工具,借助 Claude Code 和 DeepSeek-V3.2 模型,我成功创建了“月度复盘 Skill”,并验证了执行过程。
Skill 创建
我将“月度复盘 Skill” 的创建要求单独编写成文档,将复盘工作流中涉及到的关键信息直接在文档阐述清楚。这样既能保证 AI 一次性获取充分的上下文信息,还能在 Claude Code 中直接引用文档作为输入,免去粘贴复制的过程。为了不影响阅读体验,创建要求文档的完整内容作为附录放在文末。
一个 Skill 的创建需要包含以下的关键信息:
- Skill Description:包含 Skill 的名称和描述,要说清楚这个 Skill 是干什么用的,以及在什么情况下应当被调用;
- 除了 Skill Description,其他的信息实际上不是必须的。但是为了让 AI 按照我的想法执行和输出,我还提供了以下的信息:
- 复盘的上下文材料。说明有哪些上下文以及如何获取;
- 复盘的工作流次序。说明工作流的执行步骤,以及脚本路径和生成要求;
- 我的个人信息、月度复盘原则和月度复盘文件格式,这些信息在 Obsidian 仓库中没有,单独编写在文档中。
完成创建要求文档后,接下来就是正式的创建过程。首先在 Claude Code 中询问“你能帮助我创建 Skill 吗?”,引导 AI 调用 skill-creator Skill 进入创建流程。再将预先写好的创建要求文档提供给 AI,之后等待整个过程完成就可以了。skill-creator 是 Anthropic 提供的原生 Skill,专门用于 Skill 的创建。

创建结果分析
整个过程历经 10 多分钟,token 使用情况:输入 69.0k,输出 44.8k,缓存 1.9m。AI 在仓库根目录创建了 skills 文件夹,并在文件夹中生成了如下文件:
.
├── SKILL.md
├── assets
├── references
│ ├── monthly_principles.md
│ ├── personal_info.md
│ └── template.md
└── scripts
└── find_documents.py
SKILL.md是 Skill 的核心文件,文件中将我的要求转换成了具体的工作流步骤,引用并说明了references文件夹中每个文件以及脚本文件scripts/find_documents.py的作用;- 我在创建要求文档中列举的“我的个人信息、月度复盘原则和月度复盘文件格式”信息,被分别转换成了
personal_info.mdmonthly_principles.md和template.md文档,保存在references文件夹中; - AI 还生成了一个专门的 Python 脚本
find_documents.py用于查找周复盘文档、月度复盘文档和年度目标文档。
经过检查,SKILL.md 和 references 文件夹中的文件,精准地反映了我的要求,但是生成的查找文档脚本文件,存在两个问题:
- 目录拼写错误:将 monthly-review 中的 “n” 写成了“u”。这实际上是我自己的问题,因我手动创建的文件夹名称拼写有误,导致 AI 沿用了错误名称;
- 周数到月份映射不准确:估算月份的逻辑
((周数-1)/ 4 + 1)过于简单,并不能正确获取周复盘文档。这或许受限于模型推理能力的上限,或是由于上下文信息过载导致的注意力偏移。
最终我修改了脚本逻辑,确保脚本能够根据月份正确获取周复盘文档。另外,整个 skills 文件夹被保存在项目根目录下也有问题,应当保存在项目根目录的 .claude 文件夹中。
总体来说,最终的生成结果是非常令人满意的。应当归功于 Anthropic 的高质量 skill-creator Skill 和我提供的充分的上下文信息。
Skill 执行
为了验证新创建的“月度复盘 Skill”是否稳定可靠,以及对比不同模型执行同一个 Skill 的差异,我在 Claude Code 和 Vscode 中分别使用多个顶尖模型完成了 2025-07 和 2025-08 的月度复盘:
- 在 Claude Code 中使用 DeepSeek-V3.2 模型以及在 Vscode 中使用 Claude Sonnet 4.5 模型执行了 2025-07 的月度复盘。2025 年 7 月是我刚刚启动周复盘的月份,因此这个月份的月度复盘没有上月复盘内容作为参考。
- 在 Claude Code 中使用 DeepSeek-V3.2 模型以及在 Vscode 中使用 Claude Sonnet 4.5、Gemini 3 Pro、GPT 5.2 模型执行了 2025-08 的月度复盘。此次复盘的上下文中,包含了 DeepSeek-V3.2 生成的 2025-m07 月度复盘文档。
是的,在 Vscode 的 GitHub Copilot Chat 插件中也可以直接使用 Skill。只要打开 Use Claude Skills 设置项,copilot 中的模型就和 Claude Code 中一样,会优先查找并使用 Skill。
执行情况分析
下面以 Claude Code 中使用 DeepSeek-V3.2 执行 2025-07 的月度复盘过程为例。
在我输入“为我复盘 2025-07”指令后,AI 正确选择了 monthly-review Skill,准确执行了全部要求,并在指定路径下生成了文件名格式正确的月度复盘文档,文档中的内容格式,也与我要求的模板一致。
以下是 AI 的依次执行步骤:
- 正确识别 monthly-review Skill
- 读取查找文档 Python 脚本
- 执行查找文档脚本获得上下文文件
- 执行番茄钟数据统计 Python 脚本,获得当月番茄钟数据
- 读取个人信息文档
- 读取月度复盘原则文档
- 读取月度复盘文件格式文档
- 读取 2025 年度目标文档
- 搜索 2025 年 7 月周复盘文档
- 读取 2025-28 到 31 周的周复盘文档
- 因为 6 月的周复盘文档不存在,AI 还主动查询了仓库文件
- 汇总全部上下文信息,创建并生成

执行结果对比
在本次“月度复盘 Skill”验证过程中,几个模型都完成了基本的要求:正确获取全部相关的上下文信息,按照格式要求输出文档,使用正确的文件名保存在指定路径下,没有出现幻觉杜撰的现象。
从完成质量上,Claude Sonnet 4.5 最佳, GPT 5.2 其次, Gemini 3 Pro 和 DeepSeek-V3.2 各自存在一些问题。
Gemini 3 Pro 生成的内容偏短,在总结月度成果时漏掉了不少内容,语言相对生硬。实际上这与我个人使用 Gemini 3 Pro 的经验差异较大,网页版本的 Gemini 3 Pro 生成的文本内容非常优异,留待后续再次验证。
DeepSeek-V3.2 生成的内容缺乏提炼,很多地方仅仅将周复盘文档中的内容堆砌在一起。
GPT 5.2 生成的内容流畅通顺,堪比专业的复盘汇报演讲稿。但是只有 GPT 5.2 在生成过程中中断了一次,有可能是 Copilot 插件对于该模型的适配工作不完善。
Claude Sonnet 4.5 对于上下文的记忆是最好的,甚至明确提到本月的创作内容与个人资料中设定的账号定位不符。并且给出了明确的目标以及下个月的番茄钟时间分配。
总体而言,我认为不同模型对于同一个 Skill 的应用程度有差异,同一模型在结果输出的稳定性上也有差异。如果想要获得最佳的月度复盘结果,还需要针对模型调整 SKILL.md 文档中的 prompt,并且多次生成以取得最佳结果。
费用对比
Claude Code 中单次复盘的 token 使用情况如下:输入 47.1k,输出 21.9k,缓存 793.8k,总耗时 10 分 13 秒。
Total cost: $0.71 (costs may be inaccurate due to usage of unknown models)
⎿ Total duration (API): 13m 44s
⎿ Total duration (wall): 10m 13s
⎿ Total code changes: 205 lines added, 0 lines removed
⎿ Usage by model:
⎿ deepseek-reasoner: 47.1k input, 21.9k output, 793.8k cache read, 0 cache write ($0.71)DeepSeek 官网上,则显示我输入输出合计约 1000k token,单次执行“月度复盘 Skill”调用 API 的花费约 0.4 元。相比之下,Github Copilot 月度套餐是 10 美元,提供每月 300 次高级模型调用,每次调用约合 0.23 元,还要略微便宜一些。
小结
利用 Claude Code + DeepSeek-V3.2 的组合,通过提供信息充分的创建要求文档作为 prompt,AI 可以使用 skill-creator 帮助我一次性创建高质量的自定义 Skill。
本次创建的“月度复盘 Skill”,完整实现了我对于月度复盘工作流的要求。只需要输入一条指令,AI 就可以稳定抓取准确的上下文信息,按照预设要求生成月度复盘文档。
但是当前的“月度复盘 Skill” 还有很大的优化空间:
- 目标链条:在创建 Skill 前我并没有清晰的个人年度目标,年度目标文档是临时编写的,也未能将年度目标拆解至每个月,导致复盘过程中的月度目标缺少连续性与约束;
- 信息提炼:对于信息提炼的指导要求不够充分,这导致当前生成的月复盘内容更像是周复盘的堆砌。应当为不同项目设置差异化的提炼准则,比如独立开发应当关注项目进度和目标连续性,内容创作应当关注内容方向和内容质量,学习和月度应预设指导方向帮助我纠偏;
- 人味与洞见:复盘内容缺乏“人情味”,略显机械。时光如隙,人会在不知不觉中发生改变。我希望 AI 能够关注到这部分的变化,一语点醒我,避免“当局者迷”的情况;
- 引入专业参照:引入项目管理框架、内容创作标准、学习方法论等专业性知识,让 AI 遵循这些专业知识帮助我复盘,让复盘更加具有指导性。
借助 Skill,我可以确定性地引入这些优化,并让 AI 严格遵循指令,稳定输出高质量的结果,避免 AI 的生成过程像抽奖一样充满不确定性。
就像 Anthropic 工程团队在 Equipping agents for the real world with Agent Skills 文中提到的:Skill 可组合、可扩展、可移植,适合用来完成跨领域的复杂任务。目前 Vscode Github Copilot 和 GPT 都已经支持了 Skill,相信未来 Skill 也会像 MCP 一样,成为 AI Agent 的通用标准工具。
附录
以下是我在 Claude Code 中要求 AI 帮助我创建 Skill 时提供的 prompt:
# Skill description
Skill Name:monthly-review
Skill description:这个 Skill 用来帮助我完成月度复盘工作。当我要求月度复盘并提供具体的月份时,比如 2025-12,应当使用此工作流。
# 复盘的上下文材料
1. 我的个人信息
2. 月度复盘要求
3. 原始素材:本月的周复盘文档,保存在 /Users/mr.h/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/projects/weekly-review 文件夹中,文件的命名规则为 YYYY-ww,文档中会包含本周复盘内容和下周目标
4. 参照系:上月的月复盘文档,保存在 /Users/mr.h/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/projects/monthly-review 文件夹中,文件命名规则为 YYYY-MM,文档中会包含上月度复盘内容和下月度目标
5. 北极星:年度目标文档,保存在 /Users/mr.h/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/projects/yearly-review 文件夹中,文件命名规则为 YYYY,文档中会包含年度复盘内容和下年度目标
# 复盘的工作流次序
1. 接收格式为 YYYY-MM 的参数作为复盘的指定月份
2. 根据接收的月份参数,查找相应的年度目标文档,上月份复盘文档,和该月每周的周复盘文档(注意,年度目标文档,和上月份复盘文档可能为空)
3. 根据接收的月份参数,调用脚本查询本月番茄钟数据。脚本文件路径为:/Users/mr.h/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/pomodoro_dashboard/monthly_report.py,脚本执行命令参考:cd "/Users/mr.h/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/pomodoro_dashboard" && python3 monthly_report.py 2024-12 --compare
4. 结合“我的个人信息”和“月度复盘要求”,分析查找到的资料内容
5. 生成指定月份的月度复盘文档
6. 生成的月度复盘文件内容格式,需严格遵守下方的“月度复盘文件格式”
7. 月度复盘文件命名规则为 YYYY-MM
8. 生成的月度复盘文件应当保存在 /Users/mr.h/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/projects/monthly-review 文件夹中
# 我的个人信息
"""
# My Context Profile
## 身份
- 独立开发者 (macOS/SwiftUI)
- 内容创作者 (公众号:高效人生指北 / 小红书:Mac效率周刊)
- 职场人 (产品经理)
## 核心项目
### 流量日记(mpdata):
- 目标: 为个人自媒体创作者提供各个平台导出数据的持久化存储和数据分析。
- 阶段: MVP 版本开发阶段,已完成基础的登录、订阅、数据导入、明细查看及导出、数据概览功能,目前在优化阶段,计划尽快发布第一个版本。
- 平台:macOS
- 技术栈: Swift,SwiftUI, AppKit.
### 高效人生指北
- 账号定位:个人博客,提供生活和工作上的个人心得
- 目标:不追求流量,以文会友,希望写作的内容接地气,能真正帮助到有需要的人
### Mac 效率周刊
- 账号定位:提供 iOS、iPadOS 和 macOS 的使用技巧,以及热点信息
- 目标:作为自己内容输出的渠道之一;用输出来倒逼自己学习新的内容;作为 AI 工具、figma 等软件的练习场
"""
# 月度复盘原则
1. Outcome > Output: 区分“忙碌”和“产出”。重构代码不算核心产出,功能上线/修复阻塞性 Bug 才算;
2. 连续性检查:对比上月目标和本月产出,明确目标完成情况;
3. 系统审计: 检查我引入的新工具/新流程是否真的带来了效率提升,还是只是增加了维护成本(熵增);
4. 数据诚实: 用番茄钟数据说话。如果我觉得没时间编程,但数据通过显示我花了很多时间在“探索”,请指出这种感知偏差。
# 月度复盘文件格式
"""
# 本月复盘
## 投入产出比
(展示脚本获得的月度番茄钟数据,并总结)
## 阻碍与反思
(此处不做流水账,只记录痛点)
### 独立开发(流量日记项目)
### 高效人生指北
### Mac效率周刊
## 认知升级
(总结当月的阅读和学习内容)
### 阅读
### 学习
## 效率优化
(总结当月的工作流优化和 AI 实践内容)
### 工作流优化
### AI实践
# 下月目标
(目标设置应当准确、适当,结合上月完成情况和年度目标)
## 独立开发
### 流量日记项目
## 内容创作
### 高效人生指北
### Mac效率周刊
## 认知升级
### 学习
### 阅读
"""