技能包

explain-diff-html:把 PR 和代码 diff 变成一页 HTML 讲解的 Claude Code Skill

想在 Claude Code 里把一个 PR 或代码 diff 变成一页自包含的 HTML 讲解时最合适;使用前需要 POSIX shell 环境(Linux/macOS 或 WSL/Git Bash)、git,讲 PR 还需已认证的 gh,生成的页面存到家目录的 code-explanations 下。

官方来源 · explain-diff-html

安装

git clone https://github.com/malav2110/explain-diff-html.git ~/.claude/skills/explain-diff-html

适合谁

  • 适合想在 Claude Code 中快速理解一段代码改动的人:例如接手陌生仓库、查看别人的 PR,或想给同事留一份“这次改动到底改了什么、为什么”的可分享讲解。
  • 它把代码变更变成一页自包含的 HTML 教学页面,输出到仓库之外,不碰你的代码。
  • 不适合的情况:不在 Claude Code 中工作、需要 PowerShell 或 cmd.exe(官方明确不支持,POSIX shell 才能运行)、想直接修改或回滚代码(它只生成讲解页面)。每次运行都需要 git;讲 pull request 需要已认证的 gh(用 gh auth status 检查);用 Mermaid 画图的页面会从 CDN 加载图库,需要网络。除此之外官方未说明的依赖或限制,本文不作猜测。

3 分钟完成第一次尝试

前提:已安装 Claude Code,环境是 Linux、macOS,或 Windows 上的 WSL / Git Bash;本机有 git。

安装:把仓库克隆到 Claude Code 的全局 skills 目录(官方主路径):

git clone https://github.com/malav2110/explain-diff-html.git \
  ~/.claude/skills/explain-diff-html

如果只想在某个项目里用,官方说明改为克隆到 <your-repo>/.claude/skills/explain-diff-html。

首次任务建议选一次低风险的只读尝试:在 Claude Code 中用一句自然语言发起,例如 “explain PR 1234”(指向一个你无权合并、只读旁观的公开仓库的 PR)。这个动作不需要 gh 以外的额外操作,但要先确认 gh auth status 已通过。

成功信号:skill 会把讲解页写到你家目录下的 code-explanations 文件夹,文件名形如 YYYY-MM-DD-<KEY>-explanation.html,并把路径报告给你。看到该路径和生成的 HTML 文件即代表完成。注意:纯代码讲解页可离线打开;若页面含 Mermaid 状态图、时序图等,需联网才能渲染图形。

官方只说明其命令是 POSIX shell,未说明是否读写其他文件、执行哪些内部命令或访问哪些网络端点,这些行为未知。

使用案例

案例一:看懂一个 PR。场景:你要了解一个不熟悉的开源仓库改动。在 Claude Code 中说 “explain PR 1234”。skill 走它的 PR 讲解流程,生成一页 HTML,解释这次变更的逻辑流程。你可期待的结果是得到 $HOME/code-explanations 下的日期命名页面;前提是 gh 已认证。至于页面是否含 Mermaid 图,取决于该改动本身,含图时打开页面需联网。

案例二:理解一次本地 diff。场景:你在仓库里刚完成或拉取了一次提交,想给团队讲清楚它改了什么。在 Claude Code 中用自然语言让它解释这次改动。可确认的是它会产出同一类自包含 HTML 教学页,输出到相同的 code-explanations 目录并报告路径;官方未列出针对本地 diff 的具体命令措辞,因此到“用一句自然语言描述这次改动”为止是可确认的,具体触发语以仓库 README 为准。

使用边界

  • 文件与网络:它会把生成的 HTML 写入 $HOME/code-explanations(刻意放在仓库外),不会写进你的仓库;页面含 Mermaid 图时从 CDN 加载图库、需要网络。除这些外,是否读写其他文件、执行哪些命令,官方未说明。
  • 确认点:讲 PR 前先跑 gh auth status 确认认证;生成动作本身会新建 HTML 文件,介意文件产生的用户应在发起前知晓这一点。
  • 运行环境:Linux 和 macOS 直接可用,Windows 需 WSL 或 Git Bash;PowerShell 与 cmd.exe 明确不支持。每次运行需要 git;PR 场景需要认证的 gh;校验 Mermaid 图需要通过 npx 使用 node。
  • 官方限制:输出固定写到家目录的 code-explanations 文件夹;页面除 Mermaid CDN 外自包含、可离线。
  • 未确认信息:官方未说明它支持哪些文本语言、除 Claude Code 外是否在其他 agent 生效,这些请以仓库最新文档为准,不要凭客户端列表推断。