mcpField
W
writing-clone-profile

writing-clone-profile

github.com/zjp1997720Marketing & growth1150 installsUpdated 15w ago
Repository

About writing-clone-profile

writing-clone-profile is a long-form writing skill guided by a selected Profile, intended for developing early ideas into articles through context gathering and drafting. It selects a style before writing and uses a staged workflow with safeguards against inventing experiences or facts.

Key features

  1. 01Select and apply a Profile's writing style
  2. 02Gather context and build a Brief first
  3. 03Ask no more than two follow-up questions
  4. 04Support single-draft or three-draft parallel modes
  5. 05Use safeguards against fabrication and review gates

Use cases

  1. 01Develop an initial idea into a full article
  2. 02Create or update a writing Profile from examples
  3. 03Compare drafts using parallel versions
  4. 04Organize source material, Briefs, and review files

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/zjp1997720/content-twin-toolkit --skill writing-clone-profile

After installing, type/writing-clone-profilein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

HOW_TO_USE.md
README.md
evals/
evals.json
references/
article-gravity-gate.md
claim-ledger-spec.md
context-sufficiency.md
examples.md
gate-check-contract.md
goldmine-retrieval-strategy.md
human-feel-flow-review.md
human-only-brief-slots.md
manual-revision-diff-protocol.md
profile-registry.md
quotes.md
references/profiles/
README.md
references/profiles/dapeng-wechat/
anti-ai-mechanics.md
anti-patterns.md
article-archetypes.md
examples.md
opening-question-transition-moves.md
quotes.md
rewrite-delta-examples.md
source-quality-notes.md
style-profile.md
voice-anchors.md
voice-cues.md
references/profiles/dapeng-wechat/form-normalized-anchors/
anchor-01-上下文工程-规整版.md
anchor-02-Claude-Code数字分身-规整版.md
anchor-03-一人公司-规整版.md
README.md

Details

From the project README

写作分身引擎(Profile 版)

快速使用规则

  1. 先做上下文采集和充足度评估,再动笔。
  2. 追问必须克制:一次只问一个问题,总预算最多 2 个问题。
  3. 默认单线程:主代理评估候选结构 → 选最优 → 独立完成写作全流程。
  4. 可选多线程:用户说"多版本/对比/并行写"时,切三子稿并行模式。
  5. 多线程模式下:三子稿共享同一份 Brief 和 Claim Ledger;融合只做模块替换,不做全篇缝合。
场景边界说明
  • 我更适合「起心动念阶段」:想法刚出现、上下文还薄、需要主动采集和补料。
  • 如果当前对话已经形成高质量 brief,或者用户已经给了大量参考资料,目标只是高效落稿,优先改用 writing-clone-lite。
  • 一句话:我负责把想法长成文章,Writing Clone Lite 负责把已经长出来的文章顺手写出来。

风格来源(Profile 驱动)

本 Skill 不内置任何固定作者风格。你的风格来自「已选中的 Profile 目录」。

Profile 存储结构
  • 注册表:references/profile-registry.md
  • Profile 根目录:references/profiles/
  • 当前会话选中的目录:{selected_profile_dir}/
每个 Profile 的推荐资产结构
  1. {selected_profile_dir}/style-profile.md:该 Profile 的风格规则(必需)
  2. {selected_profile_dir}/form-normalized-anchors/README.md:该 Profile 的 form-layer 说明与规整版锚点入口(公众号长文 / 深度长文 profile 的运行时主 form 资产)
  3. {selected_profile_dir}/voice-cues.md:从 raw anchors 蒸馏出来的轻量 voice cues(长文 runtime 建议纳入)
  4. {selected_profile_dir}/voice-anchors.md:后台真值 / 审计 / 回归 / cues 提炼来源(保留,但默认不直接进入写稿 runtime)
  5. {selected_profile_dir}/examples.md:该 Profile 的案例与类比(可选)
  6. {selected_profile_dir}/quotes.md:该 Profile 的金句与高频表达(可选)
  7. {selected_profile_dir}/anti-ai-mechanics.md:反 AI 味机制(可选;活人感、主线脉冲、体感记忆)
  8. {selected_profile_dir}/article-archetypes.md:文章原型库(可选;Profile 专属的整篇叙事骨架)
  9. {selected_profile_dir}/opening-question-transition-moves.md:开头 / 疑问句 / 转场动作库(可选)
  10. {selected_profile_dir}/anti-patterns.md:Profile 专属坏味道与修法(可选)
  11. {selected_profile_dir}/rewrite-delta-examples.md:真实改稿差异样本(可选;用于二稿、去 AI 味、人工改稿回流)
  12. {selected_profile_dir}/source-quality-notes.md:素材质量说明(可选;维护和审计用,不默认当正文素材)

一句话:style-profile.md + form-normalized-anchors/ + voice-cues.md 负责前台写稿;Profile 专属二层资产负责原型、节奏和反模式校准;voice-anchors.md 负责后台真值与审计。

迁移兼容说明
  • 根目录旧文件 references/style-profile.md、references/voice-anchors.md、references/examples.md、references/quotes.md 现在只保留迁移说明,不再参与 profile 选择,也不再作为新的写入目标。
  • 真正的选择入口永远是 references/profile-registry.md;不要绕开注册表直接把某个旧路径当默认 profile。

后续写作必须先确定 selected_profile_dir,再读取对应资产;如果你在当前对话里提出明确风格约束(例如“更犀利/更克制/更幽默”),则以当前对话为最高优先级。


初始化(首次必做一次;之后可持续新增)

何时触发:

  • 如果 references/profile-registry.md 不存在,或注册表里没有任何可用 profile,先进入首次初始化,再开始写作。
  • 如果用户说“初始化一个新的 profile / 新建 profile / 重建某个 profile / 更新某个 profile”,也进入初始化或更新流程。
初始化前先确定 Profile 身份

初始化开始前,先确定这 4 个字段:

  • profile_id:英文 slug,用于目录名,例如 dapeng-wechat
  • display_name:给用户展示的名字,例如「大鹏-公众号长文」
  • target_platform:这个 Profile 主要服务的平台或场景
  • best_for:一句话说明适合拿来写什么

如果用户只说“帮我初始化一个新的 profile”但没给名字,默认先补这一个问题,再继续收范文。

初始化输入(用户需要提供):

  • 3-5 篇范文(同一作者、同一平台为佳),每篇尽量提供完整正文
    • 每篇附:标题、发布时间(可选)、发布平台/链接(可选)、哪些段落最像你(可选)
    • 隐私要求:如果范文含个人敏感信息,先由用户脱敏后再提供

