← ClaudeAtlas

oracle-shootlisted

登记一条内容已制作完成(拍摄/录完/写完定稿)。询问实际制作稿与 scripts/<id>.md 是否一致 + buffer +1。与 oracle-publish 配对:拍了进队列,发了出队列。触发词:"拍了"/"拍了 X"/"shot"/"shot it"/"已拍 X"/"录完了"/"做完了"。
Huanyu-Hibiki/Huanyu-Skills · ★ 1 · AI & Automation · score 67
Install: claude install-skill Huanyu-Hibiki/Huanyu-Skills
# /oracle-shoot — 登记制作完成 + (改稿则) 触发 v2 预测 把作品从"已写预测、未制作"推进到"已制作、未发布"。这一步: 1. 验证 prediction 已存在(盲预测纪律) 2. 询问"实际制作时用的稿子和 scripts/<id>.md 一致吗?" 3. 算 diff——超过 V2_TRIGGER_THRESHOLD(默认 30%)→ delegate 到 `/oracle-predict — mode: v2` 4. 把作品加进 state.shoots 队列,buffer +1 oracle-shoot 自己**不**写预测内容——预测落盘逻辑全在 oracle-predict,本 skill 只负责检测改稿 + 派发。 为什么单独一个 skill: - buffer 警戒需要明确区分"拍了" vs "发了"。可以批量拍(一天 5 条),分散发(每天 1 条) - "实际制作稿" ≠ "pre-shoot 草稿"是常态。diff 显式化 + v2 重判 + 采集"用户改稿 pattern"的入口 - v1 vs v2 的差异本身就是 rubric 升级证据 ## Overview ``` [用户:拍了 <NNN>_<标题>/scripts/<id>.md] ↓ [Phase 0: 解析路径 + 验证 prediction 已存在] ↓ [Phase 1: 读全局 state + 检查重复登记] ↓ [Phase 2: 询问稿子一致性(一致 / 改了 / 大改)] ↓ [Phase 3: 写定稿 + (b 路径) 算 diff 触发 v2] ↓ [Phase 4: append state.shoots] ↓ [Phase 5: shoots 队列交叉校验 + 输出 buffer 状态] ``` ## Constants - **REQUIRE_PREDICTION = true** — 制作前必须先有 v1 prediction - **V2_TRIGGER_THRESHOLD = 0.30** — diff 超过 30%(行级 diff / 原稿行数)→ 默认建议 v2 重判;低于则询问 - **DIFF_METRIC = lines** — `diff -u | grep '^[+-]' | wc -l` / 原文件行数 ## Workflow ### Phase 0: 解析 + 验证 1. 解析路径:全路径 / `<NNN>` / id / 短标题简写 → glob `<NNN>_*/scripts/*_<id>_*.md` 匹配 2. 验证 `scripts/<id>.md` 存在 → 不存在报错 3. 验证对应 prediction 存在(同作品 `predictions/<同名>.md`): - 不存在 → **拒绝登记**:"先跑 /oracle-predict 写预测——制作完才写预测等于事后看了成品再写判断,违反盲预测原则" ### Phase 1: 读全局 state + 检查重复 1. **必做**:`cat <项目根>/.oracle-state.json` 读全局(协作契约 #7:用户说"另一个会话已登记"→ 先验证再行动) 2. 检查 `shoots[]` 是否已含此 id: - 已存在 → 警告"已登记过(X 天前)"+ 显示已有 shot_at / prediction_file / script_consistency