mcpField
U
url-dump

url-dump

github.com/huytieu生产力1.3k183 次安装6 天前更新
代码仓库

关于 url-dump

url-dump 是一项 COG 技能,可将网页链接整理为分类知识条目,并提取内容和见解。它支持批量处理、重复检查,并在存入用户知识库前进行质量核验。

主要功能

  1. 01抓取并提取网页内容
  2. 02根据内容建议分类
  3. 03生成摘要和关键见解
  4. 04检查重复链接
  5. 05归档前核验条目
  6. 06独立处理多个 URL

适用场景

  1. 01保存文章并提取主要观点
  2. 02整理软件和参考资料链接
  3. 03批量收集多个 URL

安装

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

$npx skills add https://github.com/huytieu/cog-second-brain --skill url-dump

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

详细介绍

COG URL Dump 技能

目的

通过智能提取内容、分类并整合到用户的知识库,将原始 URL 转换为结构化且富有见地的知识条目。快速收集内容并自动生成洞见。

调用时机

  • 用户分享想要保存的 URL
  • 用户说“保存这个链接”“收藏这个”“url dump”或“留着以后看”
  • 用户粘贴 URL 并想要收集
  • 用户想要将网络资源整理到自己的知识库中

Agent 模式识别

检查 00-inbox/MY-PROFILE.md frontmatter 中的 agent_mode:

  • 如果为 agent_mode: team —— 将内容提取、分析和分类工作委派给子 Agent,同时直接与用户互动。子 Agent 获取 URL 内容、生成洞见,并返回结构化结果以供归档。
  • 如果为 agent_mode: solo(默认)—— 直接在对话中处理所有工作。不进行委派。

执行前检查

执行前,检查用户资料:

  1. 在知识库中查找 00-inbox/MY-PROFILE.md
  2. 如果未找到:
    Welcome to COG! It looks like this is your first time.
    
    Before we start, let's quickly set up your profile (takes 2 minutes).
    
    Would you like to run onboarding first, or should I proceed with default settings?
    
  3. 如果找到:
    • 阅读资料,了解用户的兴趣和项目
    • 利用用户兴趣辅助自动分类
    • 检查 05-knowledge/booklets/ 中是否已有分类手册

流程

1. 用户互动与输入收集
  • 接收用户提供的 URL(单个 URL 或批量 URL)
  • 可选:接收用户关于保存原因的简短备注
  • 接受任意格式:裸 URL、Markdown 链接或附带备注的 URL

提示词:

