Communitygithub.com

hookdump/UltraExplainer

将代码、系统、差异、计划和概念转化为清晰、自包含的 HTML 页面——节点边图、注释差异、仪表盘、自定义 SVG 插图和主题化 Mermaid。面向 Claude Code 的插件,采用未来感 'Aurora' 设计系统(发光可选)。

UltraExplainer 是什么?

UltraExplainer 是一个专门为 Claude Code 设计的高效知识表达技能,它将复杂的代码、系统架构、差异、计划和概念转化为单个自包含的 HTML 文件,直击核心观点并用实际证据支持。它由三部分组成:合成方法(方法论)、变色龙工作室(七种完整设计语言)和交互层(滑块、场景切换等)。该技能强调“真理优先”,要求所有声明必须有据可查,并且设计语言的选择必须基于主题、受众和媒介的实质匹配,而非随意堆砌。支持 Blueprint、Editorial 等七种预设设计语言,每种语言都有其默认使用场景,并严格遵守最少自包含页面规则。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add hookdump/UltraExplainer

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

UltraExplainer 是做什么的?

将代码、系统、差异、计划、数据和概念转化为单个自包含的 HTML 页面,让一个重要的想法在第一屏就显而易见——然后用锚定证据来证明它。UltraExplainer 是三个部分协同工作:

  1. 合成方法(大脑)——如何决定展示什么,强调什么,舍弃什么,以及如何避免绘制源代码中没有的结构。见 references/synthesis-method.md。
  2. 变色龙工作室(技艺)——一个稳定的、与设计语言无关的组件契约(assets/core.css),由七种完整的设计语言(assets/themes.css)重新定义样式。同一个差异在 Terminal 下呈现为 IDE 侧边栏,在 Blueprint 下呈现为标尺标注,在 Editorial 下呈现为图形。你选择适合主题的语言;发光是其中一个选项(Luminous),绝非默认。见 references/aesthetic-languages.md 和 references/component-contract.md。
  3. 交互层(assets/ux.js)——一个共享的状态→渲染引擎,支持滑块、场景切换、逐步演示、可排序/过滤的表格、滚动监视导航和路由节点边图。见 references/interactivity.md。

身份:真理 + 正确的设计语言 + 经过验证的技艺。 不是“万物发光”,不是“框和箭头的乱炖”,不是“一堵相同的卡片墙”。

何时使用本技能

每当输出本质上是视觉化、关系型或可操作的,而 ASCII/Markdown 会使其混乱时,请使用 HTML 页面:

  • 图表、架构概览或显示事物如何连接或流动的节点边图。
  • 差异 / PR 审查(更改的代码 + 为何重要 + 影响范围)。
  • 计划 / 需求审核或比较矩阵。
  • 指标仪表盘,或任何 4+ 行 / 3+ 列的表格。
  • 解释机制的概念讲解,或读者应通过更改输入来感受的交互式模型。
  • 幻灯片,或用于上下文切换的项目回顾。

如果确切的答案适合一句话或一个数字,请在聊天中直接说出——不要制造一个页面(最小可行解释器规则)。当你确实构建时,给出一个聊天摘要和文件。

两种模式——在开始阶段决定

说明你处于哪种模式(以便用户可以纠正):

  • EXPLAIN(默认)——论题优先,适用于需要快速得出结论的审阅者、决策者或上下文切换者。显著性上限适用(T0 ≤ 3,T1 ≤ 7)。
  • TEACH——问题优先,适用于需要可运行心智模型的学习者。具体先于抽象,预测后揭示,并以迁移检查结束。见 references/teaching.md。

方法简述