推荐:如果范文已在 vault 里有 Markdown 文件,优先用“路径清单 + ![[...]] 嵌入预览”方式维护锚点,减少粘贴带来的噪音与重复。

初始化输出(写入该 Profile 目录):

  • 写入 references/profiles/{profile_id}/voice-anchors.md:收录用户提供的范文原文(或锚点文件路径清单),作为后台真值层保留
  • 生成 references/profiles/{profile_id}/style-profile.md:从范文中提炼可执行的风格规则(语气、句式、节奏、结构、常用表达、禁区等)
  • 对公众号长文 / 深度长文 profile,生成:
    • references/profiles/{profile_id}/form-normalized-anchors/
    • references/profiles/{profile_id}/voice-cues.md
  • 按需生成 references/profiles/{profile_id}/examples.md 与 references/profiles/{profile_id}/quotes.md
  • 追加或更新 references/profile-registry.md

初始化完成的 Gate:

  • references/profile-registry.md 中已存在该 profile 的记录
  • references/profiles/{profile_id}/voice-anchors.md 已写入且包含 3+ 篇范文(全文或锚点引用均可,但必须能定位到完整正文)
  • references/profiles/{profile_id}/style-profile.md 已写入且包含“可执行规则”(不只是抽象形容词)
  • 如果 target_platform 命中公众号长文 / 深度长文:
    • references/profiles/{profile_id}/form-normalized-anchors/README.md 已存在
    • references/profiles/{profile_id}/voice-cues.md 已存在
更新与新建的区分规则
  • 用户说“更新某个 profile” → 只更新该 profile,不覆盖其他 profile
  • 用户说“新建一个 profile” → 必须创建新目录,不允许静默覆盖旧目录
  • 用户没说清楚是更新还是新建 → 默认优先按“新建 profile”处理,并说明理由

反模式(必须避免)

反模式说明
AI味缺乏人的痕迹、没有情绪和立场、过于工整
正确的废话看起来正确但空洞无物,「好像什么都说了,又什么都没说」
高高在上不做「专家建议」,而是「跟大家聊聊」
追热点写读者两年后再看也有收获的文章
囤积不用收集素材却不产出内容
造轮子沉迷沉浸在打造工具的乐趣里,忘了工具的目的
结构性重复同一个主张在不同模块被重复解释,只是换了一种说法
信息密度低文本变长了,但新增信息没有同步增加

具体避免的表达(默认清单,以 Profile 为准):

如果 {selected_profile_dir}/style-profile.md 明确允许这些表达,则以 Profile 为最高优先级。

  • 尽量少用过度模板化/空洞的行业黑话(除非你的风格就是这样,或你在讽刺/调侃)
  • 避免过度正式的抬头称呼(除非你的范文里就是这么写的)
  • 不写流水账式总结
  • 不过度使用 emoji
  • 默认不用弯引号 “ ” 作为正文常规引号;中文引用默认统一用 「」
  • 除非是代码、配置、外文原句、产品字段名,否则不要混用半角引号、弯引号和直角引号

新增完整性反模式:

  • 不编造用户案例、数据、项目结果
  • 不把无来源断言写成确定事实
  • 不从私密上下文直接搬运到公开内容

V2 写作工作流(强制)

Phase -1:创建项目结构

Action:

  1. 根据主题确定项目名,格式:YYMMDD_主题关键词
    • 示例:260203_Dan_Koe写作流程复现、260115_AI编程暴论
    • 日期用当前日期(YY=年后两位,MM=月,DD=日)
  2. 设定项目路径:01_项目/内容创作/{YYMMDD_项目名}/
  3. 用 Bash 创建文件夹结构:
mkdir -p "01_项目/内容创作/{YYMMDD_项目名}/01-Context" \
         "01_项目/内容创作/{YYMMDD_项目名}/02-Drafts" \
         "01_项目/内容创作/{YYMMDD_项目名}/03-Reviews"

输出路径规范:

  • Context Packet → 01_项目/内容创作/{YYMMDD_项目名}/01-Context/context-packet.md
  • Human-only Brief Slots → 01_项目/内容创作/{YYMMDD_项目名}/01-Context/human-only-brief-slots.md
  • Article Gravity Card → 01_项目/内容创作/{YYMMDD_项目名}/01-Context/article-gravity-card.md
  • Reader Capture Audit → 01_项目/内容创作/{YYMMDD_项目名}/01-Context/reader-capture-audit.md
  • 草稿 v1 → 01_项目/内容创作/{YYMMDD_项目名}/02-Drafts/草稿_v1.md
  • 草稿 v2 → 01_项目/内容创作/{YYMMDD_项目名}/02-Drafts/草稿_v2.md
  • Final Candidate → 01_项目/内容创作/{YYMMDD_项目名}/草稿_final.candidate.md
  • 最终稿 → 01_项目/内容创作/{YYMMDD_项目名}/草稿_final.md
  • AI Baseline → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/草稿_final.ai-baseline.md
  • 备选标题 → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/备选标题.md
  • Claim Ledger → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Claim-Ledger.md
  • Structure Eval → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Structure-Eval.md
  • Module Budget → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Module-Budget.md
  • Momentum Map → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Momentum-Map.md
  • Lint Report → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Lint-Report.md
  • Human Feel Review → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Human-Feel-Review.md
  • Gate Check Report → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/Gate-Check-Report.md
  • 人工改稿 diff 复盘 → 01_项目/内容创作/{YYMMDD_项目名}/03-Reviews/人工改稿-diff复盘.md

Gate:文件夹结构已创建。


Phase 0:构建 Brief

先整理一页 Brief(统一给所有子代理):

  • topic: 本文主题
  • target_reader: 目标读者
  • goal: 读后希望发生的行动或认知变化
  • stance: 核心立场(1 句话)
  • constraints: 约束(字数、是否可写数据、语气)
  • must_include: 必须出现的案例/观点
  • must_avoid: 明确禁止点
  • personal_stake: 作者为什么真的关心这件事
  • first_hand_scene: 亲自做过 / 见过 / 聊过 / 踩过的具体场景
  • emotion_nodes: 兴奋、焦虑、愤怒、释然、吐槽等具体时刻
  • human_only_material: 不能由 AI 编造、必须来自人的素材
  • god_move_candidate: 非线性类比 / 意象 / 创意嫁接候选(AI 可补候选,但不能冒充作者灵感)
  • cannot_invent: 明确禁止编造的体验、数据、反馈、项目结果或承诺
  • density_preference: 信息密度偏好(默认:用尽量短的文本输出尽量多的价值)
  • redundancy_budget: 重复预算(默认:同一主张只能完整展开一次)
  • goldmine_usage_mode: 素材库使用强度(默认:auto;按文章类型自动落到 skip / low / medium / high)
