从同一作者或公众号的文章样本中建立、验证或增量更新可复用的写作风格档案。用户要求风格建模、提取写作配方、解构文章、学习作者风格、创建或更新风格库时调用;如果用户只要求直接写文章而不需要建立风格档案,不调用本 skill。
Scanned 9/12/2026
Install to Claude Code
npx -y skills add thedixitjain/the-mega-skill-library --skill style-modeler --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Style Modeler?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-style-modeler)More formats (shields.io, HTML) on the badges page.
---
name: style-modeler
description: "从同一作者或公众号的文章样本中建立、验证或增量更新可复用的写作风格档案。用户要求风格建模、提取写作配方、解构文章、学习作者风格、创建或更新风格库时调用;如果用户只要求直接写文章而不需要建立风格档案,不调用本 skill。"
category: general-purpose
source_repo: dongbeixiaohuo/writing-agent
source_path: ".claude/skills/style-modeler/SKILL.md"
source_url: https://github.com/dongbeixiaohuo/writing-agent/blob/HEAD/.claude/skills/style-modeler/SKILL.md
---
# 风格建模专家
只根据用户提供或明确允许获取的样本建模。把作者身份用于样本分组和风格库检索,不把外部履历、既有印象或样本之外的观点写进风格档案。
## 1. 收集样本并确认作者锚点
1. 接收本地文档或 URL。URL 先调用 `web-article-extractor`,将正文保存到 `docs/YYYY-MM-DD-文章标题.md`。
2. 批量 URL 按“导航 → 等待 → 提取 → 保存”的顺序串行处理;不要在同一页面上下文并发导航。
3. 从每篇样本的作者、公众号和来源 URL 提取作者锚点。
4. 在合并文本前核对全部锚点:
- 作者锚点一致:继续建模。
- 作者锚点不一致:按作者分组;无法可靠分组时停下,请用户确认是否真的要建立“混合风格”。
- 作者未知:保留来源标识,不猜测作者。
5. 检索 `.claude/styles/`:新作者新建档案;已存在的作者读取旧档案和旧证据账本,执行增量验证。
## 2. 先建立证据账本
在任何风格归纳前,将证据保存到 `.claude/styles/_evidence/[风格名]_evidence.md`。每条记录包含:
| 字段 | 要求 |
|---|---|
| 观察现象 | 样本中具体出现的写法 |
| 原文证据 | 支撑判断的必要短摘录 |
| 出现位置 | 样本标题、编号或 URL |
| 功能判断 | 该写法在上下文中的作用 |
| 可复用规则 | 如何在新主题中复现 |
| 适用边界 | 什么时候适用或不适用 |
硬规则:
- 稳定特征至少要有 2 条证据,且来自至少 2 篇独立样本。
- 单篇样本只能产出“候选特征”,不能宣称是稳定风格。
- 不把样本主题等同于作者风格。
- 每条画像、判断和使用规则都必须能回指证据账本。
- 原文摘录只保留证明结论所需的最短片段,不把长段原文当模板堆入风格文件。
证据分级、增量更新和先验隔离规则见 [style-core-and-validation.md](references/style-core-and-validation.md)。
## 3. 运行量化指纹
先运行脚本,再写句长、段落、问句和标点结论:
```bash
python "${CLAUDE_SKILL_DIR}/scripts/style_fingerprint.py" docs/[样本1].md docs/[样本2].md
```
将结果写入风格档案的 `00b. 量化指纹`,并注明样本数。节奏描述必须与实测一致;句首词至少出现 3 次才可列入词汇指纹。
## 4. 提炼风格,而不是通用好文章公式
按 [15-dimensions.md](references/15-dimensions.md) 分析 15 个维度,并额外回答:
1. 作者面对新题目首先观察什么?
2. 作者会自动排除哪些角度、素材和建议?
3. 从现象到判断的论证发动机是什么?
4. 素材选择偏好和拒绝项是什么?
5. 情绪曲线和读者关系是什么?
6. 换一个新主题时,最小可复现配方是什么?
7. 多篇样本反复出现的实质判断和价值排序是什么?
对每条核心规则执行两道检查:
- **通用基线检查**:任何优秀写作者本来就会做的规则,移到“通用基线”,不算作者指纹。
- **库内区分检查**:与两个以上既有风格重复的规则降级,并写出与最相近风格的“区分开关”。
## 5. 做可证伪的仿写验证
### 5.1 陌生主题验证
1. 选择样本未覆盖的新主题,写 300–500 字短文。
2. 从切入角度、素材选择、论证推进、句式节奏、情绪与读者关系五项评分,每项 0–2 分。
3. 每个 2 分必须标注对应的证据账本条目;无法溯源按 0 分计。
4. 总分低于 8 分,返回风格内核修正。
### 5.2 多组独立盲测
1. 准备至少 3 组功能相近的“原文短段 + 仿写短段”,每组随机打乱 A/B。
2. 将每组分别交给不接触风格文件和作者身份的独立评审,只提供两段纯文本。
3. 允许评审回答“无法判断”;每次必须给出判断、置信度和有证据的破绽,不要求凑满固定数量。
4. 汇总而不是单次判定:
- 至少 2 组判断错误或无法判断,且没有高置信度的“判断方式”破绽:通过。
- 至少 2 组正确识别,或出现高置信度的判断方式破绽:回炉修正风格内核。
5. 用量化脚本复测仿写段;关键节奏指标偏离样本基线超过 30% 时不得通过。
盲测只接收纯文本,不使用工具、不读取文件、不继承本次建模上下文。将原始结果和汇总结论写入风格档案的验证附录。
## 6. 生成或更新风格档案
输出到 `.claude/styles/[风格名].md`。文件必须包含 YAML Front Matter:
```yaml
---
author: "作者或公众号名"
source_count: 3
last_updated: 2026-07-18
---
```
完整结构使用 [style-output-template.md](references/style-output-template.md)。模板中的 01–15 必须与 15 维度参考一一对应;“使用说明”和验证结果作为不编号附录。
更新单个历史文件时,只处理当前目标,不批量改写整个风格库。先预览:
```bash
python "${CLAUDE_SKILL_DIR}/scripts/normalize_style_frontmatter.py" ".claude/styles/[目标文件].md" --check --refresh-existing
```
确认预览范围正确后,去掉 `--check` 执行。脚本使用临时文件原子替换;不要对整个 `.claude/styles` 目录静默执行 `--refresh-existing`。
## 完成条件
- 作者锚点已核对,未把不同作者样本意外混合。
- 证据账本已落盘,稳定特征满足跨样本门槛。
- 量化指标来自脚本实测。
- 15 个维度、风格内核、区分开关和适用边界完整。
- 至少 3 组独立盲测已汇总,失败项已反向修正。
- 风格档案 Front Matter、证据路径和更新时间正确。
---
**Source:** [`dongbeixiaohuo/writing-agent`](https://github.com/dongbeixiaohuo/writing-agent) → `.claude/skills/style-modeler/SKILL.md`
**Also appears in:** `dongbeixiaohuo/writing-agent/claude-runtime/skills/style-modeler/SKILL.md`, `dongbeixiaohuo/writing-agent/plugins/writing-agent/skills/style-modeler/SKILL.md`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!