在生成任何非平凡内容之前,请阅读 references/synthesis-method.md。简短形式:

  1. 章程——一句话:“这解释*<工件>,在高度<A0–A4>,面向<受众>,以便他们能<任务>*,”加上模式(EXPLAIN/TEACH)。保持一个高度。
  2. 带有张力的论题——一个读者还不知道的陈述性主张(不是一个话题)。选择脊柱(眼睛跟随的单一轴线)。
  3. 证据账本——阅读真实来源;为每个节点/边/标签/数字记录 {声明,锚点 (文件:行 / 符号 / git 引用 / 指标+日期),置信度 (已验证|推断|假设)}。无锚点 → 它不以事实形式渲染。 对于交互模型,每个滑块范围/默认值以及输入→输出函数都要锚定或标记为“说明性模型,未经测量”。
  4. 调和——将论题与矛盾证据对比;修订、限定范围,或展示矛盾。切勿默默忽略。
  5. 最小可行检查——不要过度渲染。简单答案 → 主句 + 一个视觉。
  6. 显著性分级——T0(论题 + 脊柱,≤3)/ T1(承重支撑,≤7)/ T2(收据,放在 <details>/悬停中)。超过上限 → 拆分或降级,绝不压缩以适应。(TEACH 模式将上限替换为理想难度预算。)
  7. 选择设计语言——根据主题 × 受众 × 媒介对 7 种语言进行评分,并记录一行:LANGUAGE: <名称> 因为 <主题 + 受众 + 媒介>。见下文。
  8. 表示——先考虑可操控性问题(“读者是否应该通过更改输入来感受一个关系?”);如果是,则选择模型/步进器/场景。否则选择最低墨迹的静态形式。定量地编码幅度(大小/长度/位置),而不是等大小的框。
  9. 压缩——省略是技艺;折叠重复(“×12 个处理器”);摘录承重的行,而不是整个文件。
  10. 门控——交付前通过所有三个门(见下文)。

三个交付门——真理高于一切

  • 真理——每个节点/边/数字都追踪到真实锚点;推断/假设的内容被明确限定;论题已与矛盾证据调和;你重新打开了锚点。明确标记的“无法确认 X”胜过自信的捏造。交互式谎言(滑块操控捏造的关系)是头等大罪。
  • 工艺——眯眼测试:从房间远处看,它读起来是刻意的设计语言,而不是重新着色的模板。恰好一个 T0 焦点。
  • 已观察——你实际渲染了页面并查看了它。构建它,打开它(在约 1280 和约 360 下进行无头截图),捕获控制台错误,断言没有水平页面滚动并且论题在第一个视口内,然后自我纠正。停止断言你从未测量过的检查表属性。

如何构建页面(组装)

页面由 scripts/build.mjs 从 templates/_src/<名称>.body.html 中的主体片段组装而成。最快的路径:复制最接近的模板,更改 preset,并调整内容。

  • 第 1 行指令(HTML 注释中的 JSON)选择语言和调整: <!--ux: {"title":"…","preset":"blueprint","theme":"light","fx":"flat","head":"<style>…</style>"} -->
    • preset:blueprint | editorial | terminal | instrument | notebook | swiss | luminous(默认 luminous)
    • presets: ["…","…"] → 每个语言生成一个文件(变色龙演示)
    • theme:light | dark(默认为预设的自然调整)
    • fx:glow | flat(仅 Luminous)
    • head / foot:额外的标记;<name>.head.html / <name>.foot.html 侧边文件也会被合并
  • 构建内联 core.css + themes.css + ux.js,链接预设的字体,设置 data-theme-preset / data-theme / data-fx 在绘制之前(无 FOUC),并输出 templates/<name>.html。
  • 运行:node scripts/build.mjs <名称过滤器>(过滤器是子字符串;省略则构建所有)。
  • 页面的唯一外部请求是 Google Fonts(带有系统后备字体——布局从不依赖它们),以及对于 Mermaid 页面,请求 Mermaid CDN。如果这些失败,它仍应看起来正常。

关键:当内联任何包含字面字符串 </script> 的 JS 时(例如示例片段),请将其转义为 <\/script>,否则它会提前关闭标签并将源代码转储到页面上。

选择设计语言

根据优点路由,记录原因。完整评分卡 + 每种语言的资料见 references/aesthetic-languages.md。

主题默认语言
架构、模式、协议、基础设施拓扑Blueprint
概念、ADR、事后分析、执行叙述Editorial
差异、PR、CLI 工具、CI 管道、日志Terminal
指标、基准、审计、仪表盘Instrument
教学、演练、入职培训、温和解释Notebook
比较、原则/宣言页、状态报告Swiss
系统流程演示、产品愿景、炫酷简报Luminous(绝不默认)

打破平局:尊重用户的明确请求(“做成终端样式”);轮换以避免会话单调;绝不要仅仅因为它花哨就选择 Luminous。

选择表示形式

根据认知任务和数据形状路由,而不是内容类型。首先考虑可操控性。完整目录及路由见 references/representations.md;诚实的图表见 references/charts-honesty.md。

