Ray Cover logo

Ray Cover

Community
imraywang
ray-cover

给定稿的文章或视频做带中文标题的封面:文章封面(公众号 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),能只改局部不重画。用于“做封面”“视频封面”“竖屏封面”“横屏封面”“换个风格再出一版”“封面标题改一下”。不做正文配图和视频画面。

Overview

Publisherimraywang
Repositoryrayskills
Skill nameray-cover
Stars
330
Forks
39
Bundled files
75
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 75 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by imraywang on GitHub. Read the source before you install it.

Installation

Install the Ray Cover AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/imraywang/rayskills/tree/main/skills/ray-cover
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/imraywang/rayskills.git /tmp/rayskills
mkdir -p .claude/skills
cp -r /tmp/rayskills/skills/ray-cover .claude/skills/ray-cover
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ray Cover in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ray Cover on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ray Cover is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Ray Cover

把一篇定稿内容压成一张在信息流里一眼能认出的封面。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。默认只出 3:4(xhs)、默认风格小Lin风A;9:16 只在 Ray 明确要时出;各比例的安全区见同一文件。

下面第 5–7 步的生成、验收、交付照常适用;以下几步换成 video-cover.md 里的规则:

  • 第 2 步的文案换成 video-cover.md「文案」。小Lin风A 是超大关键词 + 一行中文 + 一行小英文;其他风格默认只有两行主标题。第 3–4 步的选风格和编译提示词也换成 video-cover.md 里的规则。只删改一行字时用 scripts/erase_text.py,不重新生成。

1. 读内容

读完整正文;有成稿包时同时读一句话判断、核心冲突和传播句;视频封面读这期的口播母稿(vault 的 40-发布/50-口播视频/)或 ray-explainer 项目的 script.json(title、central_judgment、publish),两处任一即可。判断还没定的内容先交回 ray-writer,不用封面替文章拍板。

2. 写封面文案

按 cover-copy.md 写三层:主标题(2–8 字)、副标题(补主标题没说的)、小字(一个硬事实或身份标签)。按内容类型换写法,三层之间不重复,不把文章标题拆开了事。

默认直接用最合适的一组出图,同时准备 1–2 组备选文案,交付时一起给 Ray。Ray 明确说「先给我看文案」时才停下来等确认。

3. 选风格

按 styles.md 挑一个风格。默认在 Anthropic Research、黑白灰先锋几何、纸面击凸压凹三个里按内容选;Ray 点名风格就用他点的;Ray 说「多出几个风格看看」就每个风格各出一版公众号尺寸。

4. 编译提示词

每个平台一份,存到 <封面目录>/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 的颜色和禁用约束写进「Color, Material, and Texture」「Negative Constraints」两节。
  4. 写明目标比例和像素、安全区、逐字文案(见 platform-output.md)。
  5. 提示词里不写作者名或「xx style」,只描述视觉机制;不贴文章原文。

5. 生成

封面目录默认是 <vault>/60-素材/10-图片/10-封面/<YYYY-MM-DD-主题>/(<vault> 来自用户给的路径或 .ray-obsidian.json;没有知识库时放用户指定的工作区)。

bash
python3 $SK/scripts/gen_cover.py <封面目录> --platforms wechat,x,x-article

脚本对每个平台各出一张图(并行),生成 raw-<platform>.png,比例对就等比缩放成 <platform>-cover.png 和 420px 缩略图,写 manifest.json;比例不对报错,不裁不拉。

  • 默认 --backend api(OPENAI_API_KEY 在环境变量或 ~/.zshenv 里就自动用):OpenAI Images API,模型 gpt-image-2.5-sunburst,有 --ref 走 /v1/images/edits、没有走 /v1/images/generations,一张约 30–50 秒、约 $0.07。原生尺寸已实测 xhs 1200×1600;别的比例 API 不收时报错,那个平台改用 --backend codex。
  • --backend codex:Codex CLI 调 Image 2,一张约 1–5 分钟。需要 codex 已登录且 image_generation 开启(codex features list)。

只出一个平台或换风格试一版:--platforms wechat。

6. 验收

用 Read 看每张成品和缩略图:

  • 文案逐字对:缺字、错字、多字(模型自己加的标语或英文)。错字、多字改提示词重跑该平台;模型自加的短标签列给 Ray 判断。
  • 颜色:只有黑白灰加一处墨绿,没有蓝紫、霓虹、别的色相。
  • 主标题在 420px 缩略图上读得清;关键文字不贴边、不被裁。
  • 风格是真的落在画面上,而不是普通封面加一点质感。

7. 交付

用 SendUserFile 发成品,回复里写:用的风格和一句话视觉隐喻、这组文案、1–2 组备选文案、验收发现的问题(模型自加的字、颜色偏差)。Ray 要调整时,分两种:

  • 只改局部(去掉一个小东西、换背景、改一处颜色):不重新生成,写 prompts/<p>-edit.md(「只做一处修改:……其余一切保持完全不变」),跑 gen_cover.py <封面目录> --platforms <p> --edit。脚本把旧的 raw / cover / thumb 自动留档成 -v1、-v2,拿现成的 raw-<p>.png 去改,构图和脸都不变(2026-10-16 宝可梦封面去领夹麦,一次成功)。
  • 只换人物(换一张身份照,构图、文字、道具都不动):gen_cover.py <封面目录> --platforms <p> --edit --ref <新照片>,定稿封面和新照片一起送进编辑接口,写法见 video-cover.md「换人物、保留构图」。
  • 重新构图:先把那几个平台的旧文件(raw-<p>.png、<p>-cover.png、<p>-thumb.jpg、api-<p>.log / codex-<p>.log、manifest.json)改名加 -v1、-v2 留档、提示词另存 prompts/<p>-v1.md,再只改对应平台的提示词重跑;脚本会覆盖同名文件。

边界

  • 不发布、不上传平台;进公众号草稿交 ray-wechat,进 X Articles 后台交 ray-x-article(用 5:2 成品)。
  • 文章封面默认不画形象,Ray 要求时按 ip.md 的方式加;视频封面用 Ray 的真人照片(他已同意),用别人的照片先问。
  • 正文配图、视频画面不归这个 skill。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 15 more files.

Frequently asked questions

What does the Ray Cover AI skill do?

给定稿的文章或视频做带中文标题的封面:文章封面(公众号 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),能只改局部不重画。用于“做封面”“视频封面”“竖屏封面”“横屏封面”“换个风格再出一版”“封面标题改一下”。不做正文配图和视频画面。

Why use Ray Cover on TypingMind?

Because you install it once and use it with any model. Ray Cover is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ray Cover in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/imraywang/rayskills/tree/main/skills/ray-cover. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Ray Cover?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ray Cover?

As many as you like. As long as a model supports skills, you can use Ray Cover with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ray Cover AI skill free?

It is published on GitHub by imraywang. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