mcpField
E
explain

explain

github.com/undefined-ui其他178 次安装1 天前更新
代码仓库

关于 explain

这是一个将解释转化为受控语言文本、图表、交互式 HTML 或配音视频的技能,可按主题选择合适形式,从简短答复到分步视觉讲解。

主要功能

  1. 01使用严格或宽松 STE 写作
  2. 02制作技术图表
  3. 03构建单文件交互式 HTML
  4. 04生成配音 MP4 视频
  5. 05根据主题选择输出模式

适用场景

  1. 01解释由多个部分组成的系统
  2. 02交互展示分步流程
  3. 03直观讲解数学或算法概念
  4. 04简洁回答事实性问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/undefined-ui/explain-skill --skill explain

安装后在 Claude Code 中输入/explain确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
sheet-template.html
assets/video/example/
narration.json
scene.py
references/
diagram.md
html.md
ste100.md
video.md
scripts/
doctor.py
narrate.py
paths.py
render.py
setup.py
ste_lint.py
tts.py

详细介绍

解释:Karpathy 的输出阶梯

现在,人们花在阅读模型生成内容上的时间,比写作更多。原始散文是最难快速吸收的格式。这项技能沿着格式阶梯向上攀升。每一级都比前一级更容易吸收:

阶梯模式输出最适合
1ste使用 ASD-STE100 编写的文本(严格模式)操作流程、规范,以及任何必须精确的内容
1ste80接近 ASD-STE100 要求的文本(80%)(默认)聊天中的常规解释
2diagram技术说明图(HTML + 内联 SVG)结构、流程、比较、“如何融入整体”
3html交互式单文件网页有参数、步骤或状态可供探索的内容
4video采用 3Blue1Brown 风格并带有旁白的 MP4直觉、数学,以及逐步讲述的故事

1. 选择模式

参数:/explain <topic> [ste|ste80|diagram|html|video] [--lang <code>] [--voice <name>] [--engine elevenlabs|kokoro|piper]

  • 用户指定了模式(或说“схема”“страница”“видео”“STE”):使用该模式。
  • 未指定模式:选择最适合主题的最高阶,并用一句话说明所选模式。
    • 简短的事实性问题 → 在聊天中使用 ste80。
    • 具有多个部分和连接的系统 → 使用 diagram。
    • 读者需要动手探索参数、输入或阶段的流程 → 使用 html。
    • 需要逐步建立直觉的概念(数学、算法、物理、ML),且用户要求深入讲解 → 使用 video。
  • 如果无法确定选哪一级,选择较低一级,并在结尾用一句话提供下一级选项。

2. 所有模式都适用的规则

  1. 保留所有事实。 受控语言只改变形式,不改变内容。完成前,将输出与来源进行比较,并补回任何遗漏的事实、数字、限定说明或条件。 简化写作有一种已知的失误模式:细节会在不知不觉中丢失。每次都要检查。
  2. 先阅读来源。 如果主题涉及此仓库中的代码、文件、URL 或论文,请先阅读,再进行解释。来源可用时,不要凭记忆解释。
  3. 用词遵循 STE。 所有模式中的文字(图表标签、页面文案、视频旁白)都使用 ste80,除非用户要求使用 ste。每个会话阅读一次 references/ste100.md。
  4. 语言。 ASD-STE100 是一项英语标准。如果用户使用其他语言,则用该语言回答,并遵循相同原则(短句、每句表达一个意思、使用主动语态、每个概念使用一个术语)。
  5. 文件放在当前工作目录下的 explainers/<slug>/ 中(slug = 简短的 kebab-case 主题名称),除非用户指定了其他位置。聊天中的文本无需写入文件。
  6. 打开结果(Windows 使用 start,macOS 使用 open,Linux 使用 xdg-open),并告知用户文件路径。
  7. 交付前先验证。 检查输出:如果有浏览器工具,就在其中打开页面;查看视频静帧。报告前修复重叠、文本被裁切和事实错误。

3. 模式:ste 和 ste80(第 1 级)

阅读 references/ste100.md。然后开始编写。

  • ste80 是聊天中的默认模式。句子简短,使用主动语态,每句表达一个意思,使用简单词语。
  • ste 是严格模式。将文本写入文件,然后运行 lint 并修复所有错误:
    python scripts/ste_lint.py draft.md --mode strict
    
    (scripts/ 与此文件位于同一目录。任何 Python 3.8+ 版本均可;lint 工具仅使用标准库。)

4. 模式:diagram(第 2 阶)

阅读 references/diagram.md。复制 assets/sheet-template.html 到 explainers/<slug>/diagram.html,并替换示例面板。样式为工程制图图纸: 分区边框、字母标注的面板、带注释的引线、标题栏。在聊天中快速作答时,可以使用 Mermaid 代码块; 并说明完整图纸只需运行一条命令即可生成。

5. 模式:html(第 3 阶)

阅读 references/html.md。编写一个自包含的 explainers/<slug>/index.html, 并提供真正的交互功能(驱动实时模型的滑块、逐步演示、悬停查看定义)。无需构建步骤。

6. 模式:video(第 4 阶)

开始编写前先阅读 references/video.md。简要步骤:

  1. 检查工具链:python scripts/doctor.py。如果提示缺少视频环境(首次运行 npx skills add 后很常见),请告知用户需要下载约 400 MB 的内容(Manim、Kokoro 语音模型), 然后运行 python scripts/setup.py。如果需要,会安装 uv。没有系统 Python 时,请改为运行 uv run --no-project --python 3.12 scripts/setup.py。
  2. 编写 explainers/<slug>/narration.json(分段脚本)。
  3. 生成语音轨:"$PY" scripts/tts.py explainers/<slug>/narration.json (如果设置了 ELEVENLABS_API_KEY,则使用 ElevenLabs;否则使用免费的本地 Kokoro 或 Piper)。
  4. 编写 explainers/<slug>/scene.py(Manim,并使用 narrate.py 与音频同步)。
  5. 渲染并检查:"$PY" scripts/render.py explainers/<slug>/scene.py --quality l → 查看静帧 → 修复 → 使用 --quality h 渲染。

$PY 是视频环境的 Python。doctor.py 会打印其路径。

评论

支持 Markdown