Phase 0.1:Human-only Brief Slots(防编造)

参考 references/human-only-brief-slots.md,把人类不可替代素材单独写入:

  • 01-Context/human-only-brief-slots.md

规则:

  • 缺 first_hand_scene 时,可以继续写方法论 / 判断 / 工具说明,但必须标记低在场感风险。
  • 缺 emotion_nodes 时,不允许用夸张情绪词伪造体感。
  • 缺 god_move_candidate 时,AI 可以生成类比候选,但不能写成作者的真实顿悟瞬间。
  • cannot_invent 中列出的内容不得被写成确定事实;必须降级、删除或追问。
Phase 0.3:Profile Gate(先选,再写)

在读取风格资产前,必须先 resolve 当前使用哪一个 profile。

执行顺序:

  1. 读取 references/profile-registry.md
  2. 列出所有 status: active 的 profile
  3. 按下面规则确定 selected_profile_dir

决策规则:

  • 如果用户这轮输入已显式指定 profile 名 / profile_id / display_name / registry 中已登记 alias → 直接采用,并回显确认
  • 如果当前只有 1 个 active profile → 直接采用,不追问,只回显“本次使用 X profile”
  • 如果当前有 2 个及以上 active profile,且用户未指定 → 必须先展示候选列表、推荐项和一句确认问题,等用户确认后再继续
  • 如果 registry 存在,但所有 profile 都不可用 → 回到初始化流程

多 profile 时的输出口径:

  • 列出候选 profile(序号 + display_name + 一句话定位)
  • 给出推荐项及推荐理由
  • 最后只问一句:“你确认这次用哪一个?回复数字或 profile 名就行。”

Gate:selected_profile_dir 已确定。

Phase 0.5:主动上下文采集

先采集,再写作。强制执行顺序:

  1. {selected_profile_dir}/style-profile.md(风格 Profile,必须)
  2. {selected_profile_dir}/form-normalized-anchors/README.md(公众号长文 / 深度长文默认读取)
  3. 当前 profile 下 1-3 篇最相关 normalized anchors(命中长文场景时必须逐篇读取全文,不许只看 README.md)
  4. {selected_profile_dir}/voice-cues.md(如果存在,读取;用于轻量 voice 校准)
  5. {selected_profile_dir}/anti-ai-mechanics.md(如果存在,读取;用于活人感、主线脉冲和节奏治理)
  6. {selected_profile_dir}/article-archetypes.md(如果存在,读取;用于文章级原型路由)
  7. {selected_profile_dir}/opening-question-transition-moves.md(如果存在,读取;用于开头、疑问句节奏和口语转场)
  8. {selected_profile_dir}/anti-patterns.md(如果存在,读取;用于 Lint 和 Human Feel Review)
  9. {selected_profile_dir}/examples.md(可选:案例锚点)
  10. {selected_profile_dir}/quotes.md(可选:金句锚点)
  11. 用户当前对话和附件素材(必须)
  12. nmem 记忆搜索(必须,见下)
  13. Goldmine Pack(从 02_素材库/ 抽取少量高相关碎片,按需,见下)
  14. 用户仓库内与主题相关内容(必须;优先用 Obsidian 官方 CLI search:context,失败回退 Grep)
  15. WebSearch 联网调研(按需,见下)

说明:voice-anchors.md 保留在当前 profile 目录中,但默认不直接参与本轮写稿 runtime。只有在 profile 更新 / 风格偏移审计 / 重新提炼 voice-cues.md 时,才按需回到 raw。

Phase 0.6:Goldmine Budget Card(强制)

在真正检索素材库前,先写一张 Goldmine Budget Card,只为当前文章服务:

  • article_mode: personal / judgment / method / framework
  • slot_gap_map: hook / structure / gold_sentence / ending 各自是否缺口明确
  • goldmine_usage_mode: skip / low / medium / high
  • query_terms: 至少 3 组(topic / slot / stance)
  • hard_budget: 总条数、单槽位上限、单条摘录上限
  • drop_rules: 哪些命中会因为压过当前 Profile、冲淡真实经历或重复已有判断而直接丢弃

自动决策规则:

  • personal / judgment:默认 skip 或 low
  • method:默认 medium
  • framework:默认 medium,只有明确缺结构骨架时才升到 high
  • 只要文章强依赖真实经历、个人情绪、阶段性判断,就不能默认 medium/high

Goldmine Budget Card 没写清之前,不要开始搜 Goldmine。

nmem 记忆搜索(强制)

目标:从长期记忆中找到相关的洞察、决策、经历,补充上下文。

执行方式:

# 基础搜索(必须执行)
nmem --json m search "<主题关键词>" -n 5

# 如果主题涉及时间意图("最近/上周/去年/当时"),加时间筛选
nmem --json m search "<关键词>" -n 5 --event-from 2025-01 --event-to 2026-03

# 如果需要按标签筛选(可选)
nmem --json m search "<关键词>" -n 5 -l insight
nmem --json m search "<关键词>" -n 5 -l decision

# 如果需要深度搜索(跨领域联想、找矛盾、追溯原因)
nmem --json m search "<关键词>" -n 5 --mode deep

产出格式:

  • source_type: memory
  • source_path_or_id: memory-id-xxx
  • public_ok: ✅ / ❌(根据记忆内容判断)
  • relevance: 0-5
  • notes: 这条记忆如何用在文章中

跳过条件:

  • 搜索结果为空或相关度 < 3 的条目不足 2 条
Obsidian CLI 检索提示

(只用于"采集上下文",不要整段搬运):

obsidian search:context vault=<your_vault_name> query="关键词" path="01_项目" limit=3 format=json

# 当 query 含 ':' 或形如 '#tag:' 时,必须整体加引号做字面量检索
obsidian search:context vault=<your_vault_name> query="\"#due:\"" path="04_系统" limit=3 format=json
Goldmine Pack(Soft-gated,按需启用)

/content-goldmine 会把拆解后的可复用碎片存进 02_素材库/灵感素材/。

目标:只在它能明显提升开头/结构/金句时才纳入;否则跳过,不要为了用而用。

核心定位:它是“增强器”,不是“主笔”。

优先级必须始终保持:

  1. 用户当前对话与本轮 Brief
  2. 当前 Profile 的 style-profile.md + form-normalized-anchors/ + voice-cues.md(如果存在)
  3. 当前 Profile 的 examples.md / quotes.md
  4. memory / repo 内相关上下文
  5. Goldmine Pack

只要 Goldmine 与当前 Profile 风格、真实经历、文章立场冲突,优先保留 Profile 和当前对话,直接丢弃 Goldmine 命中项。

