盐言爆款写作 v3.2 · 可执行引擎
把《盐言爆款写作 Skill 手册 v3.2》从"可读的方法论"变成"可跑的机器":
代码跑确定性检查,prompt 驱动创作与判断,brief 一处存状态、断点续跑。
核心设计
┌──────────── 代码层(确定性,秒出结果)────────────┐
灵感/稿件 ──▶ │ count 字数口径 │ scan 过检扫描 │ emotion 情绪公式 │
│ score M32评分 │ radar 毒点雷达 │ ledger 伏笔账期 │
│ triage 文本分诊 │ subpack 投稿包 │ reject 退稿解析 │
└──────────────────────┬──────────────────────────┘
│ 结果注入 brief.json
┌──────────────────────▼──────────────────────────┐
│ prompt 层(9 套层模板,从 brief 注入变量后投喂模型)│
│ L0 分诊 · L1 创意 · L2 定调 · L3 生产 · L4 过检 │
│ L5 审稿 · L6 迭代 · L7 交付 · L8 拆书 │
└──────────────────────┬──────────────────────────┘
│ 闸门打卡(红门阻断 pointer)
brief.json(X3 统一状态对象)
红门不可跳:M08 张力校准四条/M21 场景分诊/M23 语病配额/M32 评分 ≥80。
绿门可跳:L1 全部/L2 赛道与标题/M14 开头模板——熟手自定。
快速开始
PY="C:/Users/Administrator/.workbuddy/binaries/python/versions/3.13.12/python.exe"
S="C:/Users/Administrator/.workbuddy/skills/novel-yanyan-bestseller/scripts/yanyan.py"
# 1. 建项目(状态对象)
$PY "$S" init --project 十块钱 --idea "女孩用十块钱买来十年保护" --out brief.json
# 2. 取该层的可执行提示词(已注入 brief 变量 + 十三条裁决 + 红门)
$PY "$S" prompt L0 --brief brief.json -o 提示词-L0.md
# 3. 闸门打卡并前移断点(红门未过会被拦截)
$PY "$S" gate brief.json --layer L0 --pass M01 --pass M02-0 --advance
命令表(代码引擎)
| 命令 | 模块 | 作用 |
|---|---|---|
init / show / set / gate |
X3 | brief 状态对象:初始化、查看、写字段、闸门打卡与 pointer 前移(红门阻断) |
prompt <层/路由> |
全流程 | 组装可执行的层提示词;支持 L0…L8、写故事、快速成稿、过检、退稿解析、拆书 |
count <稿> |
M20 | 字数口径:纯文字 vs 含标点 ×0.83,达标判定与补字建议 |
scan <稿> |
M22/M23A/M24 | 破折号红线、短段规律锤、人声缺口、对话占比、去 AI 词、手法密度、金句直给(B17)、限知越权(B19) |
nodes --words N |
M15 | 千字节点任务清单(1000/2000/3000/4000/6000/8000) |
emotion --sections f.json |
M15A-3 | 情绪公式 S/S′ 逐节打分 + 退出条款 + 微暖点检测 |
score --kv a=85,… |
M32 | 六维加权评分与 S/A/B/C/D 评级 |
radar --data hits.json |
M32B | 21 维毒点雷达(A 类必改/B 类建议+平台开关+截断待验态+B17×B19 交叉) |
ledger --data f.json |
M28A | 伏笔账期表:悬空检测与间距校验 |
triage <文本> |
M02-0 | 文本修复分诊:损伤识别→映射候选→置信声明→样本边界(全文/截断、定档) |
decon --title 名 |
L8 | 生成拆书报告骨架(三声明→雷达→28 维→双曲线→基因→教训→入库路由) |
subpack --brief f.json |
M36A | 投稿包五件(正文/信息表/简介四句/导语/评分卡) |
reject "编辑原话" |
M38 | 退稿意见 → 病因 → 路由层 |
deps |
X1 | 数据包失效自检四问 + 数据包模板 |
rset [--match 关键词] |
X2 | R-Set 五条实战回归用例 + 能力边界 + 验证协议 |
全部命令支持 --json(机器可读)与 --help。无第三方依赖,Python 3.8+ 直接跑。
工作方式(每层的固定节奏)
- 取提示词:
prompt <层>→ 得到带 brief 变量、十三条裁决、红门约束的指令。 - 让模型产出:按模板末尾「输出格式」交付(不要复述模板)。
- 跑代码校验:该层对应的确定性检查(如 L3 跑
count+nodes+emotion,L4 跑scan,L5 跑score+radar+ledger)。 - 回写 brief:
set写字段 →gate打卡 →--advance前移断点。 - 红门被拦:先补齐红门模块,不跳过。
入口路由
| 入口 | 流程 |
|---|---|
| 写故事 / 盐言写作 / 爆款创作 | L0→L1→L2→L3→L4→L5→L6→L7 |
| 故事构思 | 仅 L1 |
| 快速成稿 | 跳 L1/L2,L3→L7 |
| 过检 / 审稿 | L4→L5→L6(已有稿) |
| 退稿解析 | L7 解析器 → 路由回对应层 |
| 投稿包 | 仅 L7 |
| 拆书 | L8 → 基因清单喂 L1 |
目录结构
novel-yanyan-bestseller/
├── SKILL.md 本文件
├── references/ 方法论权威文档(模型侧必读)
│ ├── 01-overview.md 总纲:定位/路由/红绿门/十三条裁决
│ ├── 02-L0-L2.md M01-M13 分诊·创意·定调
│ ├── 03-L3-L4.md M14-M25 生产·过检
│ ├── 04-L5-L7.md M26-M39 审稿·迭代·交付
│ ├── 05-L8-deconstruct.md M40-M44 拆书 + 逆向库
│ ├── 06-crosscutting.md X1-X4 + 平台语态迁移表 + 双模板速查
│ └── 07-changelog.md v3.1/v3.2 全部增量
├── scripts/
│ ├── yanyan.py 主 CLI(18 个子命令)
│ └── lib/ brief·textcheck·emotion·score·decon·deliver·rset·prompts
└── assets/prompts/ 9 套层模板(L0-L8),支持 {{变量}} 与 {{#条件块}}
典型流程
A · 全新创作:init → prompt L0…L7 逐层跑 → 每层 gate --advance → L5 双过(score ≥80 且 radar A 类清零)→ subpack 出投稿包。
B · 已有稿诊断:count → triage(非干净输入先分诊)→ scan → score+radar → prompt 过检 → 按 M33 优先级修 → 二评达标再 subpack。
C · 拆书对标:triage <对标文本> → decon -o 报告.md → 填 28 维 → emotion --sections 出双曲线 → 提炼基因 → set s8.genes='[...]' → 回到 A 流程,基因自动注入 L1 提示词作裂变约束。
D · 退稿复盘:reject "编辑原话" → 得到路由层 → prompt <该层> 重跑。
注意事项
- 落盘位置:默认存 E 盘工作区
E:/Workbuddy/<日期>/<项目名>/(用户偏好,不放桌面)。 - 快照值不当时定理用:赛道占比、通过率等数字引用前先跑
deps失效自检四问。 - 检测器是移动靶:两轮磨字无效 → 换轴换范式,不要在原地磨(M25/R-001)。
- 代码只判确定性部分:M21 场景分诊、M25 修稿阶梯、十六筛中的开篇筛/问答筛/交付筛/碰撞筛/转译筛/爽型筛/收尾筛仍需模型判断,
scan输出的「需人工/模型判定」清单即为此。 - 三库不混:实战失败进 R-Set,成功样本进逆向库,模块自身失灵进 Changelog。