Show HN:一个分析你国际象棋对局的Claude代码技能
摘要
一个Claude代码技能,能够生成详细的国际象棋对局赛后分析,包括通俗易懂的解释、Stockfish验证和旁白视频输出。
查看缓存全文
缓存时间: 2026/09/26 16:30
brumar/chess-postmortem-skills
来源:https://github.com/brumar/chess-postmortem-skills
适用于Claude Code的国际象棋复盘技能
通过Claude Code技能,将你的国际象棋对局转化为可读的复盘分析:用自然语言解释你的错误,经Stockfish引擎验证,并生成配有解说的整局对战视频。
视频示例
https://github.com/user-attachments/assets/ebd443e1-aeac-41d3-a868-64d521223a9b
若上方播放器未加载(需登录GitHub),可直接观看mp4视频(10MB):
(https://github.com/brumar/chess-postmortem-skills/raw/main/examples/game-010/video/out-010.mp4)
时长6:49,英文解说,带字幕。
这是我的真实对局:在lichess平台进行的15+10快棋(5KmlrdyT (https://lichess.org/5KmlrdyT)),执白应对西西里防御纳伊多夫变例,等级分约1700。对局过程中,我用普通录音设备在棋盘旁录制了自己的有声思考(法语)。赛后我向Claude提供了两样东西:lichess对局链接和mp3音频。Claude通过whisper.cpp本地转录音频,再利用PGN中的计时信息,将每句话对应到我当时正在考虑的棋步。因此,当视频中说“第八步你在考虑象该放c4还是e2“时,这确实是我自己的问题,并由引擎给出了解答。视频中所有内容(转录文本、Stockfish扫描、带注释的PGN、分镜脚本)均保存在 examples/game-010/ 目录中。
为何创建此项目
Stockfish分析会给出数值和变招线,但可读性差,且通常不解释原因:你的棋步后评估值为-1.8,以及12步变招,而这些你在实战中根本想不到。
我发现Claude可以驱动Stockfish:它会像人类一样向引擎提问(“为什么我走的这步不行?”“如果黑方直接吃掉会怎样?”),持续追问直到得到合理的解答,并用人类能理解的方式记录。而且由于它知道我对局时的思考过程,可以反驳我实际的推理,而非猜测的推理。分析完成后,我还能继续就任意局面提问,Claude会先用引擎验证再作答。
是否适合你?
可能适合你,如果:
- 你下的是慢棋或快棋,并想从中学习,而不仅仅看评估值何时下降;
- 你愿意在本机运行Claude Code;
- 你愿意在对局中记录笔记或录音(可选,但这能让分析结果更有趣)。
可能不适合你,如果你想快速检查快棋对局。 Lichess或chess.com的分析功能几秒就能完成。
需要时间。 完整流程(扫描、探究、注释、视频生成)约需一小时处理时间。请将其用于你认真思考过的对局,而非每局都用。
提供你的思考记录。 强烈建议提供覆盖整局的书面笔记或音频录音。没有这些,你只能得到引擎的通用解释;有了它们,你能获得针对你的推理的复盘:哪些担忧是合理的,哪些计划是正确的,你向自己提出了什么问题以及答案是什么。
AI可能产生幻觉。 所有结论都经过Stockfish验证,并由验证模块重新检查,因此据我所见错误很少。若发现异常,可让Claude用引擎重新检查该局面。
我的工作流程
- 进行一局有充足思考时间的对局(15+10快棋或慢棋)。
- 对局中录制自己的有声思考(任何手机或网页录音工具均可)。对于慢棋,我改为每步记录笔记。
- 对局后打开Claude Code,输入类似指令:“分析这局棋: ,这是我的有声思考录音: “。
- 等待约一小时,获得带注释的PGN和独立HTML分析面板。
- 请求生成视频:“为这局棋制作视频”。
- 阅读、观看后,针对仍不理解的局面提问。
技能模块
| 技能名称 | 功能描述 |
|---|---|
chess-analysis | 用Stockfish扫描所有棋步,随后启动并行“调查员“子代理,以基础问题询问引擎直至每个错误被解释。输出:分层注释PGN、独立HTML分析面板,以及每局一次的“计划暂停“(双方计划均由引擎推导)。处理有声思考录音:whisper.cpp转录,通过PGN计时对齐棋步。 |
chess-video | 生成整局对战的解说视频(棋盘、箭头、评估表、piper TTS语音、内嵌字幕),基于分镜脚本构建,并附交互式HTML查看器。 |
chess-play | 通过PGN文件与Claude对弈,棋盘渲染为PNG图像以供视觉处理,并设有对抗性失误检查子代理。不使用引擎。 |
技能文件为Claude编写,因此SKILL.md文件兼作文档。从 skills/chess-analysis/SKILL.md 开始阅读。
安装方法
将技能文件夹复制(或创建符号链接)至项目的 .claude/skills/ 目录,或全局安装至 ~/.claude/skills/:
git clone https://github.com/brumar/chess-postmortem-skills
cp -r chess-postmortem-skills/skills/* ~/.claude/skills/
然后向Claude提问,如“分析这局棋:“或“为第010局制作视频”。
依赖项
无需手动安装,Claude Code通常能自动安装:让它“安装国际象棋技能的依赖项“即可,它会读取以下清单和SKILL.md文件。
- Python虚拟环境,含
python-chess、cairosvg(分析模块),以及pillow、piper-tts(视频模块)。技能假定项目根目录存在.venv-chess,若无则自动创建。 - Stockfish。
scripts/get_stockfish.sh会使用环境变量$STOCKFISH或PATH中的引擎,否则下载官方Linux二进制文件。 - 视频生成需要:
ffmpeg,以及piper语音包(下载命令见chess-video/SKILL.md)。 - 可选:whisper.cpp (https://github.com/ggml-org/whisper.cpp) 用于有声思考转录。
对局文件存放于你运行Claude的项目根目录下的 chess-games/ 文件夹(包含 games/、boards/、video/ 子目录)。
告知Claude你的水平
每条注释都会根据读者水平调整(对应 annotations.json 中的 audience.level)。对于你自己的对局,只需告诉Claude一次你的水平,例如在你的 CLAUDE.md 中写明:
我的lichess账号是。请为1800水平的玩家编写国际象棋分析注释。
若未提供,技能模块将使用PGN中被分析方的等级分,若该等级分缺失或为临时等级分则会询问。
示例文件:第010局
| 文件 | 阶段 |
|---|---|
games/010-...pgn | 输入,从lichess导出 |
games/010-transcript-fr.md | 有声思考转录(whisper.cpp处理,按每半步计时对齐) |
games/010-...-sweep.json | 每半步的Stockfish评估值(深度22) |
games/010-frag-*.json | 各调查员返回的注释片段 / 计划暂停片段 / 简要评论片段 |
games/010-analysis-*.json | 各调查员发现的引擎变招线(query.py --log 生成的副文件) |
games/010-assemble.py, 010-annotations.json | 将片段合并为构建规范 |
games/010-...-annotated.pgn | 第二阶段交付物 |
games/010-...-viewer.html | 独立分析面板(浏览器打开) |
video/storyboard-010.json | 第三阶段分镜脚本 |
video/out-010.mp4, .srt, .html | 解说视频(6:49)、字幕及注释查看器 |
要重新生成视频,请将piper语音包下载至 examples/game-010/video/voices/,然后基于分镜脚本运行 make_video.py。
许可证
MIT许可证,但内嵌的 chess.js(BSD 2-Clause)和cburnett棋子套装(CC BY-SA / GFDL)除外。详见 LICENSE 文件。
相似文章
@shiri_shh: 你需要的唯一Claude Code技能,让你制作这样的视频它分析你的仓库并输出一个完整的动效图形……
这个/brag Claude Code技能可以自动从代码仓库创建动效图形预告视频,包括音效设计和发布文案,并使用Hyperframes进行渲染。
一种用于刻意技能培养的Claude Code和Codex技能
一种Claude Code和Codex技能,将基于证据的学习练习融入开发工作流程,通过间隔重复和检索练习等技术帮助开发人员在编码时建立专业知识。
@DataChaz:一位日本开发者抢先发现了 Claude Code 的终极外挂
一位日本开发者分享了提升 Claude Code 效率的秘诀:安装「Find Skills」工具后,直接问它“有没有适合[目标]的技能?”,就能在数百个选项里秒选最合适的。
@PrajwalTomar_: Claude Code PRO 提示:不要只是阅读这篇文章。将整篇内容粘贴到你的会话中,然后说:“阅读这篇文章……”
一个使用 Claude Code 的技巧:将一篇文章粘贴到会话中,指示 AI 审计你已安装的技能,删除重复项并安装更好的替代品,从而优化上下文窗口的利用。
这位日本小哥最先发现了 Claude Code 的真正杠杆:装上「Find Skills」,一句话描述需求,系统就能从上百个技能里精准推荐。他的 YouTube 自动化体系因此大杀四方。
这位日本小哥最先发现了 Claude Code 的真正杠杆:装上「Find Skills」,一句话描述需求,系统就能从上百个技能里精准推荐。他的 YouTube 自动化体系因此大杀四方。