启用条件(满足任一条即可启用):

  1. Brief 中缺少明确的 hook/开头方向
  2. Brief 中缺少结构骨架
  3. Brief 中需要金句式表达,但当前素材缺少记忆点

跳过条件(满足任一条必须跳过):

  1. 相关度 >= 4 的条目不足 2 条
  2. 无法明确说明这条要用在文章哪个模块(hook/structure/gold_sentence)

使用程度建议:

  • 低使用:0-2 条。适用于有强个人经历/强观点的文章,只拿来补 hook 或结尾。
  • 中使用:2-4 条。适用于方法论拆解型文章,用来补结构骨架、金句密度。
  • 高使用:4-6 条。只适用于纯框架型文章;即便如此,也必须“提炼模式”,不能直接拼贴原句。

默认不预设全局固定档位,而是按 Goldmine Budget Card 的 article_mode 自动决定;只有 method / framework 才优先落到“中使用”。每个模块最多借 1 条素材:

  • hook 最多 1 条
  • 结构最多 1 条
  • 金句最多 2 条
  • 结尾最多 1 条

如果 Goldmine Budget Card 判定为 personal 或 judgment,把默认值改成:

  • skip:完全不用 Goldmine
  • low:只允许补 1 个 hook 或 1 个 ending,不允许借外部结构做主骨架

硬原则:

  • 不允许把素材库当成现成段落库直接拼接
  • 不允许为了“显得有料”而堆 5 个以上碎片到同一篇文章里
  • 不允许让外部作者的表达盖过当前 Profile 的活人感
  • 优先抽取“模式/结构/节奏”,其次才是金句本身

检索范围:

  • 首选根目录:02_素材库/
  • 结果过滤时再收缩到:
    • 02_素材库/灵感素材/标题/
    • 02_素材库/灵感素材/开头/
    • 02_素材库/灵感素材/金句/
    • 02_素材库/灵感素材/结构/

硬预算(必须遵守):

  • 总条数 <= 6
  • 每类最多 2 条(标题/开头/金句/结构)
  • 单条摘录最多 200 字(只摘「公式 / 模式 / 为什么好」,不要整段搬运)

动态检索规则(强制):

  1. 先判断当前文章缺哪个槽位:hook / structure / gold_sentence / ending
  2. 再基于 topic + 槽位 + stance 生成查询词
  3. 优先在 02_素材库/ 根目录动态检索,不要先假设固定子目录或固定作者入口
  4. 命中过多时,再按类型目录过滤;命中不足时,再补作者名 / source_label / 最近修改
  5. 只保留能明确说明 usage_slot、且不压过当前 Profile 风格的结果

详细策略见:references/goldmine-retrieval-strategy.md

落到 Context Packet 的格式建议:

  • source_type: library
  • source_path_or_id: 具体文件路径
  • content: 摘录(<=200字)
  • relevance: 4-5
  • notes: 必须标注 usage_slot(hook/structure/gold_sentence)
联网调研(按需触发)

目标:获取最新的行业文章、数据、案例,补充实时性上下文。

触发条件(满足任一即可):

  1. Brief 中包含"最新/2026/今年/趋势/数据"等关键词
  2. 主题涉及行业动态、产品发布、政策变化
  3. 用户明确要求"查一下最新的..."

跳过条件(满足任一必须跳过):

  1. 纯方法论/个人经验类文章
  2. 用户明确说"不需要联网"
  3. 主题是历史回顾或个人复盘

执行方式:

# 用当前会话可用的网页工具搜索 2-3 个关键词
# 每个关键词最多取 3 条结果

产出格式:

  • source_type: web
  • source_path_or_id: https://...
  • public_ok: ✅
  • relevance: 3-5
  • notes: 这条信息如何用在文章中(数据/案例/对比/引用)

采集结果必须整理成 Context Packet,每条信息记录:

  • source_type(reference/user/repo/memory/library/web)
  • source_path_or_id
  • public_ok(是否可公开)
  • relevance(0-5)
  • notes(为何使用)

对 writing-clone-profile 来说,Context Packet 不是建议项,而是默认硬前置。

进入 Gate A 前,至少要满足:

  • 01-Context/context-packet.md 已写入
  • 01-Context/human-only-brief-slots.md 已写入
  • 01-Context/article-gravity-card.md 已写入
  • 01-Context/reader-capture-audit.md 已写入
  • 内容不是空壳,且足以支撑 references/context-sufficiency.md 的评分

对高事实密度、强风格复现、强案例依赖任务,这条硬前置不放松。

Phase 0.7:Article Gravity Gate(写前吸引力判断)

参考 references/article-gravity-gate.md,在 Gate A 前生成:

  • 01-Context/article-gravity-card.md

它判断的不是「上下文够不够」,而是「这篇文章是否值得读者继续读」。

检查槽位:

  • reader_promise:读者点开后能拿走什么
  • curiosity_hook:第一屏的悬念 / 冲突 / 反常识 / 具体结果
  • knowledge_gain:新信息 / 新方法 / 新框架 / 新判断
  • resonance_point:读者处境或情绪共鸣
  • personal_stake:作者为什么关心
  • specificity:是否足够具体

决策规则:

  • gravity_score >= 70:继续进入 Gate A。
  • 50 <= gravity_score < 70:只修最弱槽位;如果需要补料,只问 1 个高杠杆问题。
  • gravity_score < 50:先收窄选题或改入口,不要硬写完整稿。
Phase 0.8:Reader Capture Audit(首屏抓力与内容值检查)

参考 references/reader-capture-audit.md,在 Gate A 前生成:

  • 01-Context/reader-capture-audit.md

它不替代 Article Gravity Gate。

它补的是更偏内容编辑的视角:不看标题,只看第一屏,读者为什么继续读,作者凭什么值得信。

必须检查:

  • topic:第一屏到底在讲什么
  • first_screen_promise:不看标题,读者也能知道自己能带走什么
  • hook_type:这次是结果、冲突、问题、反差、工具还是场景
  • credibility_source:作者为什么有资格说这件事
  • material_signals:数据 / 故事 / 金句 / 权威 / 痛点 / 具体结果 至少命中几类
  • perceived_value:读者花这几分钟,换到了什么
  • cognitive_gap:这篇相对常见写法,到底新在哪
  • entry_sync:标题、摘要、第一屏是不是同一个价值单元
  • cta_focus:结尾最终只想要读者做哪一个动作

决策规则:

  • decision = continue:继续进入 Gate A。
  • decision = stress_test_opening:先做一次 Opening Stress Test,再进入 Gate A。
  • decision = ask_one_question:只问 1 个高杠杆问题,优先补 credibility_source / cognitive_gap / material_signals。
  • decision = narrow_angle:先收窄角度或改第一屏承诺,不要直接进入正文。
