AgentSkillsCN

video-learning-notes

用于创建视频学习笔记的Skill。接收视频链接(支持B站、YouTube等),自动提取视频信息,在资源学习/视频学习/目录下按视频创建独立文件夹,包含Obsidian格式的Markdown笔记文件和字幕文件。

中文原作
SKILL.md
--- frontmatter
name: video-learning-notes
description: 用于创建视频学习笔记的Skill。接收视频链接(支持B站、YouTube等),自动提取视频信息,在资源学习/视频学习/目录下按视频创建独立文件夹,包含Obsidian格式的Markdown笔记文件和字幕文件。

视频学习笔记创建器

功能概述

接收视频链接,自动识别平台(B站、YouTube等),提取视频ID,为每个视频创建独立的文件夹,包含结构化的学习笔记Markdown文件和字幕文件。

使用时机

当用户需要:

  • 保存视频学习资料时
  • 创建带有YAML frontmatter的视频笔记时
  • 归档B站、YouTube等平台的教学视频时

支持的链接格式

平台链接示例提取ID
Bilibili (B站)https://www.bilibili.com/video/BV1xx411c7mDhttps://b23.tv/BV1xx411c7mDBV号
YouTubehttps://www.youtube.com/watch?v=xxxxxhttps://youtu.be/xxxxx视频ID

工作流程

1. 接收用户输入

用户需提供:

  • 视频链接(必需)- B站或YouTube链接
  • 视频标题(可选)- 如未提供,通过网络搜索自动获取

2. 解析链接提取ID

B站链接处理:

code
输入: https://www.bilibili.com/video/BV1xx411c7mD
提取: BV1xx411c7mD

输入: https://b23.tv/BV1xx411c7mD  
提取: BV1xx411c7mD

YouTube链接处理:

code
输入: https://www.youtube.com/watch?v=AbCdEfGhIjK
提取: AbCdEfGhIjK

输入: https://youtu.be/AbCdEfGhIjK
提取: AbCdEfGhIjK

3. 获取视频标题

方式一:用户提供 如果用户直接提供了标题,直接使用。

方式二:网络搜索获取(推荐) 如果用户未提供标题,执行网络搜索:

  • B站:搜索 bilibili BV号b站 BV号
  • YouTube:搜索 youtube 视频ID

从搜索结果中提取视频标题,填入YAML和正文。

4. 创建视频学习目录

目录结构:

code
资源学习/视频学习/
└── {视频ID}/                    # 视频专属目录
    ├── index.md                 # 笔记主文件
    └── subtitle.lrc             # 字幕文件(用户后续放入)

示例:

code
资源学习/视频学习/
├── BV1KtHCzzE53/
│   ├── index.md
│   └── subtitle.lrc
├── BVxxxxxxxxxx/
│   ├── index.md
│   └── subtitle.lrc
└── ...

5. 创建Markdown笔记文件

文件位置: 资源学习/视频学习/{视频ID}/index.md

文件内容模板:

markdown
---
title: {视频标题或留空}
platform: {bilibili|youtube}
video_id: {提取的ID}
url: {原始链接}
tags: [视频学习, 待分类]
status: 未开始
created: {YYYY-MM-DD}
---

# {视频标题}

> 来源: [{平台名}]({原始链接})

## AI 字幕解读

<!-- AI 对视频字幕内容的分析和解读(AI 可填充此区域) -->

### 核心观点提炼

<!-- 列出视频的核心观点和主要论点 -->

### 内容结构分析

<!-- 分析视频内容的组织结构和逻辑 -->

### 关键论据与例证

<!-- 提取视频中的重要论据、案例和数据 -->

### 观点评价与反思

<!-- 对视频观点的批判性思考和评价 -->

---

## 学习笔记

<!-- 用户个人学习区域(AI 请勿修改以下内容) -->

### 关键知识点

<!-- 在此处记录视频中的关键知识点 -->

### 时间戳记录

<!-- 按时间记录重要内容 -->
- 00:00 -

### 个人思考

<!-- 记录自己的理解和思考 -->

### 待办事项

- [ ] 观看视频
- [ ] 整理笔记
- [ ] 实践练习

### 相关资源

<!-- 链接到相关资料、笔记等 -->

6. 执行步骤

  1. 提取ID:从链接中解析出视频唯一标识
  2. 获取标题:通过网络搜索获取视频标题(如用户未提供)
  3. 创建目录:创建 资源学习/视频学习/{视频ID}/ 目录
  4. 检查文件:确认该目录下是否已存在 index.md
  5. 创建文件:如果不存在,创建 index.md 文件
  6. 创建字幕占位:创建空的 subtitle.lrc 文件(用户后续替换)
  7. 填充模板:使用上述模板填充内容(包含搜索到的标题)
  8. 确认完成:向用户报告创建结果,提示字幕文件位置

示例

用户输入:

code
链接: https://www.bilibili.com/video/BV1xx411c7mD
标题: Python入门教程

执行结果:

  • 创建目录: 资源学习/视频学习/BV1xx411c7mD/
  • 创建笔记: 资源学习/视频学习/BV1xx411c7mD/index.md
  • 创建字幕占位: 资源学习/视频学习/BV1xx411c7mD/subtitle.lrc
  • YAML frontmatter包含平台、ID、链接、标签等元数据
  • 正文包含视频信息、字幕区域、笔记区域、待办清单等结构

注意事项

  1. 如果目录已存在,提醒用户避免覆盖
  2. 标题为可选,未提供时保留空字符串或占位符
  3. 自动添加当前日期到 created 字段
  4. 标签默认包含 视频学习待分类,用户可在Obsidian中后续修改
  5. 字幕文件:用户需手动将 .lrc 字幕文件放入同目录,命名为 subtitle.lrc
  6. 文档结构
    • AI 字幕解读:AI 可分析 subtitle.lrc 并填充此区域
    • 学习笔记:用户个人区域,AI 不应修改
  7. 未来扩展:可在视频目录中添加 cover.jpg(封面)、screenshots/(截图)等