Route CEO-first multi-window work into owner-led role loops. Use for 总控/CEO、架构/CTO、内容主编、角色派发与复用、模型路由、来源窗口回调、role-windows 台账、skill 命中统计或 multi-window loop engineering。
The English summary is being prepared. Showing the original description.
登记一条视频已拍摄。**建 video folder + 询问实际拍摄稿是否与 scripts/<id>.md 一致 + buffer +1**。与 cheat-publish 配对:拍了进队列,发了出队列。
触发词:"拍了"/"拍了 X"/"shot"/"shot it"/"已拍 X"/"录完了"。
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
把视频从"已写预测、未拍摄"状态推进到"已拍摄、未发布"状态。这一步:
videos/<同 id>/ 目录(之前没有的话)scripts/<id>.md 一致吗?"/cheat-predict — mode: v2 在原 prediction 文件 append ## 预测 v2 段cheat-shoot 自己不写预测内容——所有预测落盘逻辑在 cheat-predict。cheat-shoot 只负责检测改稿 + 派发。
为什么单独一个 skill:
[用户:拍了 scripts/2026-05-04_abc123_停止期待.md]
↓
[Phase 0: 解析路径 + 验证 prediction 已存在]
↓
[Phase 1: 检查是否已登记(避免重复)]
↓
[Phase 2: 建 videos/<id>/ + 询问"实际拍摄稿一致吗?"]
↓
[Phase 3: 写 videos/<id>/script.md]
↓
[Phase 4: append state.shoots]
↓
[Phase 5: 输出 buffer 状态]
tools/diff_pct.py 调用:先 normalize(去 markdown header / 分隔线 / 列表标记 / 装饰标点 / 折叠所有空白),再算 char-level Levenshtein / max(len_a, len_b)。preferred backend rapidfuzz,fallback difflib.SequenceMatcher(stdlib,永远可用)。旧版 line-level 在口语化转录场景误报严重(draft 长 markdown 句 vs whisper 转录的短断句,内容几乎不变但 line-level 算出 ~200% diff)—— PR #14 修复diff -u | grep '^[+-]' | wc -l 算法| 必填 | 来源 |
|---|---|
<scripts-path-or-id> | 用户参数;缺失则询问 |
.cheat-state.json | 状态文件 |
scripts/*.md | pre-shoot 草稿 |
predictions/*.md | 验证对应预测存在 |
scripts/2026-05-04_abc123_停止期待.md2026-05-04_abc123_停止期待abc123 → glob scripts/*_abc123_*.md 找匹配scripts/<id>.md 存在:不存在 → 报错"找不到 pre-shoot 草稿"predictions/<同名>.md:
读 .cheat-state.json,检查 shoots[] 是否已含此 id:
videos/<id>_<short>/(同 scripts/ + predictions/ 的命名)拍 「<title>」 的时候,你实际用的稿子和 scripts/<id>.md 一致吗?
a) 一致——按草稿拍的
b) 改了一些——你能给我看下实际拍摄稿吗?我重新打分一次(v2 预测)
c) 大改了,基本是另一条 → 走 _redo 流程:
scripts/<id>_redo.md → 重新 cheat-predict → 再 cheat-shoot(原 prediction 留档脱钩)
a 路径(一致):
cp scripts/<id>.md → videos/<id>/script.mdscript_consistency = consistentb 路径(改了):
询问用户实际拍摄稿——粘贴文本 / 文件路径 / 转录文件
若用户提供 → 写入 videos/<id>/script.md
若用户没保留(即兴)→ 标 script_lost,写占位文件 + 警告"v2 重判跳过——下次建议留稿(哪怕 voice memo 转录)",进 Phase 4
提供了的话:算 diff
# 解析 cheat-on-content 源码根(cheat-shoot 是 symlink 装的)
SKILL_REAL="$(readlink -f ~/.claude/skills/cheat-shoot 2>/dev/null || readlink ~/.claude/skills/cheat-shoot 2>/dev/null)"
if [[ -n "$SKILL_REAL" ]]; then
REPO_ROOT="$(cd "$SKILL_REAL/../.." && pwd)"
DIFF_TOOL="$REPO_ROOT/tools/diff_pct.py"
fi
if [[ -n "${DIFF_TOOL:-}" && -f "$DIFF_TOOL" ]] && command -v python3 >/dev/null 2>&1; then
# 默认 char-level Levenshtein on normalized text(rapidfuzz preferred, difflib fallback)
diff_pct=$(python3 "$DIFF_TOOL" "scripts/<id>.md" "videos/<id>/script.md")
else
# legacy line-level fallback——只在 python3 或 diff_pct.py 都不可用时用
added=$(diff -u scripts/<id>.md videos/<id>/script.md | grep -c '^+')
removed=$(diff -u scripts/<id>.md videos/<id>/script.md | grep -c '^-')
total_orig=$(wc -l < scripts/<id>.md)
diff_pct=$(( (added + removed) * 100 / total_orig ))
echo "⚠️ fallback 到 line-level diff——口语化转录会 inflate diff_pct,可能误触发 v2"
fi
为什么 normalize + char-level:line-level diff 在创作者真实场景(draft 是 markdown 长句、拍摄稿是 whisper 转录的口语化短行)算出 ~200% 差异但内容几乎不变。char-level Levenshtein 在 normalize 后稳定反映内容差异,而非格式差异。详见 tools/diff_pct.py + tools/diff_pct_test.sh(3 fixture 在两个 backend 上全过)。
判定 v2 触发:
diff_pct >= 30 → 默认建议 v2 重判,主动调用 /cheat-predict — mode: v2 — prediction-file: predictions/<id>.md 传 videos/<id>/script.md 作 input。cheat-predict 走 v2 模式 append ## 预测 v2diff_pct < 30 → 询问用户:"只改了 N% 的内容,要重判吗?默认不(v1 预测仍有效)"。用户说要 → 同上调用;用户说不 → 跳过 v2,继续 Phase 4cheat-predict 完成 v2 落盘后,控制权回到 cheat-shoot 进 Phase 4
c 路径(大改):
videos/<id>/script.md,提示走 _redo 流程{
"shoots": [
...,
{
"video_folder": "videos/2026-05-04_abc123_停止期待/",
"prediction_file": "predictions/2026-05-04_abc123_停止期待.md",
"scripts_path": "scripts/2026-05-04_abc123_停止期待.md",
"shot_at": "<ISO timestamp>",
"script_consistency": "consistent" | "modified" | "lost",
"script_diff_pct": <0-100 int 或 null>,
"v2_prediction_written": <true/false>,
"script_hash_at_shoot": "<sha256:12 of videos/<id>/script.md>"
}
]
}
v2_prediction_written: true 表示 prediction 文件里现在有 ## 预测 v2 段,cheat-retro 应读 v2 算偏差;false 表示沿用 v1。
读完 state 后立即算 buffer + 颜色(按 cadence-protocol.md 的派生规则):
✅ 已登记拍摄:videos/2026-05-04_abc123_停止期待/
预测文件:predictions/2026-05-04_abc123_停止期待.md
📦 当前 buffer:3 篇(🟢 绿色,正常)
按你的 cadence(隔日更)= 6 天 buffer,节奏稳定。
下一步:拍其他候选 / 等下个发布日 / 不动
如果 buffer 颜色变了(如从绿到蓝)→ 高亮提醒:
📦 当前 buffer:6 篇(🔵 蓝色,**积压**)
⚠️ 建议暂停拍摄,全力发布存货 + 复盘。
按你的 cadence(日更)= 6 天预备,已超过健康上限。
ad_hoc: true/cheat-predict 写完 prediction → 用户拍摄 → /cheat-shoot 登记/cheat-publish 发布时把对应项从 state.shoots 移除/cheat-status 看板的 buffer 数字直接来自 state.shoots.length/cheat-recommend 看 buffer 颜色调推荐策略{
"shoots": [
{
"video_folder": "videos/2026-05-04_abc123_停止期待/",
"prediction_file": "predictions/2026-05-04_abc123_停止期待.md",
"shot_at": "2026-05-04T18:30:00+08:00",
"ad_hoc": false // true if user shot without going through full flow
}
]
}
按 shot_at 升序——最早拍的在前面。/cheat-status 显示最早一项的 days-since-shoot 警告(避免有视频拍了 30 天没发)。
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Route CEO-first multi-window work into owner-led role loops. Use for 总控/CEO、架构/CTO、内容主编、角色派发与复用、模型路由、来源窗口回调、role-windows 台账、skill 命中统计或 multi-window loop engineering。
The English summary is being prepared. Showing the original description.
Read-only first workflow for diagnosing application incidents by collecting service, log, network, configuration, and functional evidence before proposing any fix.
The English summary is being prepared. Showing the original description.
Run user-authorized black-box web security tests and evidence-based reports. Use for 黑盒安全测试、渗透测试、数据泄露、未授权访问、公开 JS/API、登录爆破防护、CORS 或安全响应头检查。
The English summary is being prepared. Showing the original description.
Choose the narrowest reliable browser surface across Codex Browser, signed-in Chrome, Playwright CLI, and platform scripts. Use for browser automation, logged-in workflows, UI inspection, screenshots, form filling, publish previews, or frontend QA.
The English summary is being prepared. Showing the original description.
提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind sub-agent 给校准池重打分**——不接受 self-scored fallback。触发词:"升级 rubric"/"bump rubric"/"更新公式"/"我想加一个维度"/"调整权重"/"重校桶"/"recalibrate bucket"。
The English summary is being prepared. Showing the original description.
初始化 cheat-on-content 内容校准工作区。仅在用户明确开始该工作流,或其子 skill 确认缺少 .cheat-state.json 时使用;不响应一般项目初始化、安装诊断或 Codex 首次会话。
The English summary is being prepared. Showing the original description.