Md readable
Claude Code skill: Markdown → human-friendly HTML briefings. Three-layer spatial architecture — reorganizes content, never compresses it
npx -y skills add lyydggyxs-cmd/md-readableAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Make AI-generated Markdown readable. When the agent dumped a wall of text and you can't find the signal — this skill unpacks linear Markdown into a scannable, three-layer spatial HTML view. Every word preserved. Nothing compressed. Just organized so you can actually follow what the agent is thinking and keep the conversation productive. Use when the user says "make this readable", "I can't read this wall of text", "what is the agent even saying", "too dense", "too long to read", "帮我看看这个", "这太密了", "看不下去", or hands you a Markdown file that's too long to parse linearly. Also trigger on "/readable" or "/md-readable".
SKILL.md
14.9 KB, as published. Nobody here has run it
md-readable — Make Agent Output Readable
当 agent 输出变成一堵文本墙,你找不到信号在哪——这个 skill 把线性 Markdown 展开成可扫读的三层空间 HTML。每个字都在,什么都没压缩,只改变了组织方式。让你跟得上 agent 的思考,让对话继续推进。
核心原则
不压缩信息,重组信息。 这不是"摘要"工具。源 Markdown 的每个字都保留——唯一改变的是容器。
AI 用 3 秒生成 3000 字分析,人类需要 15-30 分钟阅读。这是 6 个数量级的编码成本不对称。这个 skill 建造一个中介层——将 Markdown 解析为三层空间架构,用 10 条跨领域第一性原则渲染为 HTML——让人类用 3 秒定位、选择性深入,而不是被强制按线性路径通读。
设计哲学:为什么三层架构是必要的
这是本 skill 区别于所有同类工具的根本。三层架构不是审美选择——它补偿了 AI 文本的三种结构性缺陷(来自认知科学和 HCI 研究):
| AI 文本的问题 | 认知原因 | 三层架构的补偿 |
|---|---|---|
| 意图缺位 | LLM 产出是统计预测,缺乏人类作者对"包含什么/省略什么"的选择——选择 = 意图信号,读者默认每句话有目的 | 置信度标记 + SCQA 结构:用 Layer 1 替代缺失的意图信号——告诉读者"这个结论有多可靠""什么会推翻它" |
| 可预测性疲劳 | LLM 最大化文本平滑度,缺乏意外/转折/节奏变化,大脑无法维持注意力唤醒 | 前提标注 + 翻转条件 + 对比表:在 Layer 1 和 Layer 2 中主动暴露矛盾、不确定性、替代路径——打破平滑文本,创造认知张力 |
| 验证负担 | 读人写的东西默认信任,遇矛盾才验证;读 AI 必须全程同时理解+验证,争夺同一工作记忆 | 来源追溯 + Layer 3 验证层:每个主张标注来源和置信度,证据折叠在推理块内部——把"验证"从并行任务变成按需任务 |
三层架构不是把信息分成三堆——它是三种认知通道的同时激活(Peirce 符号学):置信度用颜色(图像符号)+ 位置在顶部(索引符号=优先级)+ 标签文字(象征符号)。同一信息用三种方式编码,降低单通道的认知负载。
执行时牢记:你不是在美化 CSS——你在为 AI 文本注入意图信号、打破可预测性、降低验证成本。每个视觉决策都服务于这三个补偿。
什么时候该用 / 不该用
✅ 该用(三层完整模式)
- 3000 字以上的分析报告、研究产出、决策备忘录
- 有明确论证结构(前提→推理→结论)的文档
- 用户说"让我看看这个""这太密了""看不下去""生成 HTML""让这个可读"
⚠️ 走简洁模式
- 500-3000 字、论证结构不明显的文档
- 用户说"转成 HTML 看看""快速格式化"
- 跳过强制 SCQA,但保留推理块和设计系统
❌ 不该用——主动告知用户
| 输入类型 | 告知内容 |
|---|---|
| 500 字以下简短内容 | "内容较短,HTML 转化收益不大。需要的话我仍可处理。" |
| 纯叙事/故事/个人随笔 | "叙事类内容依赖线性情感弧线,三层空间架构反而会破坏阅读体验。建议保持线性。" |
| API 文档 / 技术规范 | "技术规范更适合搜索和交叉引用,而非空间化组织。建议用其他工具。" |
| 纯数据表格(无论证) | "纯数据表格不需要 SCQA 结构。需要的话我用简洁模式处理。" |
三层空间架构
这是本 skill 与所有同类工具的根本差异——不是模板套用,而是语义重组。
| 层 | 定位 | 读者时间 | 从 MD 中找什么 |
|---|---|---|---|
| Layer 1 — 信号层 | 页面顶部,3 秒定向 | ≤10s | 核心结论句、置信度表述、关键数字(≤3 个)、翻转前提 |
| Layer 2 — 推理层 | 页面主体,选择性深入 | 2-15min | H2/H3 章节、论证段落、对比分析、推理步骤、表格 |
| Layer 3 — 验证层 | 页面底部,默认折叠 | 按需 | 参考来源、文献引用、局限性、替代路径、注释 |
关键:Layer 2 所有内容必须保留。<details> 折叠是渐进披露的手段——<summary> 提供"信息气味"让读者在展开前知道里面有什么。
工作流
Step 0:校准(必须执行)
- 读取源 Markdown 全文
- 必须读取
references/design-system.md——这是 HTML 骨架和 CSS token 的唯一来源 - 判断模式:
- 文档 > 500 字 + 有论证结构 → 完整模式(SCQA + 三层架构)
- 文档 200-500 字 或 论证结构不明显 → 简洁模式(推理块 + 设计系统,不强套 SCQA)
- 文档 < 200 字 → 告知用户、询问是否继续
- 确定文档语言(中文 / 英文),UI 标签跟随源语言
Step 1:语义提取
边读边将内容归入三层。这是整个流程中最难、最重要的步骤。
Layer 1 — SCQA 提取:
| 元素 | 提取来源 | 要求 |
|---|---|---|
| S (Situation) | 开篇背景描述 | 1-2 句共识背景 |
| C (Complication) | 问题陈述、矛盾、变化 | 1-2 句制造张力 |
| A (Answer) | 核心结论 | 完整断言句,≤28 字(中文) |
| Metrics | 关键数字/指标 | 1-3 个,每个带数字+标签 |
| Premises | "如果…错了""前提是…"类表述 | ≤3 条,标明翻转后果 |
如果 MD 没有显式 SCQA 结构,从内容推断并在信号卡中标注"(推断)"。不要编造不存在的前提。
置信度判断:
- 高:多来源交叉验证、明确数据支撑、作者标注"高置信度"
- 中:有推理但缺实证、单一来源、作者标注"推断"/"可能"
- 低:纯推测、缺乏证据、作者标注"不确定"/"需要验证"
Layer 3 — 验证层收集:
- 参考来源(编号、名称、链接如可用)
- 局限性/边界条件
- 替代路径/方案
- 注释
Step 2:组件匹配(用决策启发式)
对 Layer 2 中每个章节,按以下规则匹配组件。这是控制输出质量的关键——不是主观审美,而是规则驱动。
推理块(默认容器)
每个主张一个推理块。构建规则:
- 断言标题:完整断言句,不是主题标签
- ✅
前提→推理→结论的完整链条 - ❌
关于 X 的分析
- ✅
- 摘要:1-2 句,始终可见——给扫描者"信息气味"
- 置信度:高/中/低,左边框颜色编码
- 完整推理:放在
<details>内,逐步展开 - 来源:折叠在推理详情内部
核心约束:
- 标题里出现"和"→ 拆成两个推理块(一容器一主张)
- 推理步骤嵌套 ≤ 3 层
- 展开按钮带信息气味:
展开完整推理(3 个步骤 · 预计阅读 2 分钟)
视觉断点组件(何时用什么)
| 源文档出现 | 用这个组件 | 硬规则 |
|---|---|---|
| A vs B 对比分析,≥3 个维度 | 对比表 <table class="comparison-table"> | 维度 < 3 个时用文字即可,不必上表 |
| 前提→推理→结论的明确 3 段式逻辑 | 推理链可视化 <div class="inference-chain"> | 3 个节点必须各有内容,不要为凑 3 个而拆分 |
| ≥2 条关键假设/前提列表 | 假设条件卡 <div class="assumption-card"> | 标注每条的反转风险 |
| 特别有洞见的陈述 | 关键引语 <blockquote class="insight-quote"> | 限制:每章 ≤ 2 条,多了就不"特别"了 |
| 连续 ≥ 3 个推理块等密度排列 | 视觉断点容器 <div class="visual-break"> | 断点内放上述任一组件,打破文本墙 |
内容节奏规则
- 不要连续 3 个以上推理块等密度且无视觉断点
- 每个章节 ≤ 6 个推理块(v3.0 侧边栏提供空间定向,单页可容纳更多章节,但每章内部仍需节奏控制)
- 第一个推理块最详细,后续可逐步加速
- 表格的"判断"列必须给出明确倾向(← 优),不要两边都说好
- 大型文档(>5000 字):优先战略聚焦——将核心主张提炼为推理块,支持性数据(表格、列表、详细步骤)保持为章节内的结构化内容。目标:推理块承载"为什么",结构化内容承载"是什么"
Step 3:组装 HTML
- 使用
references/design-system.md中的完整骨架(v3.0 双列布局 + sticky 侧边栏) - 按三层架构 + 组件匹配结果填充内容
- 添加侧边栏导航:所有 H2 章节链接放在
<aside class="sidebar">→<nav class="sidebar-nav">中。桌面端 sticky 固定在左侧,移动端(≤900px)自动退化为 sticky 顶部横向 pills。侧边栏通过 IntersectionObserver 高亮当前章节,顶部固定进度条显示阅读进度 - 添加 footer(Agent 名、日期、原始 MD 链接)
输出路径:<MD 所在目录>/<MD 文件名(不含 .md)>.html
Step 4:自检(强制执行)
生成 HTML 后,必须逐项自查。 不要跳过这一步——这是质量保证的机制,不是可选的礼貌。
| # | 检查项 | 对应原则 |
|---|---|---|
| 1 | 每个推理块标题是完整断言句(不是"关于 X")? | P1 断言优先 |
| 2 | 每个推理块只包含一个主张?标题里出现"和"→ 拆分 | P2 一容器一单元 |
| 3 | 非关键信息放在折叠区?首屏只展示结论+摘要 | P3 渐进披露 |
| 4 | 相关元素物理靠近,无关元素分离? | P4 空间编码 |
| 5 | Squint Test:模糊后最显眼的 3 个元素就是最重要的 3 个? | P5 三层视觉层次 |
| 6 | 间距够用吗?够用的话——加倍了吗? | P6 留白是主动元素 |
| 7 | 强调色出现在 ≤ 2 个元素上? | P7 单色+一强调色 |
| 8 | 每个 CSS 规则都在传递信息?有没有纯装饰? | P8 信噪比 |
| 9 | 有没有连续 3+ 个推理块等密度?有 → 插入视觉断点 | P9 内容节奏 |
| 10 | 任何间距/颜色/字号可以追溯到系统 token? | P10 系统性 |
| 11 | 重要信息不在右下角? | 死区避免 |
| 12 | 展开按钮带信息气味标签? | App UI 智慧 |
| 13 | 推理步骤不超过 3 层嵌套? | 认知负荷 |
| 14 | 正文颜色是 #333(不是 #000)? | 中文排版 |
| 15 | 内容没有丢失?——对照原 MD 确认所有章节和推理都保留了 | 不压缩原则 |
未通过项 > 3 条 → 修改后重新自检。 特别是第 15 条——这是本 skill 的根本,不容妥协。
执行反模式
以下行为在 skill 执行过程中禁止。它们是工程层面的错误,不涉及视觉设计:
- ❌ 用多个小 Edit 调用来组装 HTML → 一次性在内存中构建完整字符串,然后一次 Write
- ❌ "改进"原文 → 不添加原稿中没有的信息、不修正原文的错误推理、不补充缺失的前提
- ❌ 翻译专有名词或代码标识符 → 文件名、变量名、产品名保持原文
- ❌ 对提取不出的 SCQA 强行编造 → 标注"(源文档未提供)",不要造假
- ❌ 跳过短文档的自检 → 短文档也有设计问题
- ❌ 跳过
references/design-system.md的读取 → CSS token 和骨架的唯一来源 - ❌ 在输出 HTML 中新增
<style>块 → 所有样式必须来自 design-system.md 中的 CSS token - ❌ 为长文档创建单一的、无限滚动的页面 → v3.0 侧边栏 + 进度条提供了持续空间定向,7-10 章节单页可行。但预估 HTML > 2000 行或推理块 > 15 个时,主动询问是否拆成子报告
- ❌ 将信息折叠到
<details>中但<summary>不提供信息气味 → 每个折叠必须告诉读者里面有什么
设计禁止项(信噪比审计)
这些视觉做法在 HTML 输出中禁止。每一条都服务于一个明确的设计原则:
- ❌ 任何 gradient(渐变)— P8 信噪比:不传递信息的视觉元素即噪音
- ❌ border-radius > 12px — P8 + P7:圆角分散单强调色的焦点
- ❌ emoji 作为标题/CTA 装饰 — P8:emoji 是情绪标记,不是信息系统(置信度指示器例外)
- ❌ 3 列以上重复卡片布局 — P4 + P5:重复结构摊平视觉层次
- ❌ 加载外部字体或图标库 — P10:打破自包含性,引入外部依赖
- ❌ 过度阴影(最大
0 4px 12px rgba(0,0,0,0.08))— P8:阴影是深度暗示,不是装饰 - ❌ 纯装饰的边框、分隔线、背景色 — P8:每个 CSS 规则必须传递信息
- ❌ 不在 spacing scale 中的任意 margin/padding 值 — P10:一切可追溯
- ❌ 不在 type scale 中的任意 font-size 值 — P10:一切可追溯
- ❌ 闪烁、脉冲、无限循环动画 — P8 + accessibility:分散注意力且影响无障碍
- ❌ 彩色背景(假设卡等语义例外除外)— P7:强调色只用于 ≤2 个关键元素
- ❌ 为不同推理类型使用不同颜色编码 — P7:额外颜色不增加信息,只增加噪音
- ❌ 重要内容放在右下角 — 视觉死区:F-pattern 扫描的终点是最低优先级区域
边界情况
| 边界 | 处理策略 |
|---|---|
| 源文档无标题 | 从文件名推断标题,不编造 |
| 源文档无显式 SCQA | 从内容推断 S/C/A,信号卡标注"(推断)" |
| 源文档 < 200 字 | 告知用户收益有限;如继续,走简洁模式,不必强行三层 |
| 源文档 > 5000 字 | v3.0 侧边栏支持 7-10 个章节的导航。优先单页 + 战略聚焦(关键主张用推理块,支持性数据用结构化内容)。单页超 15 个推理块或预估 HTML > 2000 行时 → 询问是否拆成子报告 |
| 源文档已有 HTML 标签 | 提取纯文本内容,忽略已有样式 |
| 源文档的章节全是 H2 无 H3 | 推理块在 H2 章节内按段落逻辑拆分,不必强行制造 H3 |
| 输出路径已存在同名 .html | 直接覆盖——md 是源,html 是可重新生成的产物 |
| 源文档内容类型不适合三层架构 | 见上方"不该用"表格——主动拒绝并告知原因 |
| 推理块内容极长(单块 > 500 字) | 拆成 2 个独立推理块,各带自己的断言标题 |
参考资源
references/design-system.md— 完整 HTML 骨架、CSS Token 系统、组件模板。在 Step 0 校准阶段必须读取。