语音分析器:为你的写作风格生成一个Skill.md,让克劳德像你一样说话——MCP分析你的站点地图,提取和分析语料库,并生成一个Skill.md文件
](https://www.npmjs.com/package/@houtini/voice-analyser) 
MCP服务器,分析您发表的文章并生成克劳德技能,这样克劳德就可以通过模仿真实样本而不是通过规则清单来用您的声音写散文。
快速导航 为什么存在 | 为什么规则不起作用 | 克劳德技能如何改变事物 | 安装 | 快速启动 | 使用技能 | 包裹里有什么 | 分析仪 | 工具参考 | 已知限制
为什么存在
对我来说,这是因为我写了很多东西。文章、博客文章、页面复制——每种都有自己的节奏,当我开始依靠克劳德起草新文章时,我很快就陷入了试图让输出听起来像我的滑坡。
我尝试的第一件事是一本长篇风格指南。我对四十多篇文章进行了语言分析,最终得到了一份500行的标记文档,其中充满了“零容忍”规则、禁忌词、每1000人的形式分数和验证清单。我认为这是个好主意。事实并非如此。输出变得生硬了——我敢肯定,模型在遵守规则方面比自然写作更努力。基本上是认知负荷。
我将完全透明地说明我为什么建造这个,以及在哪里可以节省时间。如果我从头开始,我会做很多不同的事情。你看到的是我在试图用规则列表强行将自己的声音强加给克劳德之后所做的决定,我添加的规则越多,情况就越糟。
为什么基于规则的风格指南不起作用
语气很难形容。找个时间试试——拿一段你自己写的文章,向别人解释 *为什么* 听起来像你。你最终会得到模糊的东西(“对话式的,但不要太随意”)和具体的事情(“我从不使用破折号;我总是从个人锚开始”)。模糊的东西对模型来说毫无用处。具体的事情很容易写下来,但这就是它出错的地方。
如果你告诉克劳德“避免使用破折号”和“每100个单词使用第一人称4次”,“将正式程度评分低于5分”和“始终包含诚实的警告”,它就会服从。输出在技术上是正确的。它读起来就像有人在清单上打分数,而不是实际写作。每一句话都变成了一个小小的合规任务。
根据我的经验,我添加的规则越多,情况就越糟。我会写更长的风格指南,以为我能捕捉到更多的声音。我捕捉到了更多的 *约束*那些不是一回事。
克劳德技能如何改变事物
不久前,我遇到了克劳德的一种技能,叫做“穴居人”,它通过像穴居人一样说话,将克劳德的输出压缩了75%左右。放下文章,放下填充物,碎片好的。整件事是一个简短的SKILL.md——也许40行。
它奏效了。而且它没有“零容忍”框架或形式评分。这项技能并没有试图用规则来定义穴居人的语言。它展示了一些例子。“不是:‘当然!我很乐意帮忙……’。是:‘身份验证中的错误。令牌过期使用\//skill/`:
skill/
SKILL.md
samples/
001-.md
002-.md
... (25 by default, sampled across the article-length spectrum)SKILL.md 本身很短。只有当语料库为这些部分生成真实数据时,才会发出这些部分:
| 第节 | 内容 |
|---|---|
| YAML frontmatter | 技能 name 和一个 description 充斥着触发短语(“像X一样写作”、“用X的声音”、“我们的声音”),因此克劳德会自动将该技能加载到相关的散文任务中 |
| 英雄段落 | 阅读三个随机样本,匹配节奏,不要意译 |
## Persistence | 在整个对话中保持活跃。删除代码块、错误消息、JSON、表的语音 |
## Rules | 基本命令——只有语料库证明的命令。Em dash策略、空洞的增强器(“老实说”、“真的”)、带有替换提示的AI漏洞、设备命名约定 |
## How sentences start | 从语料库中提取多达12个真实的开口形状 |
## Phrases that recur | 顶级签名对冲、合议模式、身份标记、不确定性标记——带有频率计数 |
## How to hedge | 从语料库中筛选出真正的警告句,过滤成真正的模糊限制语 |
## When stuck | “阅读另一个示例” |
从六篇文章的测试中生成的一小部分输出:
## Rules
- No em-dashes (—). En-dashes (–) are fine and used liberally for asides.
- No "honestly", "really".
- No AI slop: "optimize" (use "improve").
- Name kit by make with a first-person possessive: "my LAN", "our Zotac",
"my SupraHex". Not "the GPU", "the PCB".
## Phrases that recur
- "Of course" (6×)
- "I think" (6×)
- "Could be" (2×)
- "I'm pretty sure"
- "Fell down the slippery slope"六个分析器
每个都至少提供SKILL.md的一部分。输出到 //analysis/:
| 文件 | 它捕获了什么 | 它在SKILL.md中的显示位置 |
|---|---|---|
phrase-library.json | 开场模式、过渡、警告短语、设备短语、人工智能陈词滥调 | ## How sentences start, ## How to hedge, ## Rules (AI快照) |
voice.json | 第一人称标记、空心增强器、签名对冲、营销话语、身份标记 | ## Rules (强化剂、营销), ## Phrases that recur |
punctuation.json | 破折号类型(em vs en)、逗号密度、括号 | ## Rules (em-dash政策) |
vocabulary-tiers.json | 形式评分、人工智能斜率检测和替代方案 | ## Rules (无AI斜坡) |
vulnerability-patterns.json | 不确定性标记、错误承认、限制声明 | ## Phrases that recur (仅限多单词模式) |
specificity-patterns.json | 占有名词与一般指称、支配名词 | ## Rules (设备命名) |
如果某个部分 SKILL.md 缺失,这是因为分析器没有找到足够的数据来填充它。这是故意的——没有规则比建立在单一事件上的规则要好。
最低语料库要求
- 最低要求: 15000字(约20篇文章)
- 推荐: 30000字(约40篇文章)
- 理想: 50000+字
低于15k个单词的短语频率变得不可靠。这项技能仍然会产生——只是它不会有相同密度的签名短语。
MCP工具参考
collect_corpus
抓取站点地图并收集干净的写作语料库。
| 参数 | 必填 | 说明 |
|---|---|---|
sitemap_url | 是 | XML站点地图URL |
output_name | 是 | 语料库标识符(例如“我的声音”) |
output_dir | 是 | 存储目录 |
max_articles | 否 | 文章限制(默认值:100) |
article_pattern | 否 | 正则表达式URL筛选器 |
analyze_corpus
对收集到的语料库运行六个分析器。
| 参数 | 必填 | 说明 |
|---|---|---|
corpus_name | 是 | 姓名来自 collect_corpus |
corpus_dir | 是 | 包含语料库的目录 |
生成语音技能
生成克劳德技能包(SKILL.md 加上真实的文章样本),因此克劳德通过模仿实际写作而不是遵循规则列表,以语料库作者的声音写散文。输出转到 //skill/.
| 参数 | 必填 | 说明 |
|---|---|---|
corpus_name | 是 | 姓名来自 analyze_corpus |
corpus_dir | 是 | 包含分析的目录 |
sample_count | 否 | 要捆绑的物品样本数(默认值:25) |
发展
git clone https://github.com/houtini-ai/voice-analyser-mcp.git
cd voice-analyser-mcp
npm install
npm run buildClaude Desktop配置中的本地开发模式:
{
"mcpServers": {
"voice-analysis": {
"command": "node",
"args": ["C:\\path\\to\\voice-analyser-mcp\\dist\\index.js"]
}
}
}已知限制
- 需要一个XML站点地图。目前还不支持RSS提要。
- 最适合单作者内容。混合作者削弱了重复出现的短语信号——分析无法分辨谁的声音是谁的。
- 经过大量编辑的内容会产生不太明显的声音模式。如果你的文章已经通过了文案编辑,你会像抓住你的手一样抓住编辑的手。
SKILL.md当语料库不能为可靠的模式产生足够的数据时,部分会被省略。这是有意的——没有规则总比建立在单一事件上的规则好。- MCP在本地运行。语料库和分析保留在您的机器上。没有任何东西离开设备。
______________________________________________________________________
许可证: Apache 2.0 作者 胡蒂尼 版本: 1.5.0

