给单篇稿子打 rubric 分。**只在控制台输出,不写文件,不预测**。触发词:"打分这篇 [path]"/"score this [path]"/"给这稿子打分"/"先打分看看"。是 cheat-predict 之前的轻量探索动作。
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
打分但不预测。用户用它快速看稿子的 composite,决定是否值得进入正式预测流程。
[用户:打分这篇 draft.md]
↓
[读 draft.md + rubric_notes.md]
↓
[逐维度打 0-5 + 写一行理由 + 算 composite]
↓
[控制台输出:评分 + composite + 推荐下一步]
↓
[结束 — 不写任何文件]💡 调用时覆盖:
/cheat-score draft.md — OUTPUT_DETAIL: compact
| 必填 | 来源 |
|---|---|
<draft-path> | 用户作为参数传入;如缺失则在对话里询问 |
rubric_notes.md | 用户项目根 |
.cheat-state.json | 用户项目根(用于读当前 rubric_version 与 mode) |
.cheat-state.json → 不存在则提示用户先跑 /cheat-init,停止<draft-path> → 不存在或无内容 → 报错并停止rubric_notes.md 找到当前生效的公式段(一般在"当前评分维度"或"综合分公式"位置)从 rubric_notes.md 解析出:
ER×1.5 + SR×1.5 + HP×1.5 + QL + NA + AB + SAT)/ 8.5 × 2.0)如果 rubric_notes.md 格式与预期不符(用户手改过结构)→ 询问用户当前公式是哪一行,不要自己猜。
主对话已经被用户对话 / 已发数据 / 历史 retro 段污染——inline 打分等于带着后视镜判分。
改成通过 Task tool 调 /cheat-score-blind sub-agent,主 Claude 只做调度 + review。详见 skills/cheat-score-blind/SKILL.md。
Task prompt 模板(只能含下面这些):
Spawn cheat-score-blind sub-agent.
Input:
script_path: <用户给的 draft path>
rubric_notes_path: rubric_notes.md
Task: 按 rubric_notes 当前公式给上面 script 打分。返回严格 JSON(见 cheat-score-blind SKILL.md Phase 2 schema)。
不要读 state file / predictions/ / videos/ 任何其他文件。
不要询问用户 —— 你没有用户。禁止塞进 Task prompt 的东西(cheat-score-blind/SKILL.md 的"主 Claude 调用契约"段):
predictions/*.md 路径调用前 grep 自检:echo "<prompt>" | grep -Ei '播放|阅读|点赞|评论数|实际|retro|复盘|实绩|w$|万$' 命中 → 改 prompt 重发。
sub-agent 返回严格 JSON。主 Claude:
self_check.any_contamination_signal == false,否则警告User Override 但 sub-agent 原始分留档如果 sub-agent 返回 refusal != null:
blocked_contaminated_input → 报告 Task prompt 含违禁字段,让主 Claude 重发script_path_invalid → 检查路径rubric_unparseable → 提示用户 rubric_notes.md 损坏non_blind_warning → 仍接受 dimensions(但 confidence 全 medium),警告按当前公式算综合分。控制台输出(OUTPUT_DETAIL=full):
📊 [draft.md 短标题] — 打分(rubric: v2)
| 维度 | 分 | 理由 |
|---|---|---|
| ER (情感共鸣) | 5 | "半夜三点翻聊天记录" 极端具象 |
| HP (钩子强度) | 5 | IS 句一句锁定受众 |
| QL (金句密度) | 5 | MVP 句"间歇性希望"独立可传 |
| NA (叙事性) | 3 | 平铺直叙,弱弧线 |
| AB (受众广度) | 5 | 暗恋/前任普适 |
| SR (社会议题共振) | 2 | 纯个人情感,无社会托底 |
| SAT (讽刺深度) | 4 | 致谢段自指反讽 |
公式:(ER×1.5 + SR×1.5 + HP×1.5 + QL + NA + AB + SAT) / 8.5 × 2.0
composite = (5×1.5 + 2×1.5 + 5×1.5 + 5 + 3 + 5 + 4) / 8.5 × 2.0 = **8.24**
📍 落在 30-100w 桶(基于 starter-rubrics 的 bucket 边界)
下一步建议:
- 如果你已写定最终稿、准备发布 → 说 "启动预测"
- 如果想再改稿子 → 改完再打一次(多次打分不留痕迹)
- 如果想看历史相近 composite 的样本 → 说 "找 composite 8.0-8.5 的锚点"OUTPUT_DETAIL=compact 时仅输出分数表 + composite,不附理由列。
/cheat-predict。原因:predict 必须走 blind check + 写 immutable 日志,score 跳过这些--skip-blind)。score 是轻量探索,没理由放弃隔离。如真的 Task tool 不可用 → 提示用户配置后再试cheat-predict 的前置探索:用户可以反复 score 不同稿子版本,确定一份再 predict.cheat-state.json——这是无副作用操作XBuilderLAB/cheat-on-content
de3882d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.