- name
- ray
- description
- rayskills 工具箱的主入口与路由。当用户不确定该用哪个 ray-* skill、只是丢来一个真实任务/处境,或明确要求把一篇内容从 idea、调研、写作一路送到公众号草稿箱、X Articles 草稿箱或口播视频稿时,用本 skill 读取上下文,判断最该做的一步或执行已确认的内容生产链。也用于一轮工作完成后决定下一步。触发:/ray 或 /ray 后接任何真实任务描述。用户无需记住具体 skill 名;“推送到平台”“进入下一阶段”“走完整流程”都不构成公开发布授权,平台写入前按统一授权判定先做本地产物再确认。
# ray:主入口与路由
rayskills 是一套在真实业务里锤炼出来的 builder 工具箱。用户不需要记住各个 skill 名——把真实处境交给 `/ray`,由它判断此刻最该做的一步,分发到对的成员 skill。
**路由哲学(默认单步,明确终点时连续执行)**:需求只有处境或下一步不稳定时,只决定当前一步。用户已经明确终点、且中间阶段存在稳定交接协议时,可以连续执行已验证的管线,不要求用户逐段确认。内容管线的固定终点是已验证草稿;公开发布不属于这条管线,也不能从“推送”“发布流程”或过去的许可中推断。
## 怎么分发
1. 读当前对话已有的信息(处境、目标、材料、卡点)。
2. 对照下面的路由表,判断意图落在哪条线、哪个 skill。
3. 默认只选一个 skill,说明为什么是它,然后按那个 skill 的 SKILL.md 执行。若用户明确要求端到端内容生产,读取 [content-pipeline.md](references/content-pipeline.md),按阶段门控连续调用 `ray-writer`、`ray-cover`,再按目标平台调用 `ray-wechat` 和/或 `ray-x-article`。
4. 信息不足以判断时只问一个最关键的问题;正常的阶段交接、验证和可恢复重试不反复打断用户。
## 工作台任务队列
知识工作台(ray-dashboard)会把用户排队的 AI 协作请求写进 vault 的 `50-系统/40-自动化/AI任务队列.md`(frontmatter `kind: ai-task-queue`,「## 待处理」下每行 `- [ ] 时间 · 动作 · [[目标笔记]]`)。`/ray` 读上下文时顺手看一眼这个文件;文件不存在或没有未勾选项就静默跳过,不提它。
- 有待处理项、且用户本轮没有给出其他任务 → 把队列摆出来,得到确认后认领:「起草」按目标写作任务的成稿包走 `ray-writer`。
- 用户本轮有明确任务 → 先办本轮的事,收尾时提一句队列里还有几条待处理。
- 每处理完一条,把该行勾成 `- [x]` 并在行尾补产物链接,让工作台和下一个会话都能看到去向。
- 队列动作的完成态都是本地产物;认领队列不构成任何平台写入授权,平台动作仍走下面的分级判定。
## 平台动作先分级
调用平台 Skill 前,必须先根据用户**当前这轮原话**判定动作级别:
| 级别 | 可以做什么 | 判定依据 |
|---|---|---|
| `local_only` | 只做本地产物:排版、预览、封面、交付包,不碰任何线上后台 | 用户只说“先看看”“给我预览”“准备交付包”,或整句没有指名平台落点 |
| `draft_write` | 创建或更新平台草稿,并完整回读验收 | 本轮原话同时出现**具体平台**和**落点**,例如“保存到微信草稿箱”“更新 X Article 草稿”“放进 X 后台” |
| 公开发布 | 不属于内容生产管线 | 这套判定永远不产生它;必须另开明确的发布任务,逐平台确认 |
判定规则三条,`ray-wechat` 与 `ray-x-article` 使用同一套,不各自解释:
1. **只指名平台、动词模糊**——“推送到 X”“推送到微信”“同步到两个平台”“上架后台”——不直接升为 `draft_write`。先把本地产物做完,然后用一句话问清楚:"本地已经好了,要现在写进〈平台〉草稿箱吗?"得到肯定答复再写。既不擅自写,也不做完就不吭声。
2. **完全没指名平台落点**——“过稿 OK”“进入下一阶段”“走完整发布流程”——一律 `local_only`,不问也不写。
3. **用户明确说“发布”“群发”“公开”**——仍然只做到草稿,并说明公开发布超出这条管线。
过去任务的许可、另一个平台的许可、已有草稿 ID、已登录状态、白名单已经修好,都不构成本轮授权。不确定一律降到 `local_only`。
## 路由表
### 内容 / IP
| 用户想做的 | 分发到 |
|---|---|
| 新建、检查或适配本地 Obsidian 内容知识库 | `ray-obsidian` |
| 把 idea、资料或草稿写成有事实和传播力的中文长文 | `ray-writer` |
| 翻译外文文章或转载别人的中文文章 | `ray-writer`(译介模式,先过授权与署名两道门) |
| 从定稿长文提炼口播选题、逐字稿与拍摄提示 | `ray-kb` |
| 给定稿文章生成公众号、X 与 X Article 封面 | `ray-cover` |
| 给口播文稿或选题做拼贴 B-roll / 讲解片 | `ray-broll` |
| 把定稿文章排版并保存到微信公众号草稿箱 | `ray-wechat` |
| 把定稿文章和 5:2 封面保存到 X Articles 草稿箱 | `ray-x-article` |
| 从 idea/草稿一路做到文章、封面与 X Article 草稿 | [内容生产管线](references/content-pipeline.md) |
### 咨询 Consulting
| 用户想做的 | 分发到 |
|---|---|
| 评估企业能不能上知识库/AI(就绪度诊断) | `ray-consult`(诊断段) |
| 有了诊断结论,出方案蓝图/分期/报价 | `ray-consult`(方案段) |
### 协作 Orchestration
| 用户想做的 | 分发到 |
|---|---|
| 让 Grok / Claude / Codex 分工、独立复核、竞赛,或实时查 X / Reddit / 网页 | `ray-multimodel` |
## 常见衔接(供判断下一步)
这些不是固定流水线,是"上一个结果出来后,通常接哪个"的经验参考:
- `ray-consult` 诊断段出了结论 → 通常直接进方案段;若结论是红灯,方案的 Phase 0 就是补齐前提。
- 用户没有兼容的本地知识库、但希望内容长期积累 → 先接 `ray-obsidian` 安全初始化,再把根目录和材料交给 `ray-writer`。
- `ray-writer` 完成并通过事实、语气与移动端可浏览性检查 → 接 `ray-cover` 生成平台封面;需要进入公众号草稿箱时接 `ray-wechat`,需要进入 X 后台时接 `ray-x-article`,两者默认只保存草稿。用户明确要求“走完整条管线”时按 [content-pipeline.md](references/content-pipeline.md) 连续执行。
- 已核验长文要做一次素材多次分发 → `ray-kb` 生成绑定母稿指纹的口播内容包;需要拼贴 B-roll 时再接 `ray-broll`。图片长文只在用户明确要求时进入后续视觉阶段。
- 清晰的大体量任务、关键复核或 X / Reddit / 网页实时调研 → 可接 `ray-multimodel`,由当前主控选择最小充分的外部通道并验收。
## 边界与纪律
- **只做路由和阶段编排,不替代成员 skill 的判断**。单步任务交给一个成员;端到端内容任务按交接协议串联成员,不在主路由里临时改写成员规则。
- **内容类不虚构**:`ray-writer` 不得编造作者经历、数据或情绪。整篇内容属于别人时走译介模式,靠授权和署名解决,不靠改写规避;`source_permission` 没放行的译稿只做本地产物。
- **草稿与公开发布严格分开**:`ray-wechat` 和 `ray-x-article` 的完成状态都是已验证草稿;任何白名单、出口 IP、登录或文件共享权限的修复都不能扩大原授权。
- 一个请求只是顺带提到多条线时,选**此刻最该做的一步**,把其余作为下一步;只有用户明确给出端到端终点且存在正式交接协议时才连续执行。
View on GitHub