Agent skill

Video To Note

by like-attract in like-attract/video-to-note

Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service.

MITAuto-check passedKnowledge Management

Install Video To Note

skills CLI
$ npx skills add like-attract/video-to-note --skill video-to-note -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install like-attract/video-to-note video-to-note --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/like-attract/video-to-note.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/video-to-note .claude/skills/video-to-note && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
video-to-note
GitHub stars
123
Token cost
~1k tokens
SKILL.md length
171 words
Files
2 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service.

  • Works in 5 steps: 健康检查:GET /api/health → 提交任务 → 轮询:GET /api/task/{task_id},直到 status 变为… → …
  • The user asks to summarize a video
  • SKILL.md covers 先选路线, 第 0 步:确认服务在运行, 推荐方式:用附带脚本一条命令完成 and 需要用户提供的信息, plus 2 more sections
  • Runs Python scripts from its folder; calls python and curl; reaches bilibili.com; needs VIDEOTONOTES_LLM_API_KEY

What it does

Video To Note is an agent skill from like-attract/video-to-note. Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service. Use when the user asks to summarize a video, turn a video/lecture/talk into notes, extract video content or a transcript, or mentions VideoToNo.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/video_note.py`).

It sits in Knowledge Management, covering Video and podcast notes and Note-taking. It works with Bilibili, Douyin, YouTube and Model Context Protocol. The repository describes itself as: 本地优先的视频→结构化笔记服务:B站/抖音/本地视频,平台字幕+本地离线转写,LLM 生成带时间轴笔记;桌面应用 / MCP / Agent Skill 三种接入。 The licence is MIT.

When your agent uses it

  • The user asks to summarize a video
  • Turn a video/lecture/talk into notes
  • Extract video content
  • Mentions VideoToNo

Example prompts

  • “/video-to-note”

Requirements

  • Python 3
  • A credential in VIDEOTONOTES_LLM_API_KEY

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. 健康检查:GET /api/health
  2. 提交任务
  3. 轮询:GET /api/task/{task_id},直到 status 变为 completed / failed / cancelled(logs 数组是实时运行日志)。转录任务的 result 里没有 markdown,result.output 是…
  4. 取结果
  5. 取消运行中的任务:POST /api/task/{task_id}/cancel(秒级生效)

What it can do on your machine

Read from SKILL.md and the folder at commit aa29ca2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • bilibili.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • VIDEOTONOTES_LLM_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Video To Note loads about 1k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 171 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from like-attract/video-to-note at commit aa29ca2, republished under its MIT licence (© like-attract). 171 words, ~1,040 tokens.

Download SKILL.mdSave it as .claude/skills/video-to-note/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
video-to-note
description
Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service. Use when the user asks to summarize a video, turn a video/lecture/talk into notes, extract video content or a transcript, or mentions VideoToNo.

VideoToNo · 视频笔记生成

通过本机运行的 VideoToNo 服务,把视频变成带时间轴的 Markdown 笔记:优先读取平台字幕(B 站 AI 字幕深度适配,支持多分 P 合并),没有字幕时用本地 faster-whisper 离线转写,最后由已配置的大模型生成笔记。

先选路线

你要什么走哪条需要 API Key
带时间轴的转录原料,笔记结构与风格你自己定转录路线 --transcript-only不需要
一份现成的成品笔记(用户只要"给我笔记",或视频很长希望后台跑完)笔记路线 --style需要(本机按接口地址保存过即可省略)

你自己就有模型可以写笔记时,优先走转录路线:本机只负责取字幕或离线转写,写作由你完成,不用向用户索要 Key,也不会被套进固定的笔记模板。

第 0 步:确认服务在运行

服务监听 127.0.0.1 的 8000-8019 中的一个端口。逐个探测健康检查:

bash
curl -s --max-time 2 http://127.0.0.1:8000/api/health
# 期望返回 {"status":"ok","service":"VideoToNo",...}

全部端口不通时:请用户启动 VideoToNo(便携版 exe,或源码目录执行 python launcher.py),启动后重试。不要替用户猜端口以外的地址。

推荐方式:用附带脚本一条命令完成

bash
# 转录路线(默认推荐,零配置)
python "<本技能目录>/scripts/video_note.py" "<视频链接或本地文件路径>" --transcript-only --wait 1800

# 笔记路线(一键成品)
python "<本技能目录>/scripts/video_note.py" "<视频链接或本地文件路径>" --style detailed --wait 1800

脚本会自动:探测服务端口 → (本地文件先上传)→ 提交任务 → 轮询进度(实时打印运行日志)→ 输出完整 Markdown。

  • --transcript-only:只做到转录为止,不调用大模型;此模式默认复用同链接已有的转录(秒回),加 --no-reuse 才强制重新转写
  • --style:detailed(翔实+点评,默认)/ faithful(忠实复原)/ concise(精简摘要)
  • --wait:最长等待秒数,默认 1800;长视频(>30 分钟)建议加大
  • --out <path.md>:把结果写入文件(不加则打印到 stdout)
  • 服务未运行、API Key 未配置、任务失败时都会给出明确的中文提示,按提示向用户询问即可

需要用户提供的信息

  • API Key:只有笔记路线需要,而且大概率不用你拿。本机为某个接口地址保存过 Key(网页端「保存到本机」或 MCP 的 save_llm_config)时直接省略即可;只存过一个地址时脚本会自动沿用该通道,存了多个则不会猜。任务失败点名"该接口地址没有可复用的 Key"时,先问用户能不能改走 --transcript-only(全程不调用大模型、不需要 Key,整理成稿由你这边完成)。用户坚持要成品笔记再问供应商(deepseek/openai/qwen/glm/moonshot/custom)与 Key,并按下面这种形式传,custom 另加 --base-url / --custom-model:

    bash
    # 推荐:Key 从标准输入进来,不落 shell 历史也不进进程命令行
    printf '%s\n' "<用户给的 Key>" | python scripts/video_note.py "<链接>" --provider deepseek --api-key -
    # 或者用环境变量(同一条命令里赋值同样会留在历史里,长期会话请设为环境变量)
    VIDEOTONOTES_LLM_API_KEY=... python scripts/video_note.py "<链接>" --provider deepseek

    不要把 Key 写成 --api-key sk-xxx:命令行参数会留在 shell 历史、进程列表和 agent 的工具调用日志里,同用户的任何进程都能读到。脚本已把"看到的凭据一律换成掩码"作为兜底(自己发的告警、服务端回显的 4xx 详情都会洗),但兜底不等于源头干净。已保存的 Key 只在目标地址一致时复用,不会被发给别的网关。

  • 本地文件上传上限 2GB;大视频(默认 ≥300MB)未要求截图时服务端会自动只保留音频。

手动走 API(需要自定义流程时)

  1. 健康检查:GET /api/health

  2. 提交任务:

    bash
    # 转录路线:请求体里没有任何大模型字段
    curl -s -X POST http://127.0.0.1:8000/api/transcribe \
      -H "Content-Type: application/json" \
      -d '{"video_url": "https://www.bilibili.com/video/BVxxxx", "whisper_model": "base"}'
    # B 站多 P 视频可加 "bilibili_pages": [2, 3] 只转写指定分 P(缺省跟随链接 ?p=,没有则全部)
    
    # 笔记路线
    curl -s -X POST http://127.0.0.1:8000/api/summarize \
      -H "Content-Type: application/json" \
      -d '{
        "video_url": "https://www.bilibili.com/video/BVxxxx",
        "summary_style": "detailed",
        "llm_config": {"model_type": "deepseek", "api_key": "sk-..."}
      }'
    # 都返回 {"task_id": "..."};本地文件改为先 POST /api/upload 拿 upload_task_id

    上面的 "api_key": "sk-..." 只是字段示意。真发请求时这条 curl 命令同样会留在 shell 历史里:能省略就省略(后端按 Base URL 复用本机已保存的 Key),必须带时用 -d "{...\"api_key\": \"$VIDEOTONOTES_LLM_API_KEY\"...}" 这类形式,别把 Key 写成字面量。

  3. 轮询:GET /api/task/{task_id},直到 status 变为 completed / failed / cancelled(logs 数组是实时运行日志)。转录任务的 result 里没有 markdown,result.output 是 "transcript"

  4. 取结果:

    • 笔记路线:result.markdown 是完整笔记
    • 转录路线:GET /api/task/{task_id}/transcript?output_format=markdown 拿整篇 [MM:SS-MM:SS] 正文,output_format=json 拿分段数组(时间为秒)。该端点默认 json,MCP 的 get_transcript 默认 markdown,两边都建议显式传
    • 两条路的 result.output_directory 都是产物目录(notes.md / transcript.json / transcript.md);超长内容建议直接读该目录下的 transcript.json 自行切片,不必整篇塞进上下文
  5. 取消运行中的任务:POST /api/task/{task_id}/cancel(秒级生效)

注意事项

  • 服务只监听本机回环地址,外部机器无法访问;这是设计使然(隐私边界)
  • 默认同时只处理 1 个任务,不要并行提交多个
  • 任务产物保留在 workspace 下,重复提交同一在线链接会自动复用已有转录(更快、更省 token)
  • 已经走完转写的历史任务都能用 /api/task/{id}/transcript 取转录,包括后来生成笔记失败的——不必重跑

© like-attract, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/video-to-note of like-attract/video-to-note.

  • SKILL.md
  • scripts/video_note.py

Open the folder on GitHubat commit aa29ca2

Compare with similar skills

Video To Note next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Video To Note compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Video To Note this skilllike-attract/video-to-note123—~1kAutomated safety check: PassMIT
Multi-Source to NotebookLM Processorjoeseesun/qiaomu-anything-to-notebooklm6.2k—~3.6kAutomated safety check: PassMIT
Video SummaryLeoYeAI/openclaw-master-skills2.2k—~4.2kAutomated safety check: PassMIT
Media To TranscriptbozhouDev/video-skills-toolkit150—~1.8kAutomated safety check: NotesMIT
Video To NotesKIRVO-REPORTING/video-to-notes105—~1.5kAutomated safety check: PassMIT
YouTube Talk Notetakerdair-ai/dair-academy-plugins614—~2.3kAutomated safety check: PassMIT

Similar skills

  • Multi-Source to NotebookLM Processor

    joeseesun/qiaomu-anything-to-notebooklm

    Collects content from WeChat articles, web pages, YouTube, podcasts, documents and more, uploads it to NotebookLM and generates podcasts, slides or mind maps.

    6.2k GitHub stars~3.6k tokensUpdated 4 days ago
    Knowledge ManagementAuto-check passed
  • Video Summary

    LeoYeAI/openclaw-master-skills

    Video summarization for Bilibili, Xiaohongshu, Douyin, and YouTube.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Media To Transcript

    bozhouDev/video-skills-toolkit

    Convert audio/video URLs or local media into corrected Markdown transcripts through Volcengine recording-file ASR 2.0.

    150 GitHub stars~1.8k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Video To Notes

    KIRVO-REPORTING/video-to-notes

    Use immediately for any bare YouTube or YouTube Shorts URL, youtu.be link, Bilibili or b23.tv link, or other video URL; do not ask what the user wants.

    105 GitHub stars~1.5k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • YouTube Talk Notetaker

    dair-ai/dair-academy-plugins

    Converts a YouTube talk into a markdown study note with slide images, a timestamped transcript and editable notes, browsable through a small local server.

    614 GitHub stars~2.3k tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • Learning Notes Automation

    chubbyguan/chubbyskills

    学习笔记自动化:视频/播客转录 → 知识点提取 → 闪卡生成 → 知识图谱更新。触发词:学习笔记、闪卡、Anki、知识提取、视频学习

    1.2k GitHub stars~898 tokensUpdated yesterday
    Media & CreativeAuto-check passed

Questions about Video To Note

What does Video To Note do?

Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service. Video To Note is an agent skill from like-attract/video-to-note. Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service.

When should I use Video To Note?

Video To Note fits situations like: the user asks to summarize a video; turn a video/lecture/talk into notes; extract video content; mentions VideoToNo.

How do I install Video To Note in Claude Code?

Run `npx skills add like-attract/video-to-note --skill video-to-note -a claude-code`. Or copy the skill folder (skills/video-to-note in like-attract/video-to-note) into .claude/skills/video-to-note in your project. Claude Code loads it when a task matches its description.

How do I install Video To Note in Codex?

Run `npx skills add like-attract/video-to-note --skill video-to-note -a codex`. Or copy the skill folder (skills/video-to-note in like-attract/video-to-note) into .agents/skills/video-to-note in your project. Codex loads it when a task matches its description.

Can I use Video To Note in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add like-attract/video-to-note --skill video-to-note -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video-to-note, .gemini/skills/video-to-note, .github/skills/video-to-note and .opencode/skills/video-to-note in your project.

What does Video To Note need to run?

Going by SKILL.md and its folder, Video To Note needs Python for the scripts in its folder, the command-line tools its instructions call (python and curl) and credentials named VIDEOTONOTES_LLM_API_KEY. Our summary lists: Python 3; A credential in VIDEOTONOTES_LLM_API_KEY.

Does Video To Note access the network?

SKILL.md names 1 domain. In commands or code: bilibili.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Video To Note safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Video To Note use?

Video To Note is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Video To Note use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Video To Note?

Skills that share tags, products or a category with Video To Note: Multi-Source to NotebookLM Processor (joeseesun/qiaomu-anything-to-notebooklm, 6.2k stars), Video Summary (LeoYeAI/openclaw-master-skills, 2.2k stars), Media To Transcript (bozhouDev/video-skills-toolkit, 150 stars) and Video To Notes (KIRVO-REPORTING/video-to-notes, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Video To Note?

like-attract (a GitHub user) maintains it in like-attract/video-to-note, which has 123 GitHub stars. The repository was last updated on October 4, 2026.

Source: like-attract/video-to-note on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.