online-content-collector
Installation
SKILL.md
技能:线上素材收集器 (Online Content Collector)
概述
此技能旨在实现从“发现链接”到“本地化存档”的完全自动化。它扫描 Obsidian 仓库中带有特定标签的链接,将其汇总并下载为包含文本、图片、视频及附件的完整本地 Markdown 存档。
核心配置解析
此技能依赖用户 Vault 根目录下的 AGENTS.md。Agent 在执行脚本前,必须首先读取此文件,并解析出以下路径:
下载列表目录位于: 用于传递给--list-dir。下载内容目录位于: 用于传递给--archive-dir。
核心工作流
第一阶段:扫描与汇总 (Discovery & Aggregation)
- 配置读取: Agent 读取
AGENTS.md,确定目标路径。 - 执行脚本: 调用
scripts/collect_links.py,传入--vault-path和--list-dir。 - 元数据提取与更新: 脚本扫描包含
#Marker-待下载的文件,提取time和source,生成 YAML 格式的任务列表[yyyy-mm-dd-hh 下载列表整理.md],并将原始文件标签更新为#Marker-下载中-YYYYMMDD。
第二阶段:用户确认 (User Confirmation)
- 停止并检查: Agent 输出 YAML 列表文件路径,等待用户确认。
第三阶段:执行下载与剪藏 (Execution & Archival)
- 执行脚本: 调用
scripts/process_downloads.py,传入--list-file和--archive-dir。 - 任务处理与分发:
- YouTube / X (Twitter): 使用
yt-dlp下载。请求最高画质,必须下载并保留全量 JSON 元数据(--write-info-json)。 - 未知站点: 如果无法识别域名或未配置下载方式,则直接标记为“下载失败(未识别站点)”,不进行尝试。
- YouTube / X (Twitter): 使用
- 隔离目录创建: 为每个下载任务创建独立目录,命名规范:
[YYYY-MM-DD-HH] {分类} {描述/ID}。 - 内容本地化:
- 主文档: 在目录下创建一个同名的
.md文件。 - 资产存放: 所有的
.mp4,.json,.jpg等资产全部存放在该任务目录下。 - 引用关联: Markdown 文件中使用本地相对路径链接同目录下的视频。
- 主文档: 在目录下创建一个同名的
第四阶段:状态汇报与闭环 (Reporting & Closing)
- 列表回写: 脚本在 YAML 列表中更新状态为“下载完成”或“下载失败”。
- 标签同步: Agent 根据脚本输出,将原始文件中的链接标签更新为
#Marker-已下载-YYYYMMDD。
依赖工具
- yt-dlp: 视频抓取。
- MarkItDown / Pandoc: 网页转 Markdown。
- ffmpeg: 视频合并。
最佳实践
- 路径对齐: 始终从
agents.md读取路径,不要硬编码。 - 元数据保留: 在剪藏的 Markdown 头部记录原始 URL 和收集时间。
- 异常容错: 下载失败时记录错误原因,不中断后续任务。
Related skills
More from cafe3310/public-agent-skills
weekly-report-writer
此技能通过综合 Obsidian 笔记库中的文档进度来起草周报。适用于用户希望基于最近创建的文件、上一份报告和项目背景文档生成每周摘要的场景。
51im-local-kb
IM 知识整理和分析技能,专注于从聊天记录中提取高价值的知识。
30project-learner
结构化交互式学习助手,当用户希望学习项目相关知识、特定代码文件或底层技术时使用此技能,它会将学习过程记录为持久化的 Markdown 日志。
24media-organizer
与用户协作,根据项目约定,将媒体文件目录组织成结构化、分类化和文档化的格式。
19doc-todo-log-loop
基于日志记录驱动的轻量级项目开发和管理方案。如果用户在项目章程提及,应使用此技能。
18project-design-concept-organizer
作为一个 doc-todo-log-loop 的补充技能,用于在开发过程中整理、归纳项目的设计理念、核心概念和架构模式。旨在将分散的开发决策和隐性知识转化为系统的设计文档。
15