ray-explainer
把文章或观点做成知识解说视频(默认竖屏,要求时出横屏;1.5–3 分钟,用 Ray 的复刻音色配音 + 字幕):真实画面优先(录屏、实拍、截图),近几期主要走 HyperFrames…
给定稿的文章或视频做带中文标题的封面:文章封面(公众号 2.33:1、X 16:9、X Article 5:2)用 Punk 风格库(MIT 版);视频封面(默认只出 3:4、默认小Lin风A;要时出 9:16 竖屏和 16:9 横屏)用 Ray 真人照片 + 大标题。都按 Ray 的黑白灰 + 墨绿 IP 编译提示词,默认用 OpenAI 图像 API 分平台生成(也可退回 Codex CLI 调 Image 2),能只改局部不重画。用于“做封面”“视频封面”“竖屏封面”“横屏封面”“换个风格再出一版”“封面标题改一下”。不做正文配图和视频画面。
$ npx -y skills add imraywang/rayskills --skill ray-cover --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ray-coverContext preview
The summary Claude sees to decide when to auto-load this skill.
给定稿的文章或视频做带中文标题的封面:文章封面(公众号 2.33:1、X 16:9、X Article 5:2)用 Punk 风格库(MIT 版);视频封面(默认只出 3:4、默认小Lin风A;要时出 9:16 竖屏和 16:9 横屏)用 Ray 真人照片 + 大标题。都按 Ray 的黑白灰 + 墨绿 IP 编译提示词,默认用 OpenAI 图像 API 分平台生成(也可退回 Codex CLI 调 Image 2),能只改局部不重画。用于“做封面”“视频封面”“竖屏封面”“横屏封面”“换个风格再出一版”“封面标题改一下”。不做正文配图和视频画面。
name: ray-cover description: 给定稿的文章或视频做带中文标题的封面:文章封面(公众号 2.33:1、X 16:9、X Article 5:2)用 Punk 风格库(MIT 版);视频封面(默认只出 3:4、默认小Lin风A;要时出 9:16 竖屏和 16:9 横屏)用 Ray 真人照片 + 大标题。都按 Ray 的黑白灰 + 墨绿 IP 编译提示词,默认用 OpenAI 图像 API 分平台生成(也可退回 Codex CLI 调 Image 2),能只改局部不重画。用于“做封面”“视频封面”“竖屏封面”“横屏封面”“换个风格再出一版”“封面标题改一下”。不做正文配图和视频画面。
把一篇定稿内容压成一张在信息流里一眼能认出的封面。Claude 负责读内容、写封面文案、选风格、编译每个平台的完整提示词、验收;生成默认走 OpenAI Images API(gpt-image-2.5-sunburst,约 40 秒、$0.07 一张),没有 key 或 `--backend codex` 时由 Codex CLI 调 Image 2。画面和中文由生图模型一次生成,不做无字底图再排字。
风格库来自 Adrian Punk 的 Punk Skill MIT 版(`assets/punk/`,来源和许可边界见 `assets/punk/NOTICE.md`)。之后的新版是付费商业授权,不拷进来。
`$SK` 指本 skill 目录。
**视频封面**(抖音、视频号、小红书的竖封面,以及 YouTube、视频号 / 抖音横屏视频的 16:9 横封面)走另一套:真人照片 + 大标题,见 [video-cover.md](references/video-cover.md)。默认只出 3:4(`xhs`)、默认风格小Lin风A;9:16 只在 Ray 明确要时出;各比例的安全区见同一文件。
下面第 5–7 步的生成、验收、交付照常适用;以下几步换成 video-cover.md 里的规则:
读完整正文;有成稿包时同时读一句话判断、核心冲突和传播句;视频封面读这期的口播母稿(vault 的 `40-发布/50-口播视频/`)或 ray-explainer 项目的 `script.json`(`title`、`central_judgment`、`publish`),两处任一即可。判断还没定的内容先交回 `ray-writer`,不用封面替文章拍板。
按 [cover-copy.md](references/cover-copy.md) 写三层:主标题(2–8 字)、副标题(补主标题没说的)、小字(一个硬事实或身份标签)。按内容类型换写法,三层之间不重复,不把文章标题拆开了事。
默认直接用最合适的一组出图,同时准备 1–2 组备选文案,交付时一起给 Ray。Ray 明确说「先给我看文案」时才停下来等确认。
按 [styles.md](references/styles.md) 挑一个风格。默认在 Anthropic Research、黑白灰先锋几何、纸面击凸压凹三个里按内容选;Ray 点名风格就用他点的;Ray 说「多出几个风格看看」就每个风格各出一版公众号尺寸。
每个平台一份,存到 `<封面目录>/prompts/<platform>.md`(文章:`wechat`、`x`、`x-article`;视频:`vertical`、`xhs`、`landscape`):
1. 读选定风格的 `assets/punk/styles/<style-id>/META.md` 和 `STYLE.md`,以及 `assets/punk/punk-cover/references/cover-prompt-blueprint.md`。 2. 按蓝图编译成一份完整的封面提示词:风格的材质、空间、标题处理、颜色和禁忌落到每个封面决定上,不把 STYLE.md 原文贴在后面。 3. 把 [ip.md](references/ip.md) 的颜色和禁用约束写进「Color, Material, and Texture」「Negative Constraints」两节。 4. 写明目标比例和像素、安全区、逐字文案(见 [platform-output.md](references/platform-output.md))。 5. 提示词里不写作者名或「xx style」,只描述视觉机制;不贴文章原文。
封面目录默认是 `<vault>/60-素材/10-图片/10-封面/<YYYY-MM-DD-主题>/`(`<vault>` 来自用户给的路径或 `.ray-obsidian.json`;没有知识库时放用户指定的工作区)。
python3 $SK/scripts/gen_cover.py <封面目录> --platforms wechat,x,x-article
脚本对每个平台各出一张图(并行),生成 `raw-<platform>.png`,比例对就等比缩放成 `<platform>-cover.png` 和 420px 缩略图,写 `manifest.json`;比例不对报错,不裁不拉。
只出一个平台或换风格试一版:`--platforms wechat`。
用 Read 看每张成品和缩略图:
用 SendUserFile 发成品,回复里写:用的风格和一句话视觉隐喻、这组文案、1–2 组备选文案、验收发现的问题(模型自加的字、颜色偏差)。Ray 要调整时,分两种:
8 个从真实业务中沉淀的 AI Skill:默认替你判断下一步,也能把稳定流程连续跑完。 rayskills 是一套给 Claude Code、Codex 等 AI Agent 使用的 builder 工具箱。它不是一堆“应该怎么想”的提示词,而是把真实工作中反复出现、容易犯错的流程,收敛成可以直接执行、可以验证、可以恢复的 Skill。 不用先记住 8 个名字。把处境交给 /ray: 下一步还不稳定时,它只选择此刻最该做的一步。 终点已经明确、阶段之间有正式交接时,它连续执行整条管线。
把文章或观点做成知识解说视频(默认竖屏,要求时出横屏;1.5–3 分钟,用 Ray 的复刻音色配音 + 字幕):真实画面优先(录屏、实拍、截图),近几期主要走 HyperFrames…
把灵感、观察或长文写成 Ray 能直接开机录的中文口播稿(Ray 口吻、观点说满,存疑处列进「待确认」);也审读口播稿,或对照录制稿学习 Ray…
新建、检查或适配面向内容生产的 Obsidian 知识库结构(资料、知识、选题、写作、发布、回流)。用于“搭一个 Obsidian 知识库”“把 vault 接入内容管线”“检查知识库结构”,或 ray-writer…
把定稿长文排成手机友好的公众号富文本并生成预览;Ray 明确同意后写入或更新公众号草稿箱并回读核对。用于“公众号排版”“推到公众号草稿箱”“更新微信草稿”。含糊说法先只做预览;不发布、不群发。
把灵感、剪藏、调研或草稿写成有 Ray 态度的中文长文(公众号 / X 长文),接入知识库的成稿与发布流程;也做带授权署名的译介稿。用于“写成文章”“写一篇公众号或 X 长文”“重写这篇”“翻译转载”。改口播转 ray-kb;不发布。
把完成的长文和 5:2 封面写进已登录的 X Articles 后台存为草稿,核对预览并把草稿地址回写知识库。用于“放进 X 后台”“存为 X Article 草稿”“推送到 X”。只存草稿:不点 Publish,不重复建同题草稿。