Gate A:上下文充足度判断

按 references/context-sufficiency.md 评分。

  • score >= 70:直接进入写作。
  • 50 <= score < 70:只问 1 个高杠杆问题。
  • score < 50:最多问 2 个问题,问完即继续,不无限追问。
Phase 1:苏格拉底式补料(按需触发)

只问能改变文章质量的问题。单轮只问一个。

问题必须包含:

  • 你缺什么(明确槽位)
  • 为什么缺它会影响文章
  • 推荐默认值(用户不回复也可继续)
Phase 2:模式路由

默认单线程,除非用户明确要求多版本/对比/并行写。

路由判断时机:Brief 确认后、动笔前。

信号模式
默认(无特殊要求)单线程
用户说"多版本""对比""并行写""给我几个版本"多线程
用户说"快速出一版""直接写"单线程
Phase 2.3:文章原型路由(Profile 专属,按需)

如果当前 Profile 存在 {selected_profile_dir}/article-archetypes.md,必须在正式写骨架前先判断 article_archetype。

规则:

  • 文章原型解决「整篇文章怎么推进」,A/B/C 结构解决「用什么入口切入」;两者不能混为一谈。
  • 只允许选 1 个主原型;另一个命中原型只能作为局部模块,不允许硬拼两套骨架。
  • 原型判断必须写入 03-Reviews/Structure-Eval.md,至少包含:
    • article_archetype
    • matched_signals
    • reader_promise
    • archetype_rhythm
    • archetype_risk

【单线程模式】Phase 3S:主代理独立写作
Step 1:写前骨架

产出五个中间件:

  1. Claim Ledger(断言台账,见 references/claim-ledger-spec.md),必须写入 03-Reviews/Claim-Ledger.md
  2. 候选结构评估:先根据 {selected_profile_dir}/article-archetypes.md(如果存在)确定文章级原型,再参考 references/three-structures.md 列出 3 种候选入口结构的骨架(每种只写 3-5 行要点),评估各自与当前主题/素材的适配度、信息密度、重复风险,选定最优结构并说明理由,必须写入 03-Reviews/Structure-Eval.md
  3. Module Budget:把全文先压成 4 个以内主模块,并为每个模块写清,必须写入 03-Reviews/Module-Budget.md
    • 这个模块只负责什么
    • 它提供的新增信息是什么
    • 如果删掉它,文章会损失什么
  4. Reader Momentum Map:参考 references/reader-momentum-map.md,写清读者为什么会继续读,必须写入 03-Reviews/Momentum-Map.md
    • 当前文章原型是什么,节奏风险是什么
    • 第一屏欠读者什么问题
    • 全文主线是什么
    • 允许哪些 detour,以及如何扣回主线
    • 多案例 / 多工具 / 多观点如何递进
    • 开头埋什么 callback,结尾如何响
  5. Goldmine Retrieval Plan:只针对 slot_gap_map 里真的缺口的槽位写明:
    • 要不要用 Goldmine
    • 用哪个强度档位
    • 每个槽位最多补几条
    • 哪些命中必须丢弃
  6. Opening Stress Test(条件触发):如果 01-Context/reader-capture-audit.md 的 decision = stress_test_opening,或 first_screen_promise / hook_type / credibility_source / entry_sync 任一项明显偏弱,必须先生成 3 个开头候选(只允许 3 个,不铺满),并写入 03-Reviews/Structure-Eval.md:
    • 每个候选都要标注 hook_type
    • 每个候选都要说明 credibility_source
    • 每个候选都要说明它承诺读者带走什么
    • 选 1 个进入正文,其他 2 个只作为备选,不继续膨胀成 10+ 方案

规则:

  • 任何可被反驳的事实断言,都必须在 Claim Ledger 里有来源;无来源则降级为主观判断。
  • 如果某个模块无法说明自己的新增信息,这个模块默认不该写。
  • 默认优先选择更紧的结构,而不是更完整但更臃肿的结构。
  • 如果是单一强观点、纠偏导向、且后半段大概率只会重复证明的题目,优先选 4 拍压缩结构,不为“完整”保留 6 段。
  • 每个知识 / 案例 / 类比 detour 后都必须有 Main-thread Pulse;连续 3-4 段没有扣回主线,默认标记为心流风险。
  • 如果开头埋了具体场景、人物、物件、问题或句子,结尾优先 callback;不 callback 时在 Momentum Map 里说明原因。
  • 如果 entry_sync 弱,优先重写标题 / 摘要 / 第一屏的承诺关系,而不是先补中段内容。
Step 2:完整写作

主代理用选定结构直接写完整草稿。写作过程中默认对齐:

  • {selected_profile_dir}/style-profile.md
  • {selected_profile_dir}/form-normalized-anchors/README.md
  • 当前主题最相关的 normalized anchors
  • {selected_profile_dir}/voice-cues.md(如果存在)
  • {selected_profile_dir}/anti-ai-mechanics.md(如果存在)
  • {selected_profile_dir}/article-archetypes.md(如果存在)
  • {selected_profile_dir}/opening-question-transition-moves.md(如果存在)
  • {selected_profile_dir}/anti-patterns.md(如果存在)

运行时默认规则:

  • style-profile.md 负责规则、禁区、立场边界
  • form-normalized-anchors/ 负责正文主判断由完整自然段承载、段落组织、信息密度和短句预算
  • voice-cues.md 只负责轻量校准语气、判断力度、收束方式和活人感
  • article-archetypes.md 负责整篇叙事骨架,不负责具体句子模仿
  • opening-question-transition-moves.md 负责开头、疑问句节奏和自然转场,不作为口头禅词库硬套
  • anti-patterns.md 负责审稿时识别坏味道,不替代事实核查和 Claim Ledger
  • voice-anchors.md 保留在后台,不默认作为本轮写稿全文输入
  • reader-capture-audit.md 负责校准第一屏承诺、Hook、可信度、感知价值和 CTA 单点,不负责替代结构或事实判断

写作硬约束:

  • 同一个主张只能完整展开一次;后文如果再次出现,只能推进,不允许换一种说法重讲一遍。
  • 每个主模块都必须提供新增信息:新机制 / 新案例 / 新路径 / 新判断,至少占一项。
  • 如果某一段删掉后,文章主线几乎不受影响,这一段默认应删除或并入前文。
  • 优先写「更短但更值钱」的版本,不追求表面完整度。

草稿必须附带:

  • title_candidates(3 个)
  • gold_sentences(3 句)
  • cta(1 段)
  • unsupported_claims(无来源断言列表)
  • ai_smell_hits(AI 味命中项)
  • chosen_structure(选定的结构类型及理由)
  • redundancy_risks(最可能重复的 1-3 个观点)
  • momentum_risks(最可能让读者断流的 1-3 个位置)

