baocut
用 BaoCut 处理视频与音频:转录、字幕、翻译、配音、剪口播、切短视频、分章、总结写稿、从链接下载、压缩转码、导出成片,或从零做一条成片。有媒体文件、视频链接、字幕文件或…
用户要一份文档时用:报告、提案、计划、简历、求职信、信件、合同、制度、表单、模板、作文、手册、指南、操作说明、速查表这类要保留、共享、评论、导出或打印的文字。用 docs_* 工具在工作目录建一份文档,先发骨架再一节一节填,线程里出现文档卡片,用户在功能区编辑与评论。也用于按文档评论或请求改已有文档。聊天里问的计划、对比、摘要留在聊天;幻灯片用 slides,视觉设计用 design。
$ npx -y skills add JimLiu/baocut --skill docs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/docsContext preview
The summary Claude sees to decide when to auto-load this skill.
用户要一份文档时用:报告、提案、计划、简历、求职信、信件、合同、制度、表单、模板、作文、手册、指南、操作说明、速查表这类要保留、共享、评论、导出或打印的文字。用 docs_* 工具在工作目录建一份文档,先发骨架再一节一节填,线程里出现文档卡片,用户在功能区编辑与评论。也用于按文档评论或请求改已有文档。聊天里问的计划、对比、摘要留在聊天;幻灯片用 slides,视觉设计用 design。
name: docs description: 用户要一份文档时用:报告、提案、计划、简历、求职信、信件、合同、制度、表单、模板、作文、手册、指南、操作说明、速查表这类要保留、共享、评论、导出或打印的文字。用 docs_* 工具在工作目录建一份文档,先发骨架再一节一节填,线程里出现文档卡片,用户在功能区编辑与评论。也用于按文档评论或请求改已有文档。聊天里问的计划、对比、摘要留在聊天;幻灯片用 slides,视觉设计用 design。 version: 1.0.0
一份文档是会话工作目录里的一个目录 `<doc>/`(`doc.json`、每个标签页一份 `tabs/<id>.json`、`comments.json`、`assets/`),在功能区的文档标签里用文档编辑器打开:用户在里面直接改字、评论、勾选任务、选下拉项,改动即时保存。**这些文件全部归 BaoCut**:绝不用文件工具或 shell 读写它们,只用 docs_* 工具;你的修改即时出现在用户开着的编辑器里。
文档里有标签页(tab),每个标签页有一份正文(prose):段落、标题、列表、任务、表格、引用、代码块、图片与 chip(日期、提及、下拉选项、待填块)。**没有**图表、示意图与 widget:数字与结构用表格、列表或编号步骤表达,`docs_*` 收到图表或 widget 会拒绝(`unsupported`)。
每个工具都带 `doc`:文档目录,相对工作目录(例如 `q3-launch-plan`)。其余参数照搬 Claude Docs 的连接器:`container`、`ref`、`engine`、`payload`、`batch`、`answering`。
下文 `C` = `{"kind":"project","id":"<文档 id>"}`(文档 id 在新建的回执与 docs_read 的结果里);ids 都是**一个**示例:用你自己读到的。
用户要一份文档(哪怕是用问句问的)→ 一份文档,绝不把正文贴在聊天里;一个简单问题 → 聊天里答。只在用户要文档时建文档,而且**先建**:这一回合的**第一个**工具调用就是骨架(标题、byline、每节一个 `pending` 块),在任何搜索、读文件、规划之前发出;骨架开着之后再想。
docs_batch(
doc = "q3-launch-plan",
container = {"kind":"project","create":{"name":"Q3 launch plan",
"doc":{"blocks":{"asof":{"type":"date","value":"2026-09-04"},
"me":{"type":"mention","user":"me"},
"due":{"type":"date","value":"2026-09-29"},
"s1":{"type":"pending","intent":"Goals: the three outcomes this quarter commits to"},
"s2":{"type":"pending","intent":"Staffing: who owns each workstream"},
"s3":{"type":"pending","intent":"Open questions: checking the launch thread and last week's notes"}},
"markdown":"# Q3 launch plan\n\n<?claude block asof?> · <?claude block me?>\n\nQ3 ships the connector to all workspaces and takes weekly active teams to 500 by <?claude block due?>.\n\n<?claude block s1?>\n\n<?claude block s2?>\n\n<?claude block s3?>"}}},
batch = [])docs_update( doc = "q3-launch-plan", ref = {"object":"node","id":"<lids.n>"}, engine = "prose", container = C,
payload = {"ops":[
{"op":"replace","target":{"kind":"blocks","ids":["kq2b7w3m9pa.105"]},
"with":{"from":{"kind":"inline","content":"## Goals\n\n- Ship the connector to every workspace\n- 500 weekly active teams by GA"},"as":"markdown"}} ]} )`ref` 是正文 **node**(`lids.n`),绝不是块 id;pending 块的 id 放 `target.ids`;pending 块的填充不需要 guard。回执给出新标题与正文的 id(之后改它们用这些 id,不再用 pending id),一条 `pending_ended` 通知说明它了结了哪个 pending 块。
在**那份**文档上改,也就是用户或本次对话指明的那个目录(线程里的一张文档卡片、一个路径、一个 Space 条目):绝不另建一份。只改被要求改的,其余每个字保持原样;事实只来自文档、用户与评论者。
docs_read( doc = "q3-launch-plan" )
→ files:[{id:"afc001d0-ce07", name:"Q3 launch plan", content:{kind:"node", id:"be1476b2-62c1", engine:"prose"}}](标签页 id、正文 id)
docs_read( doc = "q3-launch-plan", ref = {"object":"node","id":"be1476b2-62c1"}, engine = "prose", container = C, payload = {"projection":"outline"} )
→ <doc rev='12'><paragraph id='mq2x81a0kfd.0' heading='1'>Q3 launch …</paragraph><paragraph id='.16' h='cddc588b'>Q3 ships …</paragraph><list id='.40' kind='bullet'><gap blocks='2'/></list><table id='.90'>…
docs_update( doc = "q3-launch-plan", ref = {"object":"node","id":"be1476b2-62c1"}, engine = "prose", container = C,
payload = {"ops":[
{"op":"replace","target":{"kind":"find","text":"500 weekly active teams"},
"with":{"from":{"kind":"inline","content":"750 weekly active teams"},"as":"text"}},
{"op":"insert","target":{"kind":"blocks","ids":["mq2x81a0kfd.90"]},"side":"after",
"source":{"from":{"kind":"inline","content":"## Risks\n\n- GA slips if legal review runs long"},"as":"markdown"}} ]} )BaoCut: an AI video agent with an editable timeline. Transcribe, subtitle, translate, dub, cut and animate.
Repo: JimLiu/baocut
用 BaoCut 处理视频与音频:转录、字幕、翻译、配音、剪口播、切短视频、分章、总结写稿、从链接下载、压缩转码、导出成片,或从零做一条成片。有媒体文件、视频链接、字幕文件或…
用户要给视频做封面、要封面大字,或要标题和封面一起出时用:读文稿提炼卖点,给几组标题与封面文案,用户挑定后按视频画幅生成封面图,放进这个视频的候选素材。每句都由视频兑现。只要标题或简介、不…
用户问「我哪一期讲过 X」「这几部视频里谁说过 Y」「X 在我的视频里是怎么讲的」「有哪些讲 X…
用户要建立或修改设计系统时用:品牌的颜色、文字样式、间距与圆角 tokens,给智能体看的品牌手册 README,bundle…