关于 style-learner
style-learner 从样本文本提取量化特征并挑选代表性段落,生成可复用的风格档案,供写作和内容生成流程使用。它还提供新内容验证步骤,以检查档案是否符合预期。
主要功能
- 01提取量化写作风格指标
- 02挑选代表性段落
- 03生成可复用的风格档案
- 04依据新内容验证档案
- 05与 slop-detector 集成
适用场景
- 01根据样本文本建立风格指南
- 02按目标语气生成文档
- 03检查生成文本是否符合风格档案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill style-learner安装后在 Claude Code 中输入/style-learner确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
modules/exemplar-reference.mdfeature-extraction.mdstyle-application.md详细介绍
风格学习技能
风格档案由指标和范例组成。单独使用其中任何一项, 都不足以复现某种表达风格。
从范例文本中提取风格,并将其整理为档案,
以便下游技能(scribe:doc-generator、
scribe:voice-generate)一致地应用。
不适用场景
- 从某人的样本文本中提取其表达风格(使用
scribe:voice-extract) - 根据档案审阅文本(使用
scribe:voice-review)
方法:特征提取与范例参考
该技能结合两种方法,因为单独使用任何一种都有不足:
- 特征提取:可量化的指标(句长分布、 词汇复杂度、结构模式)。可复现,但缺乏灵魂。
- 范例参考:展示目标风格的具体段落。生动, 但难以大规模应用。
两者结合后,档案既足够精确,可以为新文本评分, 又足够丰富,可以指导改写。指标能捕捉范例遗漏的内容。 范例则能呈现指标无法保留的特质。
必需的 TodoWrite 项目
style-learner:exemplar-collected- 已收集源文本style-learner:features-extracted- 已计算定量指标style-learner:exemplars-selected- 已确定代表性段落style-learner:profile-generated- 已创建风格指南style-learner:validation-complete- 已使用新内容测试档案
步骤 1:收集范例文本
收集能代表目标风格的样本。
最低要求:
- 范例文本至少 1000 个词
- 建议提供多个样本(以体现一致性)
- 与目标输出属于相同体裁和上下文
## Exemplar Sources
| Source | Word Count | Type |
|--------|------------|------|
| README.md | 850 | Technical |
| blog-post-1.md | 1200 | Narrative |
| api-guide.md | 2100 | Reference |
步骤 2:特征提取
加载:@modules/feature-extraction.md
词汇指标
| 指标 | 测量方式 | 指示内容 |
|---|---|---|
| 平均词长 | 字符数/词 | 复杂度 |
| 独特词汇比例 | 独特词数/总词数 | 词汇广度 |
| 术语密度 | 每 100 个词中的技术术语数 | 受众水平 |
| 缩略形式使用率 | 缩略形式数/句子数 | 正式程度 |
句子指标
| 指标 | 测量方式 | 指示内容 |
|---|---|---|
| 平均句长 | 词数/句子数 | 复杂度 |
| 长度方差 | 句长的标准差 | 自然变化 |
| 疑问句频率 | 每 100 句中的疑问句数 | 互动风格 |
| 片段句使用率 | 每 100 句中的片段句数 | 风格冲击力 |
结构指标
| 指标 | 测量方式 | 指示内容 |
|---|---|---|
| 段落长度 | 句子数/段落数 | 信息密度 |
| 列表比例 | 项目符号行数/总行数 | 格式偏好 |
| 标题层级 | 最高标题层级 | 组织风格 |
| 代码块频率 | 每 1000 个词中的代码块数 | 技术密度 |
标点特征
| 指标 | 常见范围 | 风格指示 |
|---|---|---|
| 破折号频率 | 每 1000 个词 0-3 个 | 插入语风格 |
| 分号频率 | 每 1000 个词 0-2 个 | 正式复杂度 |
| 感叹号频率 | 每 1000 个词 0-1 个 | 热情程度 |
| 省略号频率 | 每 1000 个词 0-1 个 | 话语未尽风格 |
步骤 3:选择范例
加载:@modules/exemplar-reference.md
选择 3-5 个最能代表目标风格的段落(每段 50-150 个词)。
选择标准:
- 展现典型的句子节奏
- 展示典型的词汇选择
- 体现期望的语气
- 避免不典型或特殊的段落
范例模板
### Exemplar 1: [Label]
**Source**: [filename, lines X-Y]
**Demonstrates**: [what aspect of style]
> [Quoted passage]
**Key characteristics**:
- [Observation 1]
- [Observation 2]
步骤 4:生成风格档案
将提取的特征和范例整合为实用的风格指南。
档案格式
# Style Profile: [Name]
# Generated: [Date]
# Exemplar sources: [List]
voice:
tone: [professional/casual/academic/conversational]
perspective: [first-person/third-person/second-person]
formality: [formal/neutral/informal]
vocabulary:
average_word_length: X.X
jargon_level: [none/light/moderate/heavy]
contractions: [avoid/occasional/frequent]
preferred_terms:
- "use" over "utilize"
- "help" over "facilitate"
avoided_terms:
- delve
- leverage
- comprehensive
sentences:
average_length: XX words
length_variance: [low/medium/high]
fragments_allowed: [yes/no/sparingly]
questions_used: [yes/no/sparingly]
structure:
paragraphs: [short/medium/long] (X-Y sentences)
lists: [prefer prose/balanced/prefer lists]
headers: [descriptive/terse/question-style]
punctuation:
em_dashes: [avoid/sparingly/freely]
semicolons: [avoid/sparingly/freely]
oxford_comma: [yes/no]
exemplars:
- label: "[Exemplar 1 label]"
text: |
[Quoted passage]
- label: "[Exemplar 2 label]"
text: |
[Quoted passage]
anti_patterns:
- [Pattern to avoid 1]
- [Pattern to avoid 2]
步骤 5:验证
使用新内容测试档案:
- 使用该档案生成示例内容
- 将指标与提取的特征进行比较
- 请用户评估表达风格和语气是否匹配
- 根据反馈完善档案
验证清单
- 指标与示例平均值的差异在 20% 以内
- 不存在反模式违规
- 语气符合用户预期
- 用词与示例一致
- 结构遵循配置文件指南
在生成内容时的用法
生成新内容时,请参考配置文件:
Generate [content type] following the style profile:
- Voice: [from profile]
- Sentence length: target ~[X] words, vary between [Y-Z]
- Use exemplar passage as tone reference:
> [exemplar quote]
- Avoid: [anti-patterns from profile]
模块参考
- 关于如何将学到的风格应用于新内容,请参阅
modules/style-application.md
与 slop-detector 集成
生成内容后,运行 slop-detector 进行验证:
- 未引入 AI 痕迹
- 风格指标与配置文件一致
- 避免反模式
退出条件
- 已创建风格配置文件文档
- 至少包含 3 段示例文本
- 已提取定量指标
- 已整合 slop-detector 检测到的反模式
- 验证测试已通过
评论
支持 Markdown