这些附带元数据如果不直接跟在草稿末尾,至少要同步写入 03-Reviews/Lint-Report.md。

Step 3:自检

对草稿执行四重 Lint。

硬规则:自检必须使用工具验证,不许只凭印象回忆。

执行时,必须使用 Grep / rg / 等效搜索工具 进行至少以下查询,并把结果写入 03-Reviews/Lint-Report.md:

  • 对照句模式查询:不是 X,是 Y / 不是……而是…… / 不只是……而是……
  • AI 味禁用词查询:如 首先 / 其次 / 总之 / 综上所述 / 作为一个 AI / 您
  • 标点与引号查询:弯引号、异常混用的中文/英文引号
  • unsupported_claims 结果与对应处置

改完后,必须重跑对应查询;没有查询证据,不算完成 lint。

对草稿执行四重 Lint:

  1. Voice Lint:口语感、判断力度、对话感、反模式词命中;不再把“短句率”当作 voice 指标
  2. Form Lint:按 normalized form 检查:
    • 主判断是否由完整自然段承载
    • 是否出现连续 2 个以上单句短段
    • 是否出现连续 3 个以上超短正文段
    • 短句是否越权承担解释功能
    • 整体读感是否更像公众号长文,而不是讲义、切句稿、朋友圈拆句长文
  3. Integrity Lint:unsupported_claims == 0
  4. Redundancy Lint:按 references/redundancy-lint.md 检查是否出现下面 3 类问题
    • 同一主张在不同模块被重复解释
    • 两个模块提供的是同一层信息,只是换了一种说法
    • 某一段删掉后,文章价值几乎不受影响

完成后,必须把 lint 结果写入 03-Reviews/Lint-Report.md。

Lint-Report.md 至少要包含:

  • 每条工具查询的结果摘录或明确写明“0 命中”
  • unsupported_claims 列表或 unsupported_claims == 0
  • 对未通过项的修正动作说明

未通过时,只重写失败模块(开头/案例/收尾 / 重复模块),不全篇重写。

Step 3.5:Human Feel & Flow Review

四重 Lint 通过后,参考 references/human-feel-flow-review.md 执行活人感与心流终审,并写入:

  • 03-Reviews/Human-Feel-Review.md

重点检查:

  1. 情绪是否来自体感、动作、停顿或场景,而不是抽象情绪标签。
  2. 是否有大鹏自己的经历、判断、犹豫或取舍。
  3. 是否出现连续 3 段以上平稳输出,没有情绪、问题、转向或主线回扣。
  4. 每个知识 / 案例 / 类比 detour 是否扣回主线。
  5. 可控不完美是否自然存在;不允许为了像人而硬塞口头禅、自嘲或犹豫。
  6. 是否命中 {selected_profile_dir}/anti-patterns.md 中的坏味道,特别是抽象情绪、方法论悬空、平铺案例、营销前置和结尾不推进。

结果规则:

  • PASS:进入 Phase 4。
  • REVISE_MODULE:只重写失败模块。
  • REBUILD_ANGLE:回到 Article Gravity Card / Momentum Map 重建入口和主线,不直接润色。

完成后直接进入 Phase 4:终稿收束。


【多线程模式】Phase 3M:三子代理并行写作
Step 1:写前骨架

产出四个中间件:

  1. Outline Beats(6 段节奏骨架)
  2. Claim Ledger(断言台账,见 references/claim-ledger-spec.md)
  3. Module Budget(共享上限:4 个以内主模块;每个模块写明职责、新增信息、删除损失)
  4. Reader Momentum Map(见 references/reader-momentum-map.md,共享文章原型、主线、detour 预算、扣主线句和 callback 设计,写入 03-Reviews/Momentum-Map.md)

规则:

  • 任何可被反驳的事实断言,都必须在 Claim Ledger 里有来源;无来源则降级为主观判断。
  • 三子稿共享同一份 Module Budget,不允许每个子稿偷偷扩成 5-6 个大模块。
  • 三子稿共享同一份 Reader Momentum Map,不允许各自发明不同主线。
  • 如果当前主题命中“强观点 / 纠偏 / 单一主张”,B 结构默认先用压缩版参与竞争。
Step 2:三子代理并行写作

按 references/three-structures.md 并行生成三篇:

  • A:场景代入型
  • B:观点打击型
  • C:痛点引入型

三子代理共享同一份 Brief / Context Packet / Claim Ledger,并共同对齐:

  • {selected_profile_dir}/style-profile.md
  • {selected_profile_dir}/form-normalized-anchors/README.md
  • 当前主题最相关的 normalized anchors
  • {selected_profile_dir}/voice-cues.md(如果存在)
  • {selected_profile_dir}/anti-ai-mechanics.md(如果存在)
  • {selected_profile_dir}/article-archetypes.md(如果存在)
  • {selected_profile_dir}/opening-question-transition-moves.md(如果存在)
  • {selected_profile_dir}/anti-patterns.md(如果存在)

不允许各自改题,也不默认把 voice-anchors.md 全文带进子稿 runtime。

每篇草稿必须附带:

  • title_candidates(3 个)
  • gold_sentences(3 句)
  • cta(1 段)
  • unsupported_claims(无来源断言列表)
  • ai_smell_hits(AI 味命中项)
Step 3:三重 Lint

每篇草稿都要通过:

  1. Voice Lint:口语感、判断力度、对话感、反模式词命中
  2. Form Lint:正文承载方式、短句预算、碎段上限、长文读感
  3. Integrity Lint:unsupported_claims == 0
  4. Redundancy Lint:同一主张不可跨模块重复展开;删掉低增量段落后主线仍成立的,直接删或并段

未通过时,只重写失败模块(开头/案例/收尾/重复模块),不全篇重写。

Step 4:评分、选稿、受控融合

按 references/scoring-rubric.md 打分并排序。

  • 先选 1 篇为底稿
  • 融合时最多替换 1-2 个模块(例如:只换开头和收尾)
  • 不做句子级拼接,避免缝合感
  • 融合后必须重跑 Human Feel & Flow Review,确认没有因为拼接造成姿态断裂、主线断裂或表演性活人感

完成后进入 Phase 4:终稿收束。


Phase 4:终稿收束

终稿前做五遍检查:

  1. 去 AI 味(删空话、打断长句、增强对话感)
  2. 断言复核(再次对齐 Claim Ledger)
  3. 标点复核(默认把正文里的常规中文引号统一成 「」,清除误混入的 “ ”)
  4. 压缩复核(在不损失观点、案例、风格的前提下,优先删除重复解释、镜像模块和低新增信息段落)
  5. Human Feel 复核(确认 03-Reviews/Human-Feel-Review.md 已通过;未通过时回到失败模块或 Momentum Map,不直接升格 final)