What URL(s) would you like to save?
(You can paste one or more URLs, optionally with a note about why you're saving it)
2. URL 验证与获取
  • 验证 URL 格式
  • 检查 URL 是否可访问
  • 检查现有知识库中是否有重复的 URL
  • 获取网页内容
内容提取

从页面中提取:

  • 页面标题: [提取的标题]
  • 元描述: [如有]
  • 作者: [如能检测到]
  • 发布日期: [如能检测到]
  • 字数: [估算值]
  • 阅读时间: [X 分钟]
  • 主要内容: [提取的正文]
  • 关键标题: [H1/H2 标题列表]
3. 分类选择

默认分类:

  • 文章与博客: 长篇内容、教程、观点文章
  • 工具与资源: 软件、实用工具、服务、API
  • 参考资料: 文档、规范、标准
  • 研究: 论文、研究、学术内容
  • 灵感: 设计、创意、创作参考
  • 视频与媒体: YouTube、播客、多媒体
  • 新闻与更新: 行业新闻、公告
  • 特定项目: 与特定项目相关(提供 MY-PROFILE.md 中的项目列表)
  • 待审核: 不确定,留待以后分类

自定义分类:

  • 检查 05-knowledge/booklets/ 中是否有现有自定义分类
  • 如有需要,提供创建新分类的选项

自动建议: 根据内容分析,建议最可能的分类,但由用户确认或更改。

4. 内容分析与处理
阶段 1:内容分类

确定:

  • 内容类别: [文章|工具|参考资料|研究|视频|新闻|等]
  • 主要主题: [主题 1、主题 2、主题 3]
  • 语气: [信息性|观点性|教程|新闻|等]
  • 质量评估: [高|中|低]
  • 可信度指标: [作者资历、引用等]
阶段 2:洞见提取

生成:

  • 执行摘要: [2-3 句话]
  • 关键洞见:
    1. [洞见 1,附带背景]
    2. [洞见 2,附带背景]
    3. [洞见 3,附带背景]
  • 值得关注的引述: [如有]
  • 行动事项: [实用要点]
阶段 3:相关性评估

分析:

  • 与用户兴趣的匹配度: [高|中|低] - [资料中的哪些兴趣]
  • 与项目的相关性: [项目名称] - [相关原因]
  • 知识缺口: [是|否] - [填补了什么缺口]
  • 时效性: [长期有效|当前|已过时]
  • 独特性: [新颖|常见|近似重复]
阶段 4:交叉引用

识别以下关联:

  • 相关书签:[现有的类似保存内容]
  • 相关脑力倾倒:[如内容相关]
  • 相关项目:[如适用]
  • 建议标签:[标签 1、标签 2、标签 3]
5. 生成结构化输出

按以下结构创建书签文件:

---
type: "url-bookmark"
category: "[category-name]"
domain: "[source-domain.com]"
date_saved: "YYYY-MM-DD"
date_accessed: "YYYY-MM-DD HH:MM"
url: "[original-url]"
title: "[page-title]"
author: "[author-if-available]"
published: "[publish-date-if-available]"
tags: ["#bookmark", "#category-tag", "#topic-tags"]
relevance: "[high|medium|low]"
status: "unread"
related_projects: ["project1", "project2"]
confidence: "[high|medium|low]"
---

# [Title]

## Quick Summary
[2-3 sentence summary of the content]

## Key Insights
- **Insight 1:** [description with context]
- **Insight 2:** [description with context]
- **Insight 3:** [description with context]

## Why This Matters
[Connection to user's interests/projects. What makes this worth saving?]

## User Note
[Original user note if provided, otherwise omit section]

## Content Highlights
[Key excerpts or quotes from the content - 200-400 words max]

## Practical Takeaways
- [ ] [Action item 1 if applicable] 📅 [YYYY-MM-DD = date +1 week from today]
- [ ] [Action item 2 if applicable] 📅 [YYYY-MM-DD = date +1 week from today]

## Related Knowledge
- **Similar Bookmarks:** [[bookmark1]], [[bookmark2]]
- **Connected Projects:** [[project1]]
- **Related Notes:** [[note1]], [[note2]]

## Source Details
| Field | Value |
|-------|-------|
| Domain | [domain] |
| Author | [author or "Unknown"] |
| Published | [date or "Unknown"] |
| Word Count | [~X words] |
| Read Time | [~X minutes] |

## Processing Notes
- **Extracted:** [timestamp]
- **Category Confidence:** [percentage]
- **Review Needed:** [yes|no] - [reason if yes]

---

*Processed by COG URL Curator*

保存到适当的位置:

  • 标准:05-knowledge/booklets/[category-slug]/[title-slug]-YYYY-MM-DD.md
  • 项目专属:04-projects/[project-slug]/resources/[title-slug]-YYYY-MM-DD.md
  • 混合/不明确:00-inbox/url-[title-slug]-YYYY-MM-DD.md
6. 工具/资源的特殊处理

对于工具和软件,使用增强模板:

---
type: "url-tool"
category: "tools"
domain: "[domain]"
url: "[url]"
title: "[tool-name]"
date_saved: "YYYY-MM-DD"
pricing: "[free|freemium|paid|enterprise]"
tags: ["#tool", "#category-tags"]
status: "to-evaluate"
---

# [Tool Name]

## What It Does
[1-2 sentence description]

## Key Features
- Feature 1
- Feature 2
- Feature 3

## Use Cases
- Use case 1
- Use case 2

## Pricing
[Pricing details if available]

## Why It's Relevant
[Connection to user's work/interests]

## Evaluation Status
- [ ] Sign up / try demo 📅 [YYYY-MM-DD = date +3 days from today]
- [ ] Test key features 📅 [YYYY-MM-DD = date +1 week from today]
- [ ] Compare with alternatives 📅 [YYYY-MM-DD = date +1 week from today]
- [ ] Decision: [use|pass|revisit] 📅 [YYYY-MM-DD = date +2 weeks from today]

## Notes
[Space for user's evaluation notes]

---

*Processed by COG URL Curator*
7. 批量处理

处理多个 URL 时:

Processing [X] URLs...

1. [URL 1] → [category] → Saved to [path]
2. [URL 2] → [category] → Saved to [path]
3. [URL 3] → [category] → Saved to [path]

Summary:
- Articles: 2 saved
- Tools: 1 saved
- Total: 3 URLs processed
8. 确认完成
  • 确认已创建文件
  • 向用户显示:“URL 已保存到 [file path]”
  • 显示简要摘要:标题、类别、关键见解预览
  • 询问他们是否想要:
    • 添加另一个 URL
    • 深入了解内容
    • 关联到特定项目或脑力倾倒

小册子结构

URL 按“小册子”(类别文件夹)组织:

05-knowledge/
└── booklets/
    ├── articles/
    │   ├── _index.md (category overview - auto-created)
    │   └── [article-entries].md
    ├── tools/
    │   ├── _index.md
    │   └── [tool-entries].md
    ├── reference/
    │   ├── _index.md
    │   └── [reference-entries].md
    ├── research/
    │   ├── _index.md
    │   └── [research-entries].md
    ├── inspiration/
    │   ├── _index.md
    │   └── [inspiration-entries].md
    ├── videos/
    │   ├── _index.md
    │   └── [video-entries].md
    └── [custom-category]/
        ├── _index.md
        └── [entries].md
类别索引模板

创建新类别时,也要创建索引文件:

---
type: "booklet-index"
category: "[category-name]"
created: "YYYY-MM-DD"
last_updated: "YYYY-MM-DD"
entry_count: 0
---

# [Category Name] Booklet

## Description
[What this category contains]

## Recent Additions
[Auto-updated list - most recent 10 entries]

## Top Entries
[Manually curated or most-accessed entries]

## Tags in This Category
[List of common tags used]

## Related Categories
- [[other-category-1]]
- [[other-category-2]]

YAML 格式要求

**重要:**所有 YAML 前置内容都必须采用与 Obsidian 兼容的正确格式:

  • 所有字符串值都必须使用双引号
  • 数组必须使用带引号的字符串:["item1", "item2", "item3"]
  • URL 必须加引号,以处理特殊字符
  • 布尔值不应加引号:true 或 false
  • 确保 YAML 语法正确,避免 Obsidian 出现解析错误

示例:

# CORRECT
type: "url-bookmark"
url: "https://example.com/path?query=value"
tags: ["#bookmark", "#article", "#ai"]
relevance: "high"
reviewed: false

# INCORRECT
type: url-bookmark
url: https://example.com/path?query=value
tags: [#bookmark, #article, #ai]
relevance: high
reviewed: "false"

验证流程

内容准确性
  • **标题验证:**确保提取的标题与页面一致
  • **作者署名:**核实页面中注明的作者
  • **日期准确性:**确认页面上显示的发布日期
  • **摘要忠实度:**确保摘要准确呈现内容
分类验证
  • **类别匹配度:**确认内容符合所选类别
  • **标签相关性:**核实标签能准确描述内容
  • **兴趣匹配度:**确认相关性评估准确
  • **项目关联:**核实所声明的项目相关性
质量检查
  • **完整性:**已填写所有必填字段
  • **格式:**Markdown 和 YAML 语法正确
  • **链接:**所有内部链接均有效
  • **元数据:**前置内容格式正确

不确定性处理

内容不明确时
  • **付费墙内容:**注明限制,并提取可用的预览内容
  • **动态内容:**注明内容可能发生变化
  • **复杂内容:**必要时标记为需人工审核
  • **非英语内容:**注明语言,并尽可能提供翻译
置信度指标
  • **高置信度(90% 以上):**内容清晰,分类明确
  • **中置信度(70%–89%):**总体清晰,但存在一些模糊之处
  • **低置信度(50%–69%):**存在重大模糊之处,需要用户输入
  • **极低置信度(低于 50%):**存在重大不确定性,保存到收件箱

始终在处理备注中明确说明置信度等级及其理由。

循环工程

URL 捕获采用的是获取—重试循环,并设有质量门槛,而不是一次获取后直接归档。共享术语请参阅 .claude/skills/loop-engineering/SKILL.md。

**循环(每个 URL):**获取 → 如果获取失败,或返回的正文为空或被拦截,则换用其他方式重试(https 或 http、阅读器模式、存档快照)→ 内容到位后,运行质量门槛 → 归档;或升级给用户处理/保存到收件箱并标记为“需要审核”。

验证器(确定性):

  • 获取到的正文非空(不是付费墙占位内容或错误页面)。
  • 必填字段均已填写:标题、至少一条关键见解、一个类别。
  • YAML frontmatter 格式有效(参见 YAML 格式要求)。
  • 类别置信度达到阈值。低于约 70% 时,循环不会默默猜测。

终止条件(分层):

  • **达到目标:**内容已提取且通过质量门槛 → 保存到类别文件夹。
  • **重试上限:**获取尝试约 3 次后停止 → 将已提取内容连同低置信度标记一起保存(参见不确定性处理),不要臆造缺失字段。
  • **付费墙/登录墙时立即停止:**注明限制,捕获可用的预览内容,不要无限循环。
  • **升级给人工处理:**置信度低于阈值 → 提出最佳猜测并请用户确认类别,而不是错误归档。

**模式:**反思—重试(每次获取失败后换用不同方法)+评估器(质量门槛)+人工参与(低置信度时升级处理)。

**循环内上下文:**提取见解和元数据后,丢弃原始页面正文。对于批量输入,将每个 URL 作为独立循环处理,确保一个有问题的 URL 不会拖住其余内容。

与其他技能集成

后续操作

URL 捕获后,建议:

  • /braindump - 记录关于该 URL 的想法
  • /knowledge-consolidation - 将其整合到知识框架中
  • 每日简报会展示相关的已保存 URL
交叉引用

自动检查是否与以下内容相关:

  • 正在进行的项目(来自 MY-PROFILE.md)
  • 最近的随想记录
  • 竞争对手关注名单中的公司(如存在)
  • 用户兴趣

成功指标

  • 捕获速度(单个 URL 少于 30 秒)
  • 分类准确,并经用户确认
  • 提取出有用的见解
  • 与现有知识正确整合
  • 便于日后检索和发现
  • 提取结果置信度高

学习与适应

模式学习
  • 跟踪哪些书签会被再次访问
  • 学习用户的分类偏好
  • 根据互动情况提升相关性评分
  • 根据用户认为有用的内容改进见解提取
持续改进
  • 持续监控分类准确率
  • 适应用户偏好的标签体系
  • 学习特定领域的术语
  • 提高交叉引用准确率

评论

支持 Markdown