$npx -y skills add zsyggg/paper-craft-skills --skill paper-analyzer将学术论文转化为深度HTML长文。6轮强制工作流、代码仓库搜索、公式渲染、Mermaid图表。 3种写作风格,输出可直接分享的精美HTML页面。
| 1 | # Paper Analyzer — 学术论文深度解析 |
| 2 | |
| 3 | ⚠️ **这是生产级指令。你的唯一任务:产出一篇让读者觉得"比我读论文还清楚"的深度HTML长文。** |
| 4 | |
| 5 | ## 快速使用 |
| 6 | |
| 7 | ``` |
| 8 | /paper-analyzer https://arxiv.org/abs/2605.07363 |
| 9 | /paper-analyzer /path/to/paper.pdf |
| 10 | /paper-analyzer 粘贴文本 |
| 11 | ``` |
| 12 | |
| 13 | --- |
| 14 | |
| 15 | ## 强制工作流(每一步必须执行,不可跳过) |
| 16 | |
| 17 | ### Round 1:获取论文全文 ⛔ |
| 18 | |
| 19 | | 输入 | 执行 | |
| 20 | |------|------| |
| 21 | | arxiv URL | **同时读** arxiv.org/abs/(摘要)和 arxiv.org/html/(全文HTML) | |
| 22 | | PDF路径 | 用PDF读取工具读全文。分多次直到全部获取 | |
| 23 | | 文本 | 全部使用 | |
| 24 | |
| 25 | **自检**:有没有完整内容?没有 → 换方式继续。 |
| 26 | |
| 27 | ### Round 2:搜索开源代码 ⛔ |
| 28 | |
| 29 | 1. 从论文中提取代码仓库链接(通常在页脚或 Introduction 末) |
| 30 | 2. 没有则用论文标题+作者名搜索 GitHub |
| 31 | 3. 克隆:`git clone --depth 1 <url> /tmp/paper_code` |
| 32 | 4. 阅读 README → 核心源码文件 → 配置文件 |
| 33 | |
| 34 | **根据代码状态分支处理**: |
| 35 | |
| 36 | | 状态 | 处理 | 文章体现 | |
| 37 | |------|------|---------| |
| 38 | | ✅ 已发布 | 读核心文件,找 ≥2 处论文方法↔源码对应 | 贴代码段(≤30行),标注 `文件路径:行号` | |
| 39 | | ⏳ 待发布 | 检查 README/Release 标记 | 标注状态+仓库链接 | |
| 40 | | ❌ 无代码 | 搜索替代实现/相关项目 | 注明"本文未提供公开代码" | |
| 41 | |
| 42 | ### Round 3:深度分析 ⛔ 内部完成,不展示过程 |
| 43 | |
| 44 | 1. 核心创新:论文做了什么别人没做的?(1-3个,每个一句话提炼) |
| 45 | 2. 方法细节:输入→处理→输出→为什么更好(每个创新画清楚这条线) |
| 46 | 3. 关键实验:哪个结果最有说服力?为什么? |
| 47 | 4. 论文弱点:作者自述 + 你的判断 |
| 48 | 5. 代码对应:每个 component 对应哪个文件/函数 |
| 49 | |
| 50 | ### Round 4:询问用户 ⛔ |
| 51 | |
| 52 | 必须问风格选择,用户未回则默认 academic。 |
| 53 | |
| 54 | ### Round 5:写作输出HTML ⛔ |
| 55 | |
| 56 | 按选定风格的要求写,输出完整HTML。模板见下文。 |
| 57 | |
| 58 | ### Round 6:自我审查 ⛔ |
| 59 | |
| 60 | 逐项检查,不通过则修改直到通过。 |
| 61 | |
| 62 | --- |
| 63 | |
| 64 | ## 三风格详细要求 |
| 65 | |
| 66 | --- |
| 67 | |
| 68 | ### storytelling(故事型)— 像一篇公众号爆文 |
| 69 | |
| 70 | **硬标准**: |
| 71 | - 字数 ≥ 3000 |
| 72 | - 段落 ≥ 15 |
| 73 | - 引用论文原文 ≥ 3 处 |
| 74 | - 生动类比/比喻 ≥ 2 个 |
| 75 | - 结尾金句 1 句 |
| 76 | |
| 77 | **结构要求(按顺序,缺一不可)**: |
| 78 | |
| 79 | ``` |
| 80 | 1. 钩子开头(2-3段) |
| 81 | — 反常识问题 / 引人共鸣的场景 / 让人"等等再说一遍?"的事实 |
| 82 | — 不要直接讲技术。先让读者好奇。 |
| 83 | |
| 84 | 2. "为什么会这样"(3-4段) |
| 85 | — 解释现有方法的逻辑和它的瓶颈 |
| 86 | — 用简单例子说明 |
| 87 | — 让读者感到"确实需要一种新方法" |
| 88 | |
| 89 | 3. 核心洞察(1-2段) |
| 90 | — 论文最关键的那一句话发现 |
| 91 | — 用一句话说清楚 + 一个类比强化 |
| 92 | |
| 93 | 4. 方法详解(5-8段,全文最重点) |
| 94 | — 分步骤展开:怎么做 → 为什么这样设计 → 和旧方法的关键区别 |
| 95 | — 每个步骤配一个类比 |
| 96 | — 引用论文原文(公式/算法描述)≥ 3 处 |
| 97 | — 用对比表呈现新旧方法差异 |
| 98 | |
| 99 | 5. 实验效果(3-4段) |
| 100 | — 最重要的实验结果 + 数据解读 |
| 101 | — 不只是报数字,要解释"这意味着什么" |
| 102 | — 用表格呈现关键对比数据 |
| 103 | |
| 104 | 6. 深层意义(2-3段) |
| 105 | — 这个工作对行业意味着什么 |
| 106 | — 不止一个角度:技术意义、产业意义、方法学意义 |
| 107 | |
| 108 | 7. 局限(1-2段) |
| 109 | — 作者自述的局限 + 你的判断 |
| 110 | |
| 111 | 8. 收束(1段) |
| 112 | — 回到开头的场景/问题,形成闭环 |
| 113 | — 读者带着"我懂了"的感觉离开 |
| 114 | |
| 115 | 9. 金句 |
| 116 | — 一句话,让人能记住并转述 |
| 117 | ``` |
| 118 | |
| 119 | **写法要求**: |
| 120 | - 多用"你"和读者对话("你有没有想过""你猜怎么着") |
| 121 | - 段落短,一段不超过 4 句话 |
| 122 | - 技术词出现时要立刻给"人话解释" |
| 123 | - 数据要翻译成可感知的东西("15 斤荔枝"而不只是"15 斤") |
| 124 | |
| 125 | --- |
| 126 | |
| 127 | ### academic(学术型)— 比论文更清晰的深度解析 |
| 128 | |
| 129 | **硬标准**: |
| 130 | - 字数 ≥ 4000(⚠️ 学术型必须长于故事型) |
| 131 | - 段落 ≥ 20 |
| 132 | - 论文公式引用 ≥ 5 处(用 KaTeX 渲染) |
| 133 | - 论文图片/图表引用 ≥ 3 处(标注 Figure number) |
| 134 | - 实验数据表格 ≥ 2 张 |
| 135 | - 代码段 ≥ 2 段(如有代码) |
| 136 | - 指出局限 ≥ 2 处 |
| 137 | |
| 138 | **结构要求**: |
| 139 | |
| 140 | ``` |
| 141 | 1. 论文元信息 |
| 142 | 标题 · 作者 · 链接 · 代码状态 |
| 143 | |
| 144 | 2. 一句话总结(100字内) |
| 145 | |
| 146 | 3. 研究背景与动机(4-5段) |
| 147 | — 这个领域在解决什么问题 |
| 148 | — 现有方法及其局限(按时间线或方法论分类) |
| 149 | — 本文的出发点 |
| 150 | |
| 151 | 4. 预备知识(2-3段,如需要) |
| 152 | — 理解本文需要的核心概念 |
| 153 | — 本文用到的基础方法简介 |
| 154 | |
| 155 | 5. 方法详解(8-10段,全文最重点) |
| 156 | — 对每个创新点独立成节 |
| 157 | — 每个创新点包含:①问题 ②怎么做(配公式)③为什么有效 ④与已有方法的差异 |
| 158 | — 公式用 $$...$$ KaTeX 渲染 |
| 159 | — 引论文原文 Figure/Table 编号 |
| 160 | — 有代码则穿插源码分析 |
| 161 | |
| 162 | 6. 实验分析(4-6段) |
| 163 | — 实验设置概述 |
| 164 | — 主要结果(配表格 + 深入解读) |
| 165 | — 不同维度的对比分析 |
| 166 | — 消融实验说明了什么 |
| 167 | — 不是报数据,是解读数据背后的含义 |
| 168 | |
| 169 | 7. 讨论(2-3段) |
| 170 | — 方法的适用边界 |
| 171 | — 未解决的问题 |
| 172 | — 对未来工作的启示 |
| 173 | |
| 174 | 8. 局限分析(2-3段) |
| 175 | — 作者自述 ≥ 1 处 |
| 176 | — 你的独立判断 ≥ 1 处 |
| 177 | |
| 178 | 9. 结论(1-2段) |
| 179 | — 凝练贡献 |
| 180 | — 展望 |
| 181 | ``` |
| 182 | |
| 183 | **写法要求**: |
| 184 | - 保持学术严谨但不死板——比论文好读 |
| 185 | - 每个公式后要跟一句"人话"解释:这个公式在说什么 |
| 186 | - 引用论文的 Fig/Table/Section 编号 |
| 187 | - 表格数据要有解读,不只贴数据 |
| 188 | - 数学符号首次出现要解释含义 |
| 189 | |
| 190 | --- |
| 191 | |
| 192 | ### concise(精炼型)— 最快掌握核心 |
| 193 | |
| 194 | ⚠️ **精炼 ≠ 敷衍。精炼是信息密度极高、但该有的全有。** |
| 195 | |
| 196 | **硬标准**: |
| 197 | - 字数 ≥ 1200(不能低于这个数) |
| 198 | - 必须有:核心摘要盒 + 表格 + 可视化图表 + 金句 |
| 199 | - ⚠️ **必须包含至少 1 个 Mermaid 图表**(架构图或对比图) |
| 200 | |
| 201 | **结构要求**: |
| 202 | |
| 203 | ``` |
| 204 | 1. 头图(Mermaid图表)—— 全文最核心架构/对比的一张图 |
| 205 | 类型可以是:flowchart(流程图)、graph(对比图)、或 timeline |
| 206 | |
| 207 | 2. 核心摘要盒 |
| 208 | — 5 行以内 |
| 209 | — 覆盖:做什么 / 怎么做 / 效果 / 适用场景 |
| 210 | |
| 211 | 3. 关键创新(3-5 个,编号列出) |
| 212 | — 每个 2-4 句 |
| 213 | — 一句话说创新点 → 一句话说怎么做的 → 一句话说为什么重要 |
| 214 | |
| 215 | 4. 核心数据表 |
| 216 | — 最多 5 行数据 |
| 217 | — 突出和 baseline 的对比 |
| 218 | |
| 219 | 5. 金句收尾 |
| 220 | ``` |
| 221 | |
| 222 | **Mermaid 图表示例**(⚠️ 节点文本避免中文特殊字符,用英文或简单ASCII。用 `<br/>` 换行): |
| 223 | ```mermaid |
| 224 | flowchart TB |
| 225 | subgraph DSA["DSA: 64 heads scan all L tokens"] |
| 226 | Q1[Query] --> H1[Head 1..64] |
| 227 | H1 --> TK1[Score: O(64L)] |
| 228 | end |
| 229 | subgraph MISA["MISA: route to h=8 heads"] |
| 230 | Q2[Query] --> RTR[Router: O(64M)] |
| 231 | RTR -->|top-8| H2[8 active heads] |
| 232 | H2 --> TK2[Score: O(8L)] |
| 233 | end |
| 234 | DSA -->|8x fewer heads| MISA |
| 235 | ``` |
| 236 | |
| 237 | --- |
| 238 | |
| 239 | ## HTML 输出模板 |
| 240 | |
| 241 | 生成HTML时使用此模板,确保含 KaTeX 公式渲染 + Mermaid 图表支持: |
| 242 | |
| 243 | ```html |
| 244 | <!DOCTYPE html> |
| 245 | <html lang="zh-CN"> |
| 246 | <head> |
| 247 | <meta charset="UTF-8"> |
| 248 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 249 | <title>论文标题 — 深度解读</title> |
| 250 | <style> |
| 251 | :root{--text:#1a1a1a;--bg:#fafaf8;--accent:#2563eb;--muted:#6b7280;--border:#e5e7eb;--code-bg:#f3f4f6} |
| 252 | *{margin:0;padding:0;box-sizing:border-box} |
| 253 | body{font-family:-apple-system,"PingFang SC","Noto Serif SC",serif;color:var(--text);background:var(--bg);line-height:1.85;padding:2.5rem 1.5rem;max-width:720px;margin:0 auto;font-size:17px} |
| 254 | h1{font-size:2rem;margin:0 0 .3rem;line-height:1.3} |
| 255 | h2{font-size:1.35rem;margin:2.8rem 0 .8rem;color:var(--accent);padding-bottom:.4rem;border-bottom:1px solid var(--border)} |
| 256 | h3{font-size:1.1rem;margin:1.5rem 0 .5rem;color:#333} |
| 257 | .meta{color:var(--muted);font-size:.9rem;margin-bottom:2.5rem;line-height:1.8} |
| 258 | .meta a{color:var(--accent);text-decoration:none} |
| 259 | blockquote{border-left:3px solid var(--accent);padding:.6rem 1.2rem;margin:1.5rem 0;background:#f0f4ff;border-radius:0 8px 8px 0} |
| 260 | pre{background:var(--code-bg);padding:1rem 1.2rem;border-radius:8px;overflow-x:auto;font-size:.8 |