压缩复核时,至少自问这 3 个问题:

  • 这一段有没有提供前文没有的新信息?
  • 这一段是在推进,还是在重复证明已经成立的主张?
  • 这一段如果删除,读者的核心收获会明显下降吗?如果不会,就删或并段。
发布元数据收束(按平台 gate 触发)

先过一层平台 gate:

  • 如果当前 profile / 当前任务明确命中“公众号型 profile”(例如 target_platform 明确是微信公众号),按下面协议强制补齐 frontmatter、固定脚注块与标签
  • 如果不是公众号型 profile,则这部分降为“按需启用”或“由当前 profile policy 决定”,不要默认把所有自媒体内容都套进公众号发布协议

在输出最终稿 草稿_final.md 前,先生成一份:

  • 草稿_final.candidate.md

然后主动调用独立 gate-checker:

  • Claude Code:writing-gate-checker agent
  • OpenCode:复用同名 writing-gate-checker skill,并读取同一份 references/gate-check-contract.md

checker 必须读取:

  • 03-Reviews/Claim-Ledger.md
  • 03-Reviews/Structure-Eval.md
  • 03-Reviews/Module-Budget.md
  • 03-Reviews/Lint-Report.md
  • 草稿_final.candidate.md

并把结果写入:

  • 03-Reviews/Gate-Check-Report.md

规则:

  • FAIL -> 回到 draft / review 阶段修稿,不允许直接产出正式 final
  • PASS -> 才允许把 草稿_final.candidate.md 升格为 草稿_final.md

在输出最终稿 草稿_final.md 前,如果平台 gate 命中公众号场景,必须先补齐公众号发布所需 frontmatter,并在正文末尾补固定收尾脚注块。

最小协议:

---
title: 文章标题
summary: 公众号摘要
author: 作者名
---

执行规则:

  1. title:使用本轮最终采用的标题。
  2. summary:必须由当前写作流程显式产出,不允许默认拿正文第一句机械截断。
  3. author:如果当前 profile 或用户上下文中有明确作者名,则一并写入;没有可留空,但字段协议要清楚。
  4. concepts:根据文章主题和正文关键词,从以下 8 个概念中选出 1-3 个最相关的,写入 frontmatter:
    • 可选值:Skill、Agent、提示词、上下文工程、数字分身、AI写作、一人公司、OpenClaw
    • 只选文章真正涉及的概念,不强行凑满;无法确定时留空(不写 concepts 字段)
    • 格式:concepts: [Skill, Agent](inline YAML 数组)
  5. 若终稿已有 frontmatter:更新或补齐 title / summary / author / concepts,不重复创建第二段 frontmatter。

固定收尾脚注块(公众号 gate 命中时强制):

---

「注」本文由大鹏的分身系统创作

#标签1 #标签2 #标签3

标签规则:

  • 默认输出 3-6 个标签
  • 标签必须与文章主题强相关,优先覆盖用户真实会搜的关键词
  • 优先从这些维度选:核心主题、平台/工具名、问题类型、方法关键词
  • 可以混合中文标签与必要英文专有名词,但避免无意义地堆英文
  • 避免过泛标签,如 #思考、#成长、#干货
  • 如果用户明确给了指定标签,优先保留,再按相关性补足

summary 的写法要求:

  • 面向公众号摘要场景,默认 60-100 字
  • 优先概括主题、核心收益、读者价值
  • 避开引号句、纯设问句、纯情绪句作为默认摘要
  • 不写成标题复述,不写成空泛口号

公众号场景下的输出顺序:

  1. 最终正文(带 title / summary / author frontmatter,并在文末带固定脚注与 SEO 标签)
  2. 备选标题(3 个)
  3. 公众号摘要(单独回显 1 条,便于复核)
  4. 采用的结构说明(单线程:选定结构及理由;多线程:A/B/C 或融合)
  5. 可选优化建议(1-3 条)
baseline 快照(用于后续人工改稿复盘)

只要这篇文章存在“用户要先审、先改、再决定是否发布”的可能,就默认视为会进入“人工修改后再反哺系统”的链路。在本地协作写作场景里,默认执行 baseline 冻结,除非用户明确说“不需要保留 baseline”。

当本轮已经产出完整可改稿正文,但你准备先把稿子交给用户人工修改,而不是立刻结束在正式发布态时,执行 human-edit handoff:

  • 将当前 草稿_final.candidate.md 复制到:草稿_final.md
  • 再将当前 草稿_final.md 复制到:03-Reviews/草稿_final.ai-baseline.md
  • 这一步的目标是同时准备好“用户可直接修改的工作稿”和“只读 baseline 证据稿”
  • 不允许为了生成 baseline 让 Agent 再写一遍文章
  • 后续人工修改默认只发生在 草稿_final.md

如果这篇文章已经进入正式 final 交付阶段,在交付 草稿_final.md 时,也要确保 baseline 已冻结:

  • 将当前 草稿_final.md 复制到:03-Reviews/草稿_final.ai-baseline.md
  • 这是 baseline 快照,不是第二次生成
  • 不允许为了生成 baseline 让 Agent 再写一遍文章
  • baseline 一旦生成,默认视为只读证据文件,不在后续人工编辑中覆盖

后续人工修改始终发生在:

  • 草稿_final.md

而不是发生在 baseline 快照上。

交付完成 Gate:

  • 如果本轮以“可供用户继续人工改稿”的状态交付,则必须同时存在:
    • 草稿_final.candidate.md
    • 草稿_final.md
    • 03-Reviews/草稿_final.ai-baseline.md
  • 如果缺少其中任意一个,不算完成 handoff。

决策与回退机制

通用回退:

  1. 用户补料不足且未回复追问:采用推荐默认值继续,不阻塞流程。
  2. 上下文存在隐私风险:剔除该条上下文并记录”未使用原因”。

单线程回退:

  1. 草稿未过完整性门槛:切换”无硬断言版”,只写方法论 + 主观体感,不写具体数据。
  2. 草稿 AI 味偏重:只重写开头和收尾,不推翻中段方法部分。

多线程回退:

  1. 三稿都未过完整性门槛:同上,切换”无硬断言版”。
  2. 三稿都 AI 味偏重:只重写开头和收尾,不推翻中段方法部分。

