用途:当用户说 /explain-diff-html,或要求对代码变更、diff、分支、PR 做丰富的 HTML 解释时,生成一个自包含的交互式 HTML 文件。
主要能力:按固定顺序构建四个部分——Background(相关既有系统背景,含面向初学者的深度背景,可跳过)、Intuition(变更核心直觉,用具体玩具数据和图表)、Code(变更的高层走查)、Quiz(五道中等难度选择题,点击后显示对错反馈)。输出为单个自包含 HTML(内联 CSS 和 JavaScript),单长页加章节标题和目录,基础响应式样式适配手机。
使用方式:先解析用户指定的变更——PR 用 gh pr diff <n>;分支用 git diff origin/main...HEAD(或指定基线);路径用 git diff -- <paths>;无目标时对已暂存和未暂存运行 git diff 与 git diff --cached,都为���时询问一次。然后探索周边代码,起草四个部分,写入系统临时目录(如 macOS/Linux 的 /tmp),文件名以当天日期 YYYY-MM-DD- 开头并遵循 YYYY-MM-DD-explanation-<slug>.html,示例 /tmp/2026-01-12-explanation-auth-refactor.html。可行时直接为用户打开(如 macOS 的 open -- '/tmp/…'),并报告绝对路径。
限制与约束:不得写入代码仓库内;代码块必须用 pre 标签,若用自定义样式 div 需包含 white-space: pre-wrap,保存前逐块确认;所有来自 diff、标题、路径、引用的动态文本须 HTML 转义,不得把原始仓库字符串直接放入标记或交给 innerHTML / document.write;显示的代码和文字中须将密钥(API key、token、.env 值、凭据)替换为 [REDACTED] 并注明;不使用 ASCII 图表;写作风格模仿 Martin Kleppmann 的清晰流畅。本技能改编自 Geoffrey Litt 的 explain-diff-html 技能。其余信息暂未提供。