--- name: ra-选题 description: | 选题全生命周期调度:记录选题、深化选题、选题推荐、立项分发(视频/图文/文章/实操长片/多形态)、发布归档。 Use when the user says 灵感xx, 想法xx, 记录选题, 这个可以做个选题, 先存着这个链接, 深化选题/深化一下xx, 给我N个选题, 帮我出选题, 选题推荐, 立项, 做成视频, 制作视频, 做成文章, 制作文章, 做成图文, 制作图文, 做成实操长片, 图文视频文章都做/都分发, 我要自己出镜讲, xx发布了, xx要改; or when the user gives a link plus a target form (链接+制作视频/文章/图文). Owns the 00-选题池 card system: one topic = one card; user never moves files — this skill does. --- # ra-选题 ## Goal 把用户的自然语言入口翻译成文件操作。用户只说话:记灵感、给链接、定形态、报发布。建卡、洗稿路由、建条目、挪卡、登记看板全部由本 skill 完成。 ## 核心模型 - **选题卡 = 户口本**:`01-内容生产/00-选题池/YYYY-MM-DD-<主题>.md`(按 `_选题卡模板.md`)。只记想法、来源、判断、立项去向;正文永远住对应工作台。 - **立项 = 决定形态的那一刻**:一题可多形态;每个形态在自己的工作台建实体,卡上记 `- 形态 → [[链接]]`。 - **卡不移动文件**:立项时只改 frontmatter 状态为 `已立项`,卡留在 `00-选题池/` 原位。 - **户口本完整性兜底**:任何立项动作发现没有卡,先自动补卡再走流程(含直接甩链接洗稿的场景)。 ## 动词表 ### 1. 记录选题(灵感xx / 想法xx / 记录选题xx / 这个链接先存着) - 在 `00-选题池/` 建卡:用户原话 + 提炼的一句话说清 + 素材线索;有链接记入 `来源:`,能解析出平台作品ID的同时填 `源ID:`(`:`) - 状态 = 想法;回复卡片路径,不追问、不展开 ### 2. 深化选题(深化xx / xx想清楚点) - 找到卡(按文件名或标题匹配),检索素材库/方法论,把角度、钩子、案例写进「深化笔记」 - 状态 = 深化中(已立项的卡不改状态) - 人话规则的适用边界:笔记本体(角度/论据/素材/流量判断)自由写,信息密度优先,不跑 `ra-人话` 全流程;但候选钩子、开头句、标题方向、金句这类会直接进成稿的种子句,必须遵守 `ra-人话` 硬禁令(不用「不是A而是B」、真正/其实/本质上、冒号讲义腔、命令式模板开头)。完整的人话精修与质量门在立项洗稿阶段跑,深化阶段不重复。 ### 3. 立项(做成/制作 + 形态;可组合「视频文章图文都做」) 按形态路由,每个形态完成后在卡「已立项」追加一行,最后挪卡: | 形态 | 流程 | 落位 | |---|---|---| | 视频(AI 成片) | 有链接走 `ra-video-wash-pipeline`,纯想法/文稿走 `ra-洗稿` | 交接稿 → `视频工作台/待制作/<日期-主题>/交接稿.md` | | 视频(自录口播) | 洗稿产出口播逐字稿,文首标注「自录口播」 | `视频工作台/逐字稿/` | | 文章 | 有链接先提源文本:抖音/小红书视频用 `ra-逐字稿提取skill`;B站/YouTube 等视频复用 `ra-video-wash-pipeline` 的提取环节;网页/推文用 Jina(`https://r.jina.ai/`)读正文——源资料一律存 `视频工作台/.internal/` → 洗成长文(`ra-人话` + 方法论/公众号开头方法论),`dbs-ai-check` 诊断一遍修掉具体指纹 → 按 `文章工作台/_文章模板.md` 建条目(一篇一文件夹,主稿 + assets/,只存主稿) | `文章工作台/创作中/` + 发布看板登记「待修改」 | | 图文 | 洗成小红书文案 + `dbs-xhs-title` 标题候选,按 `_图文交接模板.md` 生成交接稿(出图归 Codex) | `图文工作台/待制作/` | ### 4. 发布归档(xx发布了 / xx要改) - 发布了:看板该行勾选并移入「已发布」日志(日期/平台);文章条目从 待发布/ 移 已发布/ - 要改:看板移回/登记「待修改」 ### 5. 课程灵感(这个可以进课程 / 课程灵感xx / #课程灵感) - 在 `02-课程体系/课程选题库/灵感记录.md` 追加一行:`- YYYY-MM-DD | 一句话灵感 | 关联:[[选题卡或作品]]` - 只做积累,不展开课程结构(业务启动前保持最细的线) ### 6. 选题推荐(给我N个选题 / 帮我出一批选题) 四路取材,输出 N 个候选(默认 10): 1. **云端爆款库**:运行 `automation/scripts/hot_monitor_local_job.sh read booms` 读取最近 90 天最多 30 条轻量候选,先按 R/M、life 和题材筛选;对入围样本再运行 `automation/scripts/hot_monitor_local_job.sh read work <云端作品ID>` 读取 L1/逐字稿/指标历史。时效型且超窗(发布日距今 > life_window_days)的**不推选题本身,只提取题型基因**(如「月度盘点」「街采」「节令营销」)转化为当下的新选题;长青型可直接跟进 2. **近 3 天机会**:运行 `automation/scripts/hot_monitor_local_job.sh read recent 3 200 0`,读取云端最近 3 天的全部新作(包括未判爆作品和 YouTube);响应 `has_more=true` 时按 `next_offset` 继续读取,直到 `has_more=false`。需要确认账号覆盖时运行 `automation/scripts/hot_monitor_local_job.sh read creators`。服务器已经统一扫描抖音、小红书和 YouTube 对标号,默认不再直接调用 TikHub 重复采集 3. **自己号数据**:`数据统计/` 台账里自己号 R 值高的题材优先放大 4. **定位过滤**:对照 `个人定位.md`;偏离定位但流量潜力大的泛选题不降级(流量优先原则) 5. **已洗对比(硬门)**:第 1、2 路的云端输出必须先过台账再进入筛选——命令末尾接管道 `| python3 automation/scripts/wash_ledger.py filter`(例:`bash automation/scripts/hot_monitor_local_job.sh read booms | python3 automation/scripts/wash_ledger.py filter`)。标注 `washed: true` 的条目保留展示但必须带「已洗 <日期> → <产出>」标记,不得当成新题推荐;`washed_match.status=skipped` 标「曾定不做」;`washed_suspect` 标「疑似已洗」。汇报候选时说明本批已洗/不做/疑似各几条 每条候选格式:`选题一句话 | 证据(源爆款+R/M 或 对标新作数据)| 时效窗口 | 建议形态(实操长片/AI成片/口播/图文/文章)| 角度预判` 用户选定 → 建卡:云端候选直接从过滤后的 JSON 取 `platform`/`post_id`,按平台拼标准链接写入 `来源:`(douyin→`https://www.douyin.com/video/`,xhs→`https://www.xiaohongshu.com/explore/`,youtube→`https://www.youtube.com/watch?v=`),同时填 `源ID:`(`:`)→ 按形态立项;实操长片路由到 `ra-实操策划`。洗稿端落稿登记台账时带 `--work-id <云端作品id>`。 云端读取失败时必须明确报告,不得退回已删除的 `_爆款总库.jsonl` / `_账号池.md`,也不得把历史 `深度分析/` 冒充实时数据。 ## 硬规则 - **全形态隐私墙**:源链接、源标题、源逐字稿只允许出现在选题卡 `来源:` 字段和 `视频工作台/.internal/`;一切成稿、交接稿、工作台条目零源信息。用户明确要求标注参考来源时除外。 - **洗稿去重台账**:台账在 `视频工作台/.internal/洗稿台账.jsonl`(属源隐私区),工具 `automation/scripts/wash_ledger.py`。选题推荐的云端读取必过 `filter`;任何形态立项洗稿前必 `check`(命中「已洗」硬停等用户确认);交接稿/成稿落地后由洗稿端 `add` 登记。台账内容只在会话里向用户报告,不进任何成稿。 - 用户永远不被要求移动文件;本 skill 代劳并在回复里报告每一次移动。 - 看板登记分工:文章完成由本端登记;视频/图文交付由制作端(Codex)登记。 - 立项视频仍遵守两段式:默认只到待制作队列,用户说「直接制作/直接出片/一条龙」才继续制作。