content-collector

个人内容收藏与知识管理系统。收藏、整理、检索、二创。 Use when: (1) 用户分享链接/文字/截图并要求保存或收藏, (2) 用户说"收藏这个"/"存一下"/"记录下来"/"save this"/"bookmark"/"clip this", (3) 用户要求按关键词/标签搜索之前收藏的内容, (4) 用户要求基于收藏内容生成小红书/社交媒体文案(二创/改写/洗稿), (5) 用户发送 URL 并要求提取/总结/摘要内容, (6) 用户提到"之前看过一个..."/"上次收藏的..."等回忆性检索, (7) 用户转发或粘贴了一段内容(文章片段/推文/视频链接)并暗示想留存。 即使用户没有明确说"收藏",只要涉及保存外部内容、整理知识、检索历史收藏、 或基于已收藏内容进行二次创作,都应使用此技能。 已支持来源:博客、X/Twitter、网页、B站视频。 内容类型:文字、长视频(B站可自动转录)、短视频。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "content-collector" with this command: npx skills add lovensky1992-wk/content-collector

Content Collector — 个人内容收藏系统

收藏好内容 → 结构化整理 → 关键词检索 → 二次创作

数据位置

主存储(AI 检索用)

<WORKSPACE>/collections/

collections/
├── articles/       # 文章、博客、长文
├── tweets/         # X/Twitter 推文、短内容
├── videos/         # 视频内容(转录+笔记)
├── wechat/         # 微信公众号文章
├── ideas/          # 零散想法、灵感
├── index.md        # 全局索引(自动维护)
└── tags.md         # 标签索引(自动维护)

Obsidian 同步(人工浏览用,可选)

<YOUR_OBSIDIAN_VAULT>/收藏/

收藏/
├── 文章/           # ← collections/articles
├── 视频/           # ← collections/videos
├── 推文/           # ← collections/tweets
├── 公众号/         # ← collections/wechat
└── 想法/           # ← collections/ideas

每次收藏时必须同时写入两个位置。 Obsidian 版本的差异:

  1. 文件名:用中文标题(从 frontmatter title 取),不用 YYYY-MM-DD-slug 格式
  2. 标签:frontmatter 保留 tags 数组 + 正文第一行加 #tag1 #tag2 ... 格式(Obsidian 图谱和搜索用)
  3. aliases:frontmatter 加 aliases: [title],方便 Obsidian 双链搜索
  4. 目录映射articles→文章videos→视频tweets→推文wechat→公众号ideas→想法

Obsidian 写入模板(伪代码):

target_dir = <YOUR_OBSIDIAN_VAULT>/收藏/{中文目录}/
filename = sanitize(title).md   # 去掉 <>:"/\|?* 等非法字符,截断80字符
content = 原始 frontmatter(加 aliases) + "\n\n" + "#tag1 #tag2 ..." + "\n\n" + body

收藏工作流

Supadata API(优先方案)

对于大部分 URL,优先使用 Supadata API 解析:

  • 脚本:SUPADATA_API_KEY=<key> python3 scripts/supadata_fetch.py <command> <url>
  • 环境变量:SUPADATA_API_KEY 存放在 TOOLS.md
内容类型命令说明
网页/博客web <url>返回 Markdown 正文,1 credit
视频转录transcript <url> --text [--lang zh]YouTube/TikTok/X/Instagram/Facebook,1-2 credits
社交媒体元数据metadata <url>标题、作者、互动数据,1 credit

Supadata 不可用时的降级方案:

  • 网页 → web_fetch
  • B站 → 本地 bilibili 脚本(见下方)
  • 需登录/内网 → Chrome Relay

URL 内容(文章/博客/网页)

  1. 优先 supadata_fetch.py web <url> 抓取正文
  2. 降级 web_fetch 抓取正文
  3. 提取标题、作者、发布日期、正文摘要、关键词
  4. 提取有价值的插图(默认执行,见下方「插图保存规范」)
  5. 生成 collections/articles/YYYY-MM-DD-slug.md(含插图引用)
  6. 同步到 Obsidian<YOUR_OBSIDIAN_VAULT>/收藏/文章/{标题}.md(含插图复制)

