ray-cover
给定稿的文章或视频做带中文标题的封面:文章封面(公众号 2.33:1、X 16:9、X Article 5:2)用 Punk 风格库(MIT 版);视频封面(默认只出 3:4、默认小Lin风A;要时出 9:16 竖屏和 16:9 横屏)用 Ray 真人照片…
把灵感、剪藏、调研或草稿写成有 Ray 态度的中文长文(公众号 / X 长文),接入知识库的成稿与发布流程;也做带授权署名的译介稿。用于“写成文章”“写一篇公众号或 X 长文”“重写这篇”“翻译转载”。改口播转 ray-kb;不发布。
$ npx -y skills add imraywang/rayskills --skill ray-writer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ray-writerContext preview
The summary Claude sees to decide when to auto-load this skill.
把灵感、剪藏、调研或草稿写成有 Ray 态度的中文长文(公众号 / X 长文),接入知识库的成稿与发布流程;也做带授权署名的译介稿。用于“写成文章”“写一篇公众号或 X 长文”“重写这篇”“翻译转载”。改口播转 ray-kb;不发布。
name: ray-writer description: 把灵感、剪藏、调研或草稿写成有 Ray 态度的中文长文(公众号 / X 长文),接入知识库的成稿与发布流程;也做带授权署名的译介稿。用于“写成文章”“写一篇公众号或 X 长文”“重写这篇”“翻译转载”。改口播转 ray-kb;不发布。
目标只有一个:写出 Ray 愿意署名、稍改就能发的文章。表达先行,事实只守底线,一切为了内容和传播。
每次写作前完整读取 [voice.md](references/voice.md),按里面的样本清单把 Ray 的真实稿件读完再动笔。表达规则之外不加任何风格限制。
1. 正文里只放作者愿意说出口的话;拿不准的、编补的内容全部进文末「待确认」,不在正文里自保。 2. 由同一个写作者连续写完全文。调研可以并行,正文不要分章节拼接。 3. 一个主题只保留一份当前草稿。不要把新观点直接追加到原始资料、审核卡或长期知识笔记末尾。 4. 不自动发布。最终署名判断与发布动作由用户确认。 5. 口播等衍生再分发由 `ray-kb` 承接,衍生稿绑定母稿路径和内容指纹。 6. 整篇内容属于别人时不走原创流程,走译介模式,靠授权和署名解决,不靠改写规避。
知识库根目录不写死。优先使用用户明确路径,再向上查找 `.ray-obsidian.json` 或兼容目录结构;路径与文件职责见 [knowledge-pipeline.md](references/knowledge-pipeline.md)。
若找不到兼容知识库:
内容主体是别人的文章时进这条支线,先读 [translation.md](references/translation.md)。译介的内容属于别人,所以本 Skill 的表达规则不适用于译文正文,只适用于 Ray 的译前引言和译后按语。顺序不能颠倒:
1. **授权**。先确认 `source_permission`。只有 `granted`(原作者明确许可)和 `open-license`(CC 等允许转载的许可)能往下走到平台草稿;`pending` 只做本地产物,`denied` 直接停。联系作者、确认许可、开公众号转载白名单都是用户动作,不代做,不把沉默当默许,也没有"合理使用"这一档。 2. **署名**。frontmatter 记录原标题、原作者、原文链接、发表日期和授权凭据;正文里另外要有读者真看得见的出处块。两边都在,检查器才放行。
翻译时按 `translation_mode` 区分:`full` 保留原文全部论点,Ray 的话只出现在译前引言和译后按语;`digest` 只译一部分并加入 Ray 的判断,但必须逐段分得开谁在说话。
**译文里的"我"永远是原作者的**,不得改写成 Ray 的经历。原文没有的事实不加,有的事实不改。
译文进 `<vault>/10-创作/30-文章草稿/`,`kind: translation` 或 `repost`;原文备份进 `<vault>/30-资料/`,不进 `<vault>/20-知识/`。交给 `ray-wechat` 时不勾选原创声明,交给 `ray-x-article` 时出处块随正文进编辑器。
完整内容管线使用 `<vault>/50-系统/30-模板/内容成稿包.md`,开始写作前只要求填清:
材料已经足够时直接进入正文。
读取本地原文、相关长期知识和既有调研;需要新闻、数据或引用时联网找。素材是弹药,不是许可:找不到证据的观点照样写,拿不准的地方进「待确认」。用到的链接和本地材料记在调研目录里,不在正文展示。
先读 [voice.md](references/voice.md) 和样本,然后从开头一口气写到结尾,再局部修句。不把提纲冒充文章。
面向公众号或 X 的长文要照顾手机阅读:用二级标题做阅读锚点,加粗关键问题和判断,Markdown 段落之间只留一个空行。
标题要让人想点开。内部可以生成多个候选,只向用户交付最适合的一版。
文末加 `## 待确认`,格式见 [voice.md](references/voice.md)。同时在 frontmatter 写 `publish_exclude_sections: 待确认`:这一节一直留在母稿里当记录,推送公众号或 X Article 时由 `ray-wechat`、`ray-x-article` 自动剔除,不用手动删。
从读者角度连续读一遍,按 [quality-gates.md](references/quality-gates.md) 检查。重点是删掉正文里残留的自保话,把被写成资料综述的段落改回 Ray 在说话。
若已落盘,运行:
python3 scripts/article_check.py <文章路径>
脚本只查格式和篇幅。错误必须修改并重跑;提醒逐项判断,可以保留。`--profile` 只调篇幅档位,是旧文章原型的遗留参数,一般不用传。
需要公众号、X 或 X Article 封面时转交 `ray-cover`,提供正文路径、成稿包路径和一句话判断。
用户明确要求把成稿送入 X Articles 后台时,把文章与 5:2 `x-article-cover` 交给 `ray-x-article`。它只保存并验证草稿,不自动发布。
用户明确要求公众号排版或保存草稿时,把文章、公众号封面和署名偏好交给 `ray-wechat`。它先生成本地预览,用户确认后才创建或更新公众号草稿。
交给平台前,Ray 要看过「待确认」里的每一条,并在正文里定下改还是留;这一节本身不用删,靠 `publish_exclude_sections: 待确认` 在推送时剔除。
用户要求把定稿变成口播视频时,把母稿和成稿包交给 `ray-kb`。
2026-09-22 之前的风格规则、质量闸门、文章原型和认可样本说明已归档到 rayskills 仓库 `docs/archive/2026-09-22-风格规则旧版/`,不再约束写作。
交付文章链接、一句话核心判断和「待确认」里有几条。不要把内部检查过程写成长报告。
8 个从真实业务中沉淀的 AI Skill:默认替你判断下一步,也能把稳定流程连续跑完。 rayskills 是一套给 Claude Code、Codex 等 AI Agent 使用的 builder 工具箱。它不是一堆“应该怎么想”的提示词,而是把真实工作中反复出现、容易犯错的流程,收敛成可以直接执行、可以验证、可以恢复的 Skill。 不用先记住 8 个名字。把处境交给 /ray: 下一步还不稳定时,它只选择此刻最该做的一步。 终点已经明确、阶段之间有正式交接时,它连续执行整条管线。
给定稿的文章或视频做带中文标题的封面:文章封面(公众号 2.33:1、X 16:9、X Article 5:2)用 Punk 风格库(MIT 版);视频封面(默认只出 3:4、默认小Lin风A;要时出 9:16 竖屏和 16:9 横屏)用 Ray 真人照片…
把文章或观点做成知识解说视频(默认竖屏,要求时出横屏;1.5–3 分钟,用 Ray 的复刻音色配音 + 字幕):真实画面优先(录屏、实拍、截图),近几期主要走 HyperFrames…
把灵感、观察或长文写成 Ray 能直接开机录的中文口播稿(Ray 口吻、观点说满,存疑处列进「待确认」);也审读口播稿,或对照录制稿学习 Ray…
新建、检查或适配面向内容生产的 Obsidian 知识库结构(资料、知识、选题、写作、发布、回流)。用于“搭一个 Obsidian 知识库”“把 vault 接入内容管线”“检查知识库结构”,或 ray-writer…
把定稿长文排成手机友好的公众号富文本并生成预览;Ray 明确同意后写入或更新公众号草稿箱并回读核对。用于“公众号排版”“推到公众号草稿箱”“更新微信草稿”。含糊说法先只做预览;不发布、不群发。
把完成的长文和 5:2 封面写进已登录的 X Articles 后台存为草稿,核对预览并把草稿地址回写知识库。用于“放进 X 后台”“存为 X Article 草稿”“推送到 X”。只存草稿:不点 Publish,不重复建同题草稿。