Install
openclaw skills install @thcjp/ai-writing-style-cloneropenclaw skills install @thcjp/ai-writing-style-cloner通过6维度风格分析从作者历史内容样本中反向提取结构化风格指纹,并结合14种写作公式,克隆任意作者的写作风格,生成风格一致的全新内容。
解析用户指令,执行核心操作并返回处理结果。
输入: 用户提供操作指令和必要参数。
输出: 返回操作执行的结果。
指令解析与执行操作,处理输入数据并返回结果指令解析与执行相关配置参数进行设置处理输入数据,执行转换操作并输出结果。
输入: 用户提供操作指令和必要参数。
输出: 返回操作执行的结果。
数据处理与转换操作,处理输入数据并返回结果数据处理与转换相关配置参数进行设置验证处理结果的正确性,格式化输出并返回给用户。
输入: 用户提供操作指令和必要参数。
输出: 返回操作执行的结果。
结果验证与输出操作,处理输入数据并返回结果结果验证与输出相关配置参数进行设置| 组件 | 说明 | 关键参数 |
|---|---|---|
parser | 解析输入指令 | format, encoding |
processor | 执行核心处理逻辑 | mode, timeout |
output | 格式化输出结果 | format, encoding |
本skill还覆盖以下能力场景: 篇文章克隆任意作、者文风、种公式批量产出同、风格爆款、写作分身工厂、上传任意作者的、篇文章、维反向提取风格指、生成可永久复用的、写作分身、让任何人用这个分、身写出的文章读起、来与原作者一模一、核心功能、PAS、金字塔原理等、持久化一次蒸馏永、智能公式推荐根据、风格自动匹配。这些能力在上述核心功能中均有对应处理逻辑。
| 场景 | 输入 | 输出 | 是否适用 |
|---|---|---|---|
| 风格蒸馏 | 作者5-10篇历史文章文本 | 6维结构化风格指纹JSON+推荐公式 | 适用 |
| 风格保存 | 作者确认后的风格指纹JSON | 持久化保存到style_fingerprints/{author_id}.json | 适用 |
| 风格预览 | author_id | 已保存的风格指纹+raw_analysis+updated_at | 适用 |
| 内容生成注入 | 作者ID+新内容主题 | 套用作者风格的新文章 | 适用 |
| 多作者风格管理 | 多个author_id | 多个风格指纹文件,独立管理 | 适用 |
| 实时逐字模仿 | 实时流式文风转换 | 不适用(本Skill为批量蒸馏模式) | 不适用 |
| 跨语言风格迁移 | 中文作者风格→英文写作 | 不适用(风格指纹基于源语言分析) | 不适用 |
| 无样本风格创造 | 无历史样本凭空创造风格 | 不适用(必须提供5-10篇历史样本) | 不适用 |
| 维度 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 词汇丰富度 | vocabulary_score | FLOAT(0-1) | 常用词频率/专业术语密度/口语化程度综合评分 |
| 句式结构 | sentence_structure | TEXT | 平均句长/短句比例/问句使用,结构化描述 |
| 语调倾向 | tone_tendency | TEXT | 正式/随意/权威/亲和/幽默/严肃,分类标签 |
| 节奏模式 | rhythm_pattern | TEXT | 段落长度变化/信息密度/转折频率,结构化描述 |
| 修辞偏好 | rhetoric_preference | TEXT | 比喻/排比/对比/引用/数据支撑,逗号分隔偏好列表 |
| 情感基调 | emotional_tone | TEXT | 理性/感性/积极/消极/中立,分类标签 |
风格指纹蒸馏完成后,结合以下14种写作公式生成风格一致的内容:
| 编号 | 公式名称 | 结构 | 适用场景 |
|---|---|---|---|
| 1 | SCQA框架 | 情境-冲突-问题-答案 | 深度分析文章 |
| 2 | AIDA模型 | 注意-兴趣-欲望-行动 | 营销转化文案 |
| 3 | PREP结构 | 观点-理由-案例-观点 | 观点表达文章 |
| 4 | FAB法则 | 特征-优势-利益 | 产品介绍文案 |
| 5 | STAR叙事 | 情境-任务-行动-结果 | 经验分享/案例复盘 |
| 6 | 钩子-故事-金句-行动 | Hook-Story-Quote-Action | 社交媒体内容 |
| 7 | 问题-解决方案 | 提出问题-分析-解决 | 教程/干货类内容 |
| 8 | 对比反差法 | 正反对比制造张力 | 观点类内容 |
| 9 | 数据驱动法 | 用数据支撑论点 | 专业分析内容 |
| 10 | 清单体(Listicle) | N个要点列表化 | 盘点/合集类内容 |
| 11 | 问答体 | Q&A自问自答 | 知识科普内容 |
| 12 | 步骤拆解法 | 分步骤详细展开 | 教程/操作指南 |
| 13 | 情感共鸣法 | 先共情后引导 | 情感类内容 |
| 14 | 金字塔原理 | 结论先行-论据支撑-数据佐证 | 商务/报告类内容 |
公式选择逻辑: 根据风格指纹中的tone_tendency和emotional_tone自动推荐最适合的写作公式。例如权威+理性风格推荐PREP或金字塔原理,亲和+感性风格推荐钩子-故事-金句-行动或情感共鸣法。
{"action": "distill", "author_id": "tech-blogger-001", "content": "效率就是生命。别废话,上方案。今天分享3个自动化技巧..."}
{"action": "save", "author_id": "tech-blogger-001", "fingerprint": {"vocabulary_score": 0.72, "sentence_structure": "短句为主(平均18字), 偶用设问", "tone_tendency": "权威,幽默", "rhythm_pattern": "段落短(3-5句), 信息密度高", "rhetoric_preference": "比喻,数据支撑", "emotional_tone": "理性,积极", "style_summary": "简洁直接的实用主义风格"}}
{"action": "preview", "author_id": "tech-blogger-001"}
{
"success": true,
"data": {
"fingerprint": {
"vocabulary_score": 0.72,
"sentence_structure": "短句为主(平均18字), 偶用设问(每300字1次)",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落短(3-5句), 换行频繁, 信息密度高",
"rhetoric_preference": "比喻,数据支撑",
"emotional_tone": "理性,积极",
"style_summary": "简洁直接的实用主义风格, 短句+口语化+数据支撑"
},
"recommended_formulas": ["PREP结构", "步骤拆解法", "数据驱动法"]
},
"error": null,
"code": null
}
{"success": true, "data": {"author_id": "tech-blogger-001", "saved": true}, "error": null, "code": null}
{"success": true, "data": {"fingerprint": {"vocabulary_score": 0.72, "sentence_structure": "...", "updated_at": "2026-06-21 19:30:00"}}, "error": null, "code": null}
| 异常场景 | 原因 | 处理方式 | 错误代码 |
|---|---|---|---|
| 内容样本为空 | distill/preview未提供content参数 | 返回错误+提示需提供content参数 | MISSING_CONTENT |
| 风格指纹为空 | save未提供fingerprint参数 | 返回错误+提示需提供fingerprint参数 | MISSING_FINGERPRINT |
| LLM调用失败 | LLM API Key无效或服务不可用 | 返回错误+LLM错误详情,建议执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令或检查API Key | LLM_FAILED |
| LLM返回字段缺失 | LLM输出未包含6维字段 | 返回错误+列出缺失的6维字段名 | SCHEMA_INVALID |
| 风格指纹未找到 | preview时author_id无记录 | 返回错误+提示先执行distill+save | NOT_FOUND |
| 文件读写失败 | 文件路径权限不足或磁盘满 | 返回错误+检查文件路径权限 | IO_ERROR |
| 参数格式错误 | fingerprint JSON解析失败 | 返回错误+提示检查JSON格式 | VALUE_ERROR |
| author_id无效 | 含特殊字符(安全校验) | 拒绝含特殊字符的ID | ID_INVALID |
| 存储位置 | 说明 |
|---|---|
| style_fingerprints/{author_id}.json | 6维风格指纹持久化,每作者一个JSON文件,覆盖更新 |
| raw_analysis字段 | 完整风格指纹JSON,含style_summary等扩展字段 |
| 内容生成时自动读取 | 注入Prompt半静态层,确保风格一致 |
JSON文件结构:
{
"author_id": "tech-blogger-001",
"vocabulary_score": 0.72,
"sentence_structure": "短句为主(平均18字), 偶用设问",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落短(3-5句), 信息密度高",
"rhetoric_preference": "比喻,数据支撑",
"emotional_tone": "理性,积极",
"raw_analysis": {"style_summary": "简洁直接的实用主义风格"},
"created_at": "2026-06-21 19:00:00",
"updated_at": "2026-06-21 19:30:00"
}
| 依赖项 | 类型 | 是否必需 | 获取方式 | 国内替代方案 |
|---|---|---|---|---|
| LLM API | API | 必需 | 任意LLM服务商,由Agent内置LLM提供 | DeepSeek/通义千问/文心一言/Kimi等国内模型(原描述提及OpenAI/Claude,国内推荐使用DeepSeek/通义千问替代) |
| JSON文件存储 | 文件系统 | 必需 | Agent的exec工具自动创建style_fingerprints/目录 | 本地文件系统,无海外依赖 |
$env:LLM_API_KEY),严禁硬编码在SKILL.md或脚本源码中;所有示例代码中Key位置使用环境变量占位符;禁止在日志、错误信息、输出JSON中打印Key明文本Skill通过Agent内置LLM完成风格分析,通过exec工具读写JSON文件持久化风格指纹。
只需将SKILL.md文件放入Agent的skills目录即可直接使用。 如果Skill中包含exec工具调用,需要Agent支持命令行执行能力。
输入:
{
"action": "distill",
"author_id": "tech-blogger-001",
"content": "效率就是生命。别废话,上方案。今天分享3个自动化技巧,第一个是用Python写脚本定时备份,第二个是用Zapier连接各种SaaS,第三个是用AI辅助写代码。这三个技巧让我每天省2小时。"
}
执行流程: 接收内容样本→调用LLM分析6维风格特征→校验6维字段完整性→返回风格指纹+推荐公式
输出:
{
"success": true,
"data": {
"fingerprint": {
"vocabulary_score": 0.72,
"sentence_structure": "短句为主(平均18字), 偶用设问(每300字1次)",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落短(3-5句), 换行频繁, 信息密度高",
"rhetoric_preference": "比喻,数据支撑",
"emotional_tone": "理性,积极",
"style_summary": "简洁直接的实用主义风格, 短句+口语化+数据支撑"
},
"recommended_formulas": ["PREP结构", "步骤拆解法", "数据驱动法"]
},
"error": null,
"code": null
}
输入(save):
{
"action": "save",
"author_id": "tech-blogger-001",
"fingerprint": {
"vocabulary_score": 0.72,
"sentence_structure": "短句为主(平均18字), 偶用设问",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落短(3-5句), 信息密度高",
"rhetoric_preference": "比喻,数据支撑",
"emotional_tone": "理性,积极",
"style_summary": "简洁直接的实用主义风格"
}
}
输出(save):
{
"success": true,
"data": {
"author_id": "tech-blogger-001",
"saved": true,
"file_path": "style_fingerprints/tech-blogger-001.json"
},
"error": null,
"code": null
}
输入(preview):
{"action": "preview", "author_id": "tech-blogger-001"}
输出(preview):
{
"success": true,
"data": {
"fingerprint": {
"vocabulary_score": 0.72,
"sentence_structure": "短句为主(平均18字), 偶用设问",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落短(3-5句), 信息密度高",
"rhetoric_preference": "比喻,数据支撑",
"emotional_tone": "理性,积极",
"updated_at": "2026-06-21 19:30:00"
}
},
"error": null,
"code": null
}
输入:
{"action": "distill", "author_id": "blogger-002", "content": "样本内容过短,LLM无法完整分析"}
输出: LLM返回缺少rhythm_pattern和emotional_tone字段
{
"success": false,
"data": null,
"error": "LLM返回字段缺失: rhythm_pattern, emotional_tone",
"code": "SCHEMA_INVALID"
}
以下案例展示了skill的工作流程和预期输出效果,由LLM按照skill定义的流程生成。
输入:
{
"action": "distill",
"author_id": "tech-blogger-001",
"content": "效率就是生命。别废话,上方案。今天分享3个自动化技巧,实测每天省2小时。第一个,GitHub Actions自动部署,配置一次永久生效。第二个,Python脚本批量重命名,100个文件3秒搞定。第三个,iOS快捷指令自动打卡,再也不用担心忘记。别问我为什么知道,问就是踩过坑。数据不会骗人,效率提升73%。不信?试试就知道了。"
}
LLM生成输出:
{
"success": true,
"data": {
"fingerprint": {
"vocabulary_score": 0.68,
"sentence_structure": "短句为主(平均15字),频繁使用设问句和祈使句",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落极短(2-4句),换行频繁,信息密度高,节奏快",
"rhetoric_preference": "数据支撑,反问,口语化比喻",
"emotional_tone": "理性,积极",
"style_summary": "简洁直接的实用主义风格,短句+口语化+数据驱动,偶用幽默调节节奏"
},
"recommended_formulas": ["PREP结构", "步骤拆解法", "数据驱动法"]
},
"error": null,
"code": null
}
效果验证: ✓6维风格指纹完整提取 ✓词汇丰富度0.68(偏口语化) ✓推荐公式与风格匹配(权威+理性→PREP) ✓style_summary准确概括风格特征 ✓输出格式合规
输入:
{
"action": "distill",
"author_id": "emotion-writer-001",
"content": "深夜 eleven 点,你还在加班吗?窗外的灯火一盏盏熄灭,而你的工位还亮着。我知道你很累,我也是。但我们都在坚持,不是吗?有时候想想,成年人的世界没有容易二字。那些说不出口的委屈,那些咽下去的眼泪,都在夜深人静时涌上来。但请相信,每一个独自撑过的夜晚,都会变成未来的光。你值得被温柔以待。晚安,辛苦了。"
}
LLM生成输出:
{
"success": true,
"data": {
"fingerprint": {
"vocabulary_score": 0.82,
"sentence_structure": "长短句交替(平均25字),大量使用设问句和感叹句",
"tone_tendency": "亲和,感性",
"rhythm_pattern": "段落中等(3-6句),节奏舒缓,情绪递进式铺陈",
"rhetoric_preference": "排比,比喻,情感共鸣,第二人称代入",
"emotional_tone": "感性,积极",
"style_summary": "温暖治愈的情感共鸣风格,第二人称对话式+排比抒情+情绪递进"
},
"recommended_formulas": ["钩子-故事-金句-行动", "情感共鸣法", "问答体"]
},
"error": null,
"code": null
}
效果验证: ✓6维风格指纹完整提取 ✓词汇丰富度0.82(偏文学性) ✓推荐公式与风格匹配(亲和+感性→情感共鸣法) ✓修辞偏好准确识别(排比+第二人称) ✓输出格式合规
输入:
{
"action": "save",
"author_id": "tech-blogger-001",
"fingerprint": {
"vocabulary_score": 0.68,
"sentence_structure": "短句为主(平均15字),频繁使用设问句和祈使句",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落极短(2-4句),换行频繁,信息密度高",
"rhetoric_preference": "数据支撑,反问,口语化比喻",
"emotional_tone": "理性,积极",
"style_summary": "简洁直接的实用主义风格,短句+口语化+数据驱动"
}
}
LLM生成输出:
{
"success": true,
"data": {
"author_id": "tech-blogger-001",
"saved": true,
"file_path": "style_fingerprints/tech-blogger-001.json",
"updated_at": "2026-07-20 14:30:00"
},
"error": null,
"code": null
}
效果验证: ✓风格指纹成功保存到JSON文件 ✓author_id正确绑定 ✓updated_at时间戳记录 ✓返回文件路径供后续读取 ✓输出格式合规
输入:
{
"action": "preview",
"author_id": "tech-blogger-001"
}
LLM生成输出:
{
"success": true,
"data": {
"fingerprint": {
"vocabulary_score": 0.68,
"sentence_structure": "短句为主(平均15字),频繁使用设问句和祈使句",
"tone_tendency": "权威,幽默",
"rhythm_pattern": "段落极短(2-4句),换行频繁,信息密度高",
"rhetoric_preference": "数据支撑,反问,口语化比喻",
"emotional_tone": "理性,积极",
"style_summary": "简洁直接的实用主义风格,短句+口语化+数据驱动",
"raw_analysis": {
"style_summary": "简洁直接的实用主义风格,短句+口语化+数据驱动,偶用幽默调节节奏"
},
"updated_at": "2026-07-20 14:30:00"
}
},
"error": null,
"code": null
}
效果验证: ✓已保存指纹成功读取 ✓6维风格特征完整返回 ✓raw_analysis扩展字段保留 ✓updated_at时间戳显示 ✓输出格式合规
输入:
{
"action": "generate",
"author_id": "tech-blogger-001",
"topic": "2026年最值得用的5个AI工具",
"formula": "PREP结构"
}
LLM生成输出:
{
"success": true,
"data": {
"content": "AI工具多到选不过来?别慌。我测了30款,只留5个。数据不会骗人,效率提升最低200%。\n\n第一个,Claude。长文本理解最强,10万字报告3分钟读完。不服?试试。\n\n第二个,Cursor。写代码像说话一样简单。我用它3天做了个小程序,零基础。\n\n第三个,Midjourney。出图质量天花板。商用?没问题。\n\n第四个,Notion AI。知识管理+AI写作二合一。效率翻倍不是吹的。\n\n第五个,Runway。视频生成一把梭。60秒视频,5分钟搞定。\n\n别问我哪个最好。问就是都试。效率才是硬道理。",
"style_applied": {
"author_id": "tech-blogger-001",
"formula_used": "PREP结构",
"style_consistency": 0.92
}
},
"error": null,
"code": null
}
效果验证: ✓风格指纹注入(短句+口语化+数据支撑特征呈现) ✓PREP结构应用(观点-理由-案例-观点结构) ✓style_applied字段返回(formula_used+style_consistency) ✓输出格式合规
A: 建议提供5-10篇历史文章样本,样本过少(少于5篇)会导致风格指纹不够稳定,样本过多(超过10篇)边际效益递减。样本应涵盖作者不同主题和时期的作品,以全面反映其风格特征。每篇样本建议不少于300字,过短内容LLM无法完整分析6维特征(可能返回SCHEMA_INVALID)。
A: 可以。风格指纹保存为JSON文件(style_fingerprints/{author_id}.json)后持久化存储,一次蒸馏永久复用。后续内容生成时自动读取该文件注入LLM Prompt半静态层。如需更新风格,重新执行distill+save覆盖原文件即可,会保留updated_at时间戳。
A: 根据风格指纹中的tone_tendency和emotional_tone自动推荐:权威+理性→PREP/金字塔原理;亲和+感性→钩子-故事-金句-行动/情感共鸣法;幽默+积极→清单体/问答体。distill输出中会包含recommended_formulas字段列出3个推荐公式,用户也可手动选择任意公式。
A: author_id需符合安全校验,禁止包含特殊字符(如../、<>、&等),否则返回ID_INVALID错误。建议使用纯字母数字+连字符格式(如tech-blogger-001),避免文件路径注入风险。
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接,执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令请求;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
| 版本 | 日期 | 变更说明 |
|---|---|---|
| v1.0.0 | 2026-07-17 | 初版创建,支持distill/preview/save三种操作,6维风格分析+14种写作公式,JSON文件持久化 |