From doc-briefing
将URL、PDF、Word、Markdown等文档转化为结构化简报。核心原则是"摘要即翻译"——保留足够细节,不过度压缩。适用于报告、论文、新闻文章、网页内容等。长文档递归处理后输出单份完整简报。当用户说"帮我看看这个文档"、"总结一下"、"这个PDF讲了什么"、"做个简报"、"提取要点"、"导读"、"摘要"、"briefing"时触发。支持单文档简报和多文档对比。即使用户只是扔了一个URL或文件路径,只要意图是理解内容,也应触发。
npx claudepluginhub wangc94/my-vibing-skills --plugin doc-briefingThis skill uses the workspace's default tool permissions.
**核心原则:摘要即翻译,不是压缩。** 保留足够细节让读者不需要回看原文。宁可多保留,不过度精简。
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
核心原则:摘要即翻译,不是压缩。 保留足够细节让读者不需要回看原文。宁可多保留,不过度精简。
工作方式:零交互。 拿到材料直接处理,输出完整简报。不询问偏好、不确认格式、不等待反馈。
优先使用 markitdown(零成本、无 token 消耗、速度快),不可用时降级到内置 skill。
检测 markitdown:
python -c "from markitdown import MarkItDown; print('ok')" 2>/dev/null && echo "AVAILABLE" || echo "UNAVAILABLE"
提取流程:
| 输入类型 | markitdown 可用时 | markitdown 不可用时 |
|---|---|---|
| URL/网页 | WebFetch(与 markitdown 无关) | WebFetch |
python scripts/extract.py <path> | 内置 pdf skill | |
| Word (.docx) | python scripts/extract.py <path> | 内置 docx skill |
| PPT (.pptx) | python scripts/extract.py <path> | 内置 pptx skill |
| Excel (.xlsx/.csv) | python scripts/extract.py <path> | 内置 xlsx skill |
| Markdown/文本 | 直接 Read | 直接 Read |
scripts/extract.py 封装了 markitdown 调用和质量验证。如果提取结果为空或极短(<50字),说明可能是扫描件或图片 PDF,脚本会返回错误码,此时降级到内置 skill。
多文档输入: 提供 2+ 个文档时,自动进入对比模式,见 references/multi-doc.md。
根据文档规模自动选择,无需询问:
| 文档规模 | 模式 | 简报目标长度 | 处理策略 |
|---|---|---|---|
| <5 页 / <3000 字 | 快速 | 500-1000 字 | 全文通读,一次性输出 |
| 5-20 页 | 标准 | 1000-3000 字 | 按章节摘要 |
| 20-100 页 | 深度 | 3000-6000 字 | 分批读取,逐章提取后整合 |
| >100 页 | 递归 | 6000+ 字 | 分批递归,整合为单份简报 |
长文档分批读取: 使用内置 pdf skill 时,Read 工具每次最多 20 页。先读前 5 页了解目录结构,再按章节分批读取(每批 15-20 页),逐批提取后整合。markitdown 无此限制。
# [文档标题]
## 基本信息
- **来源**:[类型 + 来源路径或URL]
- **日期**:[文档日期或获取日期]
- **规模**:约 X 页 / X 字
## 核心观点
(1-3 句话概括文档核心主张——这是整份简报最重要的部分)
## 关键发现
1. 发现一(一句话 + 关键数据)
2. 发现二
3. ...(3-7 项)
## 详细摘要
### [原文第一部分标题]
...
### [原文第二部分标题]
...
(按原文结构分段总结,保留具体数据、人名、时间、术语)
## 分析与洞察
(局限性、值得关注的点、与已知信息的关联、实践建议)
## 待确认事项
- [ ] 文档中模糊、矛盾或需进一步验证的信息
## 相关资源
(原文中的链接、引用、参考文献)
文档类型适配: 不同类型文档的"详细摘要"部分结构有差异,见 references/templates.md。自动识别文档类型并应用对应模板。
所有简报无论长短都保存到文件,便于用户日后复习:
./briefings/[标题slug]_briefing_[YYYYMMDD].md生成简报后,在内部默默检查以下项目。发现问题自行修正,不向用户展示检查过程或报告:
唯一例外: 如果 markitdown 未安装,在简报末尾追加一行提醒:
> 💡 安装 markitdown 可提升文档提取速度并节省 token:`pip install 'markitdown[all]'`
| 场景 | 处理方式 |
|---|---|
| URL 抓取失败(404/付费墙/反爬) | 报告错误,建议用户保存为 PDF 后重试 |
| 扫描件/图片 PDF(提取为空) | markitdown 降级到内置 pdf skill;仍失败则报告"建议先 OCR" |
| Word 含大量图表/嵌入对象 | 提取文本部分,标注"原文含 X 个图表,文字摘要可能不完整" |
| 文档内容极短(<100 字) | 直接全文引用,不做摘要 |
| 格式不支持 | 告知支持的格式列表 |
做到:
避免: