web-article-extractor
使用隔离的 Chrome DevTools MCP 从博客、新闻、公众号等网页提取正文,返回结构化内容,或保存 Markdown 和远程图片。用户要求提取文章、抓取网页正文、保存为 Markdown、下载文章图片或排查正文选择器时调用。
从同一作者或公众号的文章样本中建立、验证或增量更新可复用的写作风格档案。用户要求风格建模、提取写作配方、解构文章、学习作者风格、创建或更新风格库时调用;如果用户只要求直接写文章而不需要建立风格档案,不调用本 skill。
$ npx -y skills add dongbeixiaohuo/writing-agent --skill style-modeler --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/style-modelerContext preview
The summary Claude sees to decide when to auto-load this skill.
从同一作者或公众号的文章样本中建立、验证或增量更新可复用的写作风格档案。用户要求风格建模、提取写作配方、解构文章、学习作者风格、创建或更新风格库时调用;如果用户只要求直接写文章而不需要建立风格档案,不调用本 skill。
name: style-modeler description: 从同一作者或公众号的文章样本中建立、验证或增量更新可复用的写作风格档案。用户要求风格建模、提取写作配方、解构文章、学习作者风格、创建或更新风格库时调用;如果用户只要求直接写文章而不需要建立风格档案,不调用本 skill。
只根据用户提供或明确允许获取的样本建模。把作者身份用于样本分组和风格库检索,不把外部履历、既有印象或样本之外的观点写进风格档案。
开始前必须执行:
python "${CLAUDE_SKILL_DIR}/scripts/manage_style_registry.py" resolve-root --workspace-root "."把命令唯一输出记录为 `[风格根目录]`,后续档案、证据和登记表全部使用这个根目录:
1. 接收本地文档或 URL。URL 先调用 `web-article-extractor`,将正文保存到 `docs/YYYY-MM-DD-文章标题.md`。 2. 批量 URL 按“导航 → 等待 → 提取 → 保存”的顺序串行处理;不要在同一页面上下文并发导航。 3. 从每篇样本的作者、公众号和来源 URL 提取作者锚点。 4. 在合并文本前核对全部锚点:
5. 检索 `[风格根目录]/`:新作者新建档案;已存在的作者读取旧档案和旧证据账本,执行增量验证。
在任何风格归纳前,将证据保存到 `[风格根目录]/_evidence/[风格名]_evidence.md`。每条记录包含:
| 字段 | 要求 | |---|---| | 观察现象 | 样本中具体出现的写法 | | 原文证据 | 支撑判断的必要短摘录 | | 出现位置 | 样本标题、编号或 URL | | 功能判断 | 该写法在上下文中的作用 | | 可复用规则 | 如何在新主题中复现 | | 适用边界 | 什么时候适用或不适用 |
硬规则:
证据分级、增量更新和先验隔离规则见 [style-core-and-validation.md](references/style-core-and-validation.md)。
先运行脚本,再写句长、段落、问句和标点结论:
python "${CLAUDE_SKILL_DIR}/scripts/style_fingerprint.py" docs/[样本1].md docs/[样本2].md将结果写入风格档案的 `00b. 量化指纹`,并注明样本数。节奏描述必须与实测一致;句首词至少出现 3 次才可列入词汇指纹。
按 [15-dimensions.md](references/15-dimensions.md) 分析 15 个维度,并额外回答:
1. 作者面对新题目首先观察什么? 2. 作者会自动排除哪些角度、素材和建议? 3. 从现象到判断的论证发动机是什么? 4. 素材选择偏好和拒绝项是什么? 5. 情绪曲线和读者关系是什么? 6. 换一个新主题时,最小可复现配方是什么? 7. 多篇样本反复出现的实质判断和价值排序是什么?
对每条核心规则执行两道检查:
1. 选择样本未覆盖的新主题,写 300–500 字短文。 2. 从切入角度、素材选择、论证推进、句式节奏、情绪与读者关系五项评分,每项 0–2 分。 3. 每个 2 分必须标注对应的证据账本条目;无法溯源按 0 分计。 4. 总分低于 8 分,返回风格内核修正。
1. 准备至少 3 组功能相近的“原文短段 + 仿写短段”,每组随机打乱 A/B。 2. 将每组分别交给不接触风格文件和作者身份的独立评审,只提供两段纯文本。 3. 允许评审回答“无法判断”;每次必须给出判断、置信度和有证据的破绽,不要求凑满固定数量。 4. 汇总而不是单次判定:
5. 用量化脚本复测仿写段;关键节奏指标偏离样本基线超过 30% 时不得通过。
盲测只接收纯文本,不使用工具、不读取文件、不继承本次建模上下文。将原始结果和汇总结论写入风格档案的验证附录。
输出到 `[风格根目录]/[风格名].md`。文件必须包含 YAML Front Matter:
--- author: "作者或公众号名" source_count: 3 last_updated: 2026-07-18 ---
完整结构使用 [style-output-template.md](references/style-output-template.md)。模板中的 01–15 必须与 15 维度参考一一对应;“使用说明”和验证结果作为不编号附录。
更新单个历史文件时,只处理当前目标,不批量改写整个风格库。先预览:
python "${CLAUDE_SKILL_DIR}/scripts/normalize_style_frontmatter.py" "[风格根目录]/[目标文件].md" --check --refresh-existing确认预览范围正确后,去掉 `--check` 执行。脚本使用临时文件原子替换;不要对整个 `[风格根目录]` 静默执行 `--refresh-existing`。
每次新建档案后必须先登记;已有档案重复执行是幂等的,不会把已验证状态静默降级:
python "${CLAUDE_SKILL_DIR}/scripts/manage_style_registry.py" register --style-root "[风格根目录]" --profile "[风格名].md"新登记状态只能是 `legacy_unverified`。单篇样本、证据不足、陌生主题验证失败或盲测未通过时,到此停止,不得升级。
只有证据账本已落盘、跨样本门槛满足、陌生主题验证通过,且至少 3 组独立盲测按本 Skill 的规则汇总通过后,才能显式升级:
python "${CLAUDE_SKILL_DIR}/scripts/manage_style_registry.py" verify --style-root "[风格根目录]" --profile "[风格名].md" --evidence "_evidence/[风格名]_evidence.md" --blind-test-passed`--blind-test-passed` 是人工语义门禁声明,禁止为了让命令通过而提前添加。登记脚本只校验文件、路径和显式声明,不替代跨样本与盲测判断。
无论最终保持 `legacy_unverified` 还是升级为 `verified`,如果 `[风格根目录]` 是 `claude-runtime/styles`,都必须在返回或停机前执行:
python -B "scripts/sync_claude_runtime.py"
把写作从“一次性吐全文”,改成“分阶段策划、证据留痕、审稿、去 AI 味、导出终稿”的流水线。 你拿到的不只是文章,更是一套能反复复用、能中断继续、能回头复盘的写作生产线。 它适合这几类人: 想写长文、观点文、公众号文章,不想再靠一把梭 prompt 碰运气 想让 AI 写作过程可中断、可修改、可复盘 不只想拿到一篇文,而是想把写作变成稳定、可控、可积累的工作流 当前优先接入模型(官方资料核验于 2026-08-31): deepseek-v4-flash:默认推荐的按量方案,成本低,支持 Anthropic
Repo: dongbeixiaohuo/writing-agent
使用隔离的 Chrome DevTools MCP 从博客、新闻、公众号等网页提取正文,返回结构化内容,或保存 Markdown 和远程图片。用户要求提取文章、抓取网页正文、保存为 Markdown、下载文章图片或排查正文选择器时调用。
[MASTER ENTRY POINT] 需要多阶段产物的中文长文、公众号文章与观点文工作流总导演。 用于“写一篇、创作、起草长文、从选题开始”等规划、研究、写作、评审和交付任务。 简单润色、校对、翻译不触发;只分析、创建或更新风格档案时改用 style-modeler。 用户已明确选择 A/B/C…