用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/infometa/workbuddyskills --skill design命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
快速生成公司一页纸概览(Tearsheet),涵盖业务描述、关键财务、估值、股东结构和近期催化。 触发词:公司速览、tearsheet、公司概况、一页纸、公司简介、company overview、快速了解、公司画像
构建DCF现金流折现模型和三表财务模型(利润表、资产负债表、现金流量表联动)。 触发词:DCF、现金流折现、财务建模、三表模型、估值模型、WACC、自由现金流、financial model、valuation model
盈利分析技能,支持两种模式: - Preview 模式:业绩发布前的前瞻分析、情景假设、关键观测指标 - Analysis 模式:业绩发布后的深度解读、Beat/Miss 分析、估计修正 触发词:earnings analysis、earnings preview、业绩分析、业绩前瞻、财报分析、季报解读、pre-earnings、post-earnings、Q1/Q2/Q3/Q4 results
基于 SOC 职业分类
正在显示 SKILL.md
| name | design |
| description | 设计感图文视频本地生成能力——按版式模板填文案,ImageGen 出背景图,配旁白,本地渲染成有设计感的图文短视频。 |
本 skill 的脚本在本 SKILL.md 所在目录下的 scripts/。而你的 shell 工作目录是用户工作目录(沙箱),不是插件目录——所以不能用相对路径。
每次会话先设一次(把路径换成加载本技能时告知你的 SKILL.md 绝对路径的所在目录):
SKILL_DIR="<你的 SKILL.md 所在目录>" # 形如 .../plugins/vibeknow-design-video/skills/design
下文所有命令都用 "$SKILL_DIR/scripts/xxx.mjs"。(产物目录 JOBDIR 仍然要落在当前工作目录下——沙箱只允许写这里。)
可用的版式(layout)、每个版式的 slot 字段(名称/类型/是否必填/字数上限/是否需要背景图)、可用主题(theme),都在 render-bundle/manifest.json 里——这是唯一的真源,出片前先读它,不要凭记忆猜字段名。
render-bundle/manifest.json 在插件根目录下(.../vibeknow-design-video/render-bundle/manifest.json,与 skills/ 同级,不在 skills/design/scripts/ 下);run.mjs/check-slots.mjs 内部用相对路径自动定位它,不需要手动 cd 去找或手动传路径,直接用默认值即可。
免费/完整门禁(单 bundle,双 manifest):
hero1/hero2/quote1/list1/bigNumber1/sectionBreak1/end1 等),无需连接即可任选,字段以 manifest 为准。serious-dark(严肃深色)1 个;连接 VibeKnow(免费)后解锁完整 50 个主题(每个主题带 desc/tags,覆盖商务、科技、文艺、活泼等多种氛围)。check-slots/render 拦下,据此顺势引导。前提:需安装 Node.js >= 16(脚本使用 ES modules 和 top-level await)。
本专家以「纯源码」分发,运行依赖(@remotion/renderer 渲染引擎、chrome-headless-shell、edge-tts)在首次使用时自动装进包内:
node "$SKILL_DIR/scripts/run.mjs" init(已装则秒过;chrome 下载失败不致命,首次渲染会自动补下)。
skills/design/scripts/node_modules(含 chrome 缓存)。run.mjs)+ Bash 调用;生图靠 ImageGen(宿主内置能力,不在本 skill 脚本里)。一次生成 = 一个 job 目录 JOBDIR(建在当前工作目录下,形如 ./<主题>-<时间戳>/;沙箱只许写这里)。目录内固定布局,全部用两位屏号 NN 同号绑定:
<JOBDIR>/
01.scene.json 01.bg.jpg 01.mp3 ← 第1屏:场景定义(layout/slots/themeId) / 背景图(可选) / 旁白(可选)
02.scene.json 02.bg.jpg 02.mp3 ← 第2屏 …
scenes.json ← build-manifest 生成的合成清单(资源已转 data:URI)
成片.mp4 ← 出片(render),交付给用户的唯一产物
NN.scene.json 结构:{ "layout": "<layoutId>", "slots": { ... }, "themeId": "<主题id>", "durationInFrames": 120 }(durationInFrames 可选,不给则有音频按音频时长换算、无音频用默认值)。NN.scene.json、背景图 NN.bg.jpg(或 .png)、旁白 NN.mp3 必须同一个 NN。NN.* 后重新 build-manifest + 渲染。按 manifest 的 slot schema 写好每屏的 NN.scene.json。所有屏写完后先校验,再出图——出图是较重的一步,先在本地把文案校验过一遍,避免无效重出:
node "$SKILL_DIR/scripts/check-slots.mjs" <JOBDIR>
maxItems / 缺必填)→ 打印每屏的问题列表,退出码 4。按提示改文案重跑,或换一个有对应 slot 的 layout。不要跳过这一步直接出图。needsImage: "required" 表示该版式支持背景图。默认每屏用 ImageGen 按主题氛围 + 该屏内容出一张背景图,存成 <JOBDIR>/NN.bg.png 或 NN.bg.jpg(同号,两种后缀 build-manifest 都认;ImageGen 常出 PNG,直接存 .png 即可)。每屏一张背景图是设计感效果的关键,和线上一致。NN.bg.png 用同一张或 scenes 里各屏 bgUrl 指向同一图)。agent 可主动把这个选项提给用户。node "$SKILL_DIR/scripts/run.mjs" tts "<旁白文案>" --out <JOBDIR>/NN.mp3(默认微软 edge-tts,免费/免登录)。纯视觉屏可不配。node "$SKILL_DIR/scripts/run.mjs" build-manifest <JOBDIR>
→ 生成 <JOBDIR>/scenes.json:按 NN 把 NN.scene.json 展开为场景,NN.bg.jpg/NN.mp3 若存在会自动 base64 成 data: URI 写入 bgUrl/audioUrl(不要自己手动 base64,也不要在本地起 server 提供文件)。缺 NN.scene.json 的号会报错。
# 出片(mp4)—— 交付给用户的唯一产物
node "$SKILL_DIR/scripts/run.mjs" render <JOBDIR>/scenes.json <JOBDIR>/成片.mp4
只交付 mp4,不要产出 HTML 预览:WorkBuddy 里播放 HTML 没有声音,给用户就是坑。 (
run.mjs preview仍保留为内部/调试能力,但不要用它作为交付物。)
成片.mp4 只有渲完才会出现(脚本先渲临时文件、ffprobe 校验后才原子改名),渲染期间它不存在,命令超时不要重跑(进程还在后台跑),改为轮询文件是否出现。scenes.json(和 check-slots 同一套规则),不合格会直接报错不出片。NN.scene.json(或替换 NN.bg.jpg/NN.mp3)→ 回到第 1 步重新走一遍(check-slots → 出图/出音 → build-manifest → render)。NN.*,build-manifest 会按目录下现有全部 NN 重新生成 scenes.json。版式全部免费(53 个,无需连接);主题默认只有 serious-dark。用户想要更多主题风格时,按以下流程引导:
verify_connection(门禁在连接本身,成功即代表已登录;完整 manifest 早已随插件在本地,无需下载)。node "$SKILL_DIR/scripts/run.mjs" unlock
成功输出 { "status": "unlocked", "themes": 50 };之后 render/check-slots 自动可用全部 50 个主题(版式本来就全免费,不受影响)。这一步只是在本地翻一个标记文件(render-bundle/manifest.full.json 早已随插件分发,和渲染包永远同版本),不下载、不联网,不会失败。校验门禁:若用户指定了免费主题外的主题,check-slots/render 会报错,报错文案已内置引导("该主题属完整主题库,连接 VibeKnow(免费)即可解锁 50 个主题"),据此顺势引导用户走上面的流程,不用你自己编话术。
强调:连接仅为解锁完整主题库(拉新),免费流程(全部 53 版式 + serious-dark 主题)全程无需连接、完全可用;旁白默认走 edge-tts(免费),不受影响;单 bundle 模型下 render-bundle/bundle 及免费/完整两份 manifest(manifest.json/manifest.full.json)都随插件一起分发,永远同版本,unlock 只是本地翻一个标记,不下载、不会有版本对不上的问题。
出图走 ImageGen(宿主内置的通用生图能力);check-slots/build-manifest/render 都是纯本地脚本;旁白默认微软 edge-tts,免连接。本插件 v1 无需连接 VibeKnow 即可完整跑通"全部版式 + serious-dark 主题"的免费流程;连接仅用于解锁完整 50 主题。
NN.scene.json 的字段名、必填项、字数上限、maxItems 一律以 render-bundle/manifest.json 里对应 layout 的 slots 定义为准,不要自造字段。scenes.json 由 build-manifest 生成,不要手写——手写容易漏 durationInFrames/资源 URI 转换,或把图/音配到错的屏。(以下由 AI 在实际使用中自动积累,请勿手动删除。遇到反复出错的点,简短记一条,供后续参考。)
scenes.json——渲染引擎只吃 data: URI 或远程 URL,本地路径会渲染失败或黑图;一律经 build-manifest 自动转换。check-slots 过一遍再出图,避免文案不合格反复重出。