资源导航(Progressive Disclosure)

  • 当前 Profile 注册表:references/profile-registry.md
  • 当前选中 Profile:{selected_profile_dir}/
  • 风格 Profile:{selected_profile_dir}/style-profile.md
  • Voice Cues(运行时可选):{selected_profile_dir}/voice-cues.md
  • Anti AI Mechanics(运行时可选):{selected_profile_dir}/anti-ai-mechanics.md
  • Article Archetypes(运行时可选):{selected_profile_dir}/article-archetypes.md
  • Opening / Question / Transition Moves(运行时可选):{selected_profile_dir}/opening-question-transition-moves.md
  • Anti-patterns(运行时可选):{selected_profile_dir}/anti-patterns.md
  • Rewrite Delta Examples(二稿 / 回流可选):{selected_profile_dir}/rewrite-delta-examples.md
  • Source Quality Notes(维护审计可选):{selected_profile_dir}/source-quality-notes.md
  • Form-layer 锚点(运行时主 form 入口):{selected_profile_dir}/form-normalized-anchors/README.md
  • Raw Voice Anchors(后台真值 / 审计):{selected_profile_dir}/voice-anchors.md
  • 案例锚点(可选):{selected_profile_dir}/examples.md
  • 金句锚点(可选):{selected_profile_dir}/quotes.md
  • Goldmine 动态检索:references/goldmine-retrieval-strategy.md
  • Human-only Brief Slots:references/human-only-brief-slots.md
  • Article Gravity Gate:references/article-gravity-gate.md
  • Reader Capture Audit:references/reader-capture-audit.md
  • Reader Momentum Map:references/reader-momentum-map.md
  • Human Feel & Flow Review:references/human-feel-flow-review.md
  • Manual Revision Diff Protocol:references/manual-revision-diff-protocol.md
  • 充足度评估:references/context-sufficiency.md
  • 断言台账规范:references/claim-ledger-spec.md
  • 三结构与子代理模板:references/three-structures.md
  • 结构选择指南:references/structure-selection-guide.md
  • Redundancy Lint:references/redundancy-lint.md
  • 风格检查清单模板:references/style-checklist-template.md
  • 评分规则:references/scoring-rubric.md

执行模板(可直接套用)

模板 1:Gate A 未通过时的提问

"我现在缺少 [槽位名],会影响 [具体影响]。 为了不耽误进度,我建议默认按 [推荐默认值] 继续。 你要改成别的方向吗?"

模板 2:单线程模式——结构选择输出

"我评估了三种候选结构:

  • A(场景代入型):[适配度 + 理由]
  • B(观点打击型):[适配度 + 理由]
  • C(痛点引入型):[适配度 + 理由]

选定 [X],因为 [核心理由]。开始写作。"

模板 3:多线程模式——三稿完成后的主代理输出

"我先给三稿打分:A=xx,B=xx,C=xx。 当前底稿是 [X],因为 [原因]。 我计划从 [Y] 替换 [模块],预计提升 [维度]。 融合后将再次过 Voice + Form + Integrity + Redundancy 四检,并补 Human Feel & Flow Review,然后做 Compression Pass。"


自我迭代

当识别到以下场景时,主动提议更新本 Skill:

场景触发条件更新内容
新范文用户提供 1 篇新的代表作追加到当前 profile 的 voice-anchors.md,并同步更新 voice-cues.md 与相关 normalized anchors
风格修正用户说「这个表达不是我的风格」更新当前 profile 的 style-profile.md(以反馈为准)
新金句用户提供高复用表达/签名语评估是否加入当前 profile 的 quotes.md(可选)
新案例用户分享可复用故事/经历评估是否加入当前 profile 的 examples.md(可选)
新文章复盘用户提供新发布文章链接/全文提炼新增规律,更新当前 profile 的 style-profile.md
人工改稿 diff 复盘同时存在 03-Reviews/草稿_final.ai-baseline.md 与人工修改后的 草稿_final.md按 references/manual-revision-diff-protocol.md 生成候选规则卡片与 review 文件,再由用户确认是否回流到 profile 资产

更新流程:

  1. 识别场景并提出更新建议
  2. 如果是人工改稿 diff 复盘,先按 references/manual-revision-diff-protocol.md 生成并读取 03-Reviews/人工改稿-diff复盘.md 的候选规则与推荐回流位置
  3. 用户确认后再修改对应文件,不允许跳过确认直接写回 profile 真相源
  4. 说明新增规则对后续写作的影响

一句话触发规则:

  • 用户只要说「我改完了,按写作分身回流协议做 diff 复盘」或语义等价的话,就默认进入“人工改稿 diff 复盘”
  • 语义等价示例:
    • 「我改完了,复盘这次人工改稿并给我回流建议」
    • 「对这版做人工改稿 diff,看看哪些该写回 profile」
    • 「按 writing clone profile 把这次改稿沉淀掉」
  • 进入后默认动作:
    • 读取 03-Reviews/草稿_final.ai-baseline.md 与 草稿_final.md
    • 生成 03-Reviews/人工改稿-diff复盘.md
    • 输出候选规则、目标回流文件、风险等级、推荐是否写回
    • 不自动写回长期 profile 资产,但必须把写回建议整理好,等待用户一句确认

人工改稿 diff 复盘的 profile 回流目标默认只在这些位置里选择:

  • style-profile.md
  • voice-cues.md
  • quotes.md
  • examples.md
  • anti-ai-mechanics.md
  • article-archetypes.md
  • opening-question-transition-moves.md
  • anti-patterns.md
  • rewrite-delta-examples.md
  • source-quality-notes.md

判断原则:

  • 更偏“像谁写”的人格化表达偏好 → 优先回 profile
  • 一次性内容补丁 → 只记本次复盘,不升格为长期规则

金句生成(Profile 版)

优先使用:

  1. {selected_profile_dir}/quotes.md 中已有金句(如果你维护了)
  2. {selected_profile_dir}/voice-cues.md 中已蒸馏出的高频句法、口头禅与收束方式
  3. 如果确实缺少运行时可用的 voice cues,再回到 voice-anchors.md 做后台抽取,不默认直接把 raw 全文带进本轮写稿

规则:金句必须和 {selected_profile_dir}/style-profile.md 一致;不照搬他人的固定金句。


参考资源


Claude Code 执行备注

当前这份 skill 默认运行在 Claude Code 环境里。

  1. 文件读取与搜索:优先使用 Claude Code 原生的 Read、Grep、Glob
  2. 记忆搜索:优先使用 nmem CLI,而不是抽象的外部运行时工具
  3. 联网补料:只在事实补料确有必要时使用当前会话可用的网页工具,不把联网当默认动作
  4. 路径处理:直接使用 vault 内相对路径或绝对路径,不依赖额外 adapter
  5. references 文件:直接按仓库内路径读取,例如 references/profile-registry.md

Profile 驱动版本(多 Profile)| Claude Code 适配 | 最后更新:2026-03-21

Comments

Markdown supported