视频内容(YouTube/TikTok/X/Instagram/Facebook)

  1. 元数据: supadata_fetch.py metadata <url>
  2. 转录: supadata_fetch.py transcript <url> --text --lang zh
  3. 内容提取:基于转录文本提取核心观点、金句、要点
  4. 生成 collections/videos/YYYY-MM-DD-slug.md
  5. 同步到 Obsidian<YOUR_OBSIDIAN_VAULT>/收藏/视频/{标题}.md

纯文本/截图

  1. 截图用 image 工具提取文字
  2. 整理成结构化格式,来源可选补充

B站视频(本地流程,Supadata 不支持 B站)

  1. 元数据python3 scripts/bilibili_extract.py <bvid_or_url> → 标题、作者、时长、标签、数据指标
  2. 评论区
    • 无登录(API):3条热门
    • 已登录(浏览器 shadow DOM):20+条,见 references/bilibili-comments.md
  3. 视频转录bash scripts/bilibili_transcribe.sh <bvid_or_url> [model]
    • 依赖:yt-dlp、faster-whisper(uv)、opencc
    • 需浏览器已登录B站(yt-dlp 读取 cookie)
    • 模型:tiny/base(默认)/small/medium,base 约10-15分钟转录46分钟视频
    • 输出:/tmp/bilibili_audio/<BVID>_transcript.json + .txt
    • 注意:ASR 有识别错误,专有名词需人工校验
    • 降级方案(转录失败时):
      • yt-dlp cookie 过期 → 提示用户在 openclaw browser 重新登录 B站
      • faster-whisper 不可用 → 尝试 whisper CLI(pip3 install openai-whisper
      • 全部失败 → 仅保存元数据+评论,在收藏文件中标注"转录未获取,待补充",不阻塞收藏流程
  4. 内容提取:基于转录文本提取核心观点、金句、要点
  5. 生成 collections/videos/YYYY-MM-DD-slug.md
  6. 同步到 Obsidian<YOUR_OBSIDIAN_VAULT>/收藏/视频/{标题}.md

插图保存规范

收藏文章时默认提取有价值的插图,作为后续写作素材。

判断标准(哪些图值得保存)

  • ✅ 架构图、流程图、框架图、对比图、数据可视化
  • ✅ 概念说明图、示意图、信息图
  • ❌ 装饰性 banner、logo、头像、广告
  • ❌ 纯文字截图(直接引用文字更好)

操作流程

  1. 发现插图:用 browser evaluate 提取页面 <img> 列表(src + alt + caption)
  2. 筛选:排除装饰性图片(logo、小于 200px、SVG 图标等)
  3. 下载:用 CDN 原始 URL(避免 Next.js 等图片优化层),curl -sL 保存到:
    • collections 路径:collections/{category}/images/{slug}/01-描述.png
    • slug 与收藏文件的文件名 slug 一致
  4. 嵌入收藏文件:在正文中用 ## 插图 章节,每张图包含:
    • ![alt](images/{slug}/filename.png)
    • 斜体说明文字(来自 caption 或自行总结)
  5. 同步到 Obsidian
    • 复制图片到 <YOUR_OBSIDIAN_VAULT>/收藏/{中文目录}/images/{slug}/
    • Obsidian 版本使用相同的相对路径引用

命名规范

  • 文件名:{序号}-{简短英文描述}.png(如 01-architecture-overview.png
  • 目录名:与收藏文件 slug 一致(如 evals-for-agents

注意

  • 图片保存为本地副本,不依赖外部 URL(防止链接失效)
  • 单篇文章通常 3-8 张有价值的图,不要过度收集

关联项目(自动匹配)

每次收藏内容后,自动将内容与当前活跃项目关联:

  1. 读取 <WORKSPACE>/memory/topics/projects.md 获取活跃项目列表
  2. 将收藏内容的标题、摘要、标签与每个项目的关键词匹配
  3. 匹配到的项目写入收藏文件的 YAML frontmatter:
    related_projects: ["wemp-ops", "xiaohongshu-ops"]
    project_notes: "这个案例可以用于公众号选题:AI调度人力的真实案例"
    
  4. 同时在 index.md 中标注关联项目,方便按项目筛选素材

项目关键词(自动从 projects.md 提取)

  • wemp-ops:公众号、写作、文章、排版、内容运营
  • xiaohongshu-ops:小红书、笔记、种草、配图、短内容
  • content-collector:收藏、知识管理、素材库

使用场景

  • 写公众号文章前:搜索关联 wemp-ops 的收藏 → 快速找到素材
  • 写小红书前:搜索关联 xiaohongshu-ops 的收藏 → 找到适合拆解的内容
  • 选题会议:按项目汇总最近收藏 → 发现选题方向

存储格式

文件命名:YYYY-MM-DD-slug.md

---
title: "标题"
source: "来源平台"
url: "原始链接"
author: "作者"
date_published: "发布日期"
date_collected: "收藏日期"
tags: [tag1, tag2, tag3]
category: "articles|tweets|videos|wechat|ideas"
language: "zh|en"
summary: "一句话摘要"
# 视频专属(可选)
duration: "时长"
platform: "bilibili|youtube"
bvid: "BV号"
stats: { views: 0, likes: 0, comments: 0 }
---

内容结构

  • 内容概览(条件触发,见下方规则)— Mermaid 图,一图看懂全文
  • 核心观点 — 3-7个要点
  • 要点摘录 — 原文金句(blockquote)
  • 热门评论精选(视频类)— 含点赞数
  • 评论区观点摘要(视频类)— 总结争议点
  • 我的笔记 — 用户个人批注,后续补充
  • 原文摘要 — 200-500字概要

内容概览图生成规则

触发条件:正文 > 1000 字的 articles / wechat / videos(短推文、零散想法不画)。

输出格式:Mermaid 代码块,直接嵌入收藏文件的 ## 内容概览 章节。Obsidian 原生渲染,不需要额外插件。

图表类型自动选择(按文章内容匹配):

文章特征图表类型Mermaid 语法示例
方法论/框架/模型(分层、组件)思维导图mindmap"AI PM 的 3 个核心能力"
流程/步骤/演进(先后顺序)流程图graph TB"AI 编程三次进化"
对比/选择(A vs B)对比图graph TB + 并行 subgraph"传统 PM vs AI PM"
多实体互动/依赖关系关系图graph LR"Agent 各模块数据流"
时间线/里程碑时间线graph LR 线性"2024 AI 大事记"
混合/不确定思维导图mindmap(万能兜底)

生成要求

  1. 节点文字用文章原始术语,不用"概念1"、"模块A"等占位符
  2. 层级不超过 3 层——图是辅助理解,不是完整复述
  3. 节点数量 5-15 个——太少没信息量,太多一眼看不完
  4. 遵守 Mermaid 语法规范——详见 references/mermaid-syntax-rules.md,特别注意:
    • 1. 触发列表解析错误 → 用 (1) 或去掉空格
    • subgraph 带空格 → 用 subgraph id["显示名"] 格式
    • 节点引用用 ID 不用显示文本
    • 不要在节点文本中使用 Emoji
  5. 配色使用语义色
    • 核心概念:fill:#d3f9d8,stroke:#2f9e44(绿)
    • 问题/挑战:fill:#ffe3e3,stroke:#c92a2a(红)
    • 方法/工具:fill:#e5dbff,stroke:#5f3dc4(紫)
    • 输出/结果:fill:#c5f6fa,stroke:#0c8599(青)

嵌入格式示例

## 内容概览

\`\`\`mermaid
mindmap
  root((AI PM 核心能力))
    问题定义
      从模糊需求到精确问题
      判断什么值得做
    上下文质量
      Context Engineering
      给 Agent 正确的信息
    判断力
      评估 Agent 产出
      知道何时人工介入
\`\`\`

不做什么

  • 不生成独立图片文件——Mermaid 文本直接嵌入 Markdown
  • 不画太复杂的图——收藏文件的图是"速览",不是完整笔记

Obsidian 同步规范

每次写入 collections/ 后,必须同时写入 Obsidian 版本。步骤:

  1. 从刚写入的收藏文件读取 frontmatter
  2. 构建 Obsidian 版本:
    • 保留 frontmatter 的 title, source, url, author, date_published, date_collected, category, language, summary, duration, platform, bvid, tags
    • 添加 aliases: [title]
    • 正文第一行加 #tag1 #tag2 ...(标签中的空格替换为 _
  3. 文件名 = sanitize(title).md(去掉 <>:"/\|?*,截断 80 字符)
  4. 写入到 <YOUR_OBSIDIAN_VAULT>/收藏/{中文目录}/

目录映射:

collections 目录Obsidian 目录
articles/文章/
videos/视频/
tweets/推文/
wechat/公众号/
ideas/想法/

注意:Obsidian 版本是 collections 的只读镜像。编辑应在 collections 原文件上进行,然后重新同步。

索引

每次收藏后更新:

  • index.md — 按月份倒序,含标签和来源
  • tags.md — 按标签聚合所有收藏

检索

  1. 标签匹配:tags.md 中查找
  2. 全文搜索:grep -ril "keyword" collections/
  3. 返回匹配列表 + 摘要

二创 — 小红书内容生成

  1. 按选题/标签从收藏库筛选素材
  2. 参考 references/xiaohongshu-style.md 写作风格
  3. 生成:emoji标题 + 口语化正文(300-800字) + 话题标签(5-10个)
  4. 发布配合 xiaohongshu-ops 技能

联动 — 公众号写作供料

收藏库是 wemp-ops 公众号写作的素材来源之一。wemp-ops 选题时会自动检索收藏库:

  • 标签匹配:tags.md 按关键词查找相关收藏
  • 全文搜索:grep -ril 搜索 collections/ 目录
  • 收藏文件中的"核心观点"、"要点摘录"、"我的笔记"可直接用于文章引用

收藏时的写作友好建议

  • summary 写清楚,便于快速判断是否相关
  • tags 覆盖主题关键词,提高检索命中率
  • "我的笔记"多写自己的思考和联想,这些是文章的独特视角

分类规则

来源目录备注
博客/网页articles/默认归类
X/Twittertweets/短内容/thread
微信公众号wechat/中文长文
B站/YouTube/抖音videos/B站可自动转录
零散想法ideas/非外部来源

标签规范

  • 中文为主,英文专有名词保持英文
  • 每条 3-8 个标签
  • 常用:AI产品设计电商运营技术商业创业效率工具思维模型管理

命令速查

用户说动作
"收藏这个 [URL/文字]"抓取→整理→存储→更新索引
"搜索 [关键词]"搜索收藏库
"最近收藏了什么"读 index.md
"关于 [标签] 的收藏"从 tags.md 筛选
"用 [选题] 写篇小红书"二创生成
"给这篇加个笔记"更新"我的笔记"部分
"删除这条收藏"移除并更新索引 + 删除 Obsidian 对应文件
"重新同步到 Obsidian"全量重新同步:python3 scripts/sync_to_obsidian.py(skill 目录下)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Clip History

Clipboard history manager with pinning and search. Use when you need to save clipboard entries, search clipboard history, pin important items, or retrieve pr...

Registry SourceRecently Updated
Coding

Miaoda App Builder

Create, modify, generate, and deploy websites, web apps, dashboards, SaaS products, internal tools, interactive web pages, Weixin mini program , games on the...

Registry SourceRecently Updated
Coding

Gitignore Gen

Generate .gitignore files for any project type using GitHub's 200+ official templates. Use when creating new projects, setting up repositories, needing to co...

Registry SourceRecently Updated
10Profile unavailable
Coding

ninebot-device-skill

九号电动车(Ninebot)车辆信息查询,支持九号电动车、九号电动摩托车,提供车辆开关机状态、车辆充电状态、车辆位置、车辆剩余电量、车辆剩余里程、车辆剩余充电时间等数据的查询功能

Registry SourceRecently Updated
3895Profile unavailable