任务表示(组件)
一个主要的收获 / 是或否字体排印论题主视觉(.ux-thesis),可能下方加一个视觉
读者应该感受一个关系参数模型([data-playground])——滑块 + 绑定的读数
顺序 / 中间状态是意义逐步演示([data-stepper])——代码↔数据同步进行
在不同配置下行为不同场景切换(.ux-seg[data-scenario-ctl])重新点亮一个图表
真正的线性序列编号列表 / 流程条(.ux-spine)——不是流程图
分支 / 合并 / 循环流节点边图(.ux-graph,≤12 个节点)或主题化 Mermaid
密集的成对关系矩阵热图(.ux-matrix)——比一团乱麻的图更好
代码更改 / PR注释差异 + 结论(.ux-diff + .ux-verdict)+ 影响范围
概念 / 误解天真 vs. 正确面板(.ux-compare)+ 一个工作示例
比较 / 审计 / 矩阵可排序、可过滤的表格(.ux-table,th[data-sort],data-ux-filter)
定量指标以 Delta 为主导的 KPI 行(.ux-kpis)+ 最简洁诚实的图表(.ux-bars/.ux-linechart)
计划 / 路线图当前→目标块 + 风险分级时间线(.ux-timeline)
演示幻灯片(templates/slides)
无合适项使用主题令牌的自定义内联 SVG

模板(templates/,源码在 templates/_src/)

模板语言演示内容
chameleon.<preset>.html全部 7 种以每种语言渲染的相同解释——眯眼测试
blueprint → playgroundBlueprint参数驱动模型(滑块、绑定的 KPI/条形图、预设)
terminal-diffTerminalPR 审查:注释差异 + 结论 + 影响范围
instrument-dashboardInstrumentKPI 刊头 + 诚实的线/条形图 + 可排序/过滤表
editorial-conceptEditorial概念解释:滚动监视导航 + 自定义 SVG + 天真 vs. 正确 + 边注
notebook-teachNotebookTEACH 模式:逐步演示 + 预测后揭示 + 迁移检查
swiss-comparisonSwiss决策矩阵:超大数字 + 可排序比较表
luminous-flowLuminous场景切换(命中/未命中)+ 路由图 + 可选发光
mermaid任意带缩放/平移/展开的主题化 Mermaid
slides任意全视口幻灯片,带键盘/滚动导航

参考路由——只读取当前输出所需的内容

需求阅读
如何决定展示什么/如何展示(大脑)references/synthesis-method.md
7 种语言、选择评分卡、眯眼测试references/aesthetic-languages.md
令牌层级、每个 .ux- 组件、构建/组装references/component-contract.md
表示目录 + 数据形状 × 任务路由references/representations.md
滑块、场景切换、步进器、图表、滚动监视——JS APIreferences/interactivity.md
诚实的图表:数字账本、通道排名、轴规则references/charts-honesty.md
TEACH 模式:学习者状态、具体优先、预测揭示、迁移references/teaching.md
按任务划分的剧本(pr-review、postmortem、ADR、性能分析……)references/playbooks.md
自包含性、溢出安全、验证循环、交付检查表references/self-contained.md
主题化 Mermaid(何时 + 如何)references/mermaid.md
幻灯片references/slides.md

不变规则

  • 真理高于美和工艺。 锚定或省略;对推断/假设的内容进行限定;切勿发明层次、对称性、边或理由。交互式范围/函数必须锚定或标记为“说明性模型”。
  • 每页一种语言,基于优点选择并记录。 它必须通过眯眼测试。发光仅属于 Luminous,通过 --fx-* 路由,这样 data-fx="flat" 就能干净地移除它;静态内容上无持续呼吸/脉冲。
  • 无水平页面滚动。 网格/弹性子项上使用 min-width:0;宽内容(差异、表格、Mermaid)在其自己的 overflow-x:auto 容器内滚动。在 360px 处验证。
  • 两种主题都看起来协调。 浅色模式是重新调整的,而不是反转的。页面以其选择的主题打开,读者可以切换(按预设持久化);尊重 prefers-reduced-motion;保持键盘焦点可见;打印安全。
  • 组件仅使用语义化 + --fx-* 令牌——绝不使用十六进制颜色。 新外观来自主题包,而不是内联颜色。
  • 切勿定义页面级的 .node 类——Mermaid 内部使用它。所有 UltraExplainer 类都以 .ux- 为前缀。
  • 交付前先观察。 渲染页面,查看它,修复问题。不要断言你没有测量的内容。

最终检查表

自包含文档放在正确路径 · 使用选择的 preset 构建 · 无控制台错误 · 桌面端或 360px 均无水平溢出 · 字体优雅降级 · 论题在第一个视口内显而易见且恰好一个焦点 · 表格/差异/图表在其自己的容器内滚动 · 主题(和 Luminous 发光)切换有效 · 每个声明都有锚点或限定 · 页面已实际渲染并检查。

相关技能