compose

Installation
SKILL.md

创作

基于主题或参考文章,结合素材库和主力风格,产出文章。

核心原则

  1. 分步走:先出大纲/创作规划,用户确认后再写正文。不要一口气写完再问。
  2. 风格优先:严格遵循主力风格档案,这是区别于通用 AI 写作的关键。
  3. 素材融入:自然引用素材库中的内容,不是生硬拼接。
  4. 去翻译腔:参考模式下,最终产出必须像中文母语者写的,不是翻译稿。

模式判断

根据用户输入自动识别:

  • 用户给了一个主题,没有参考文章 → 主题模式
  • 用户给了一篇参考文章(通常是英文) → 参考模式
  • 用户同时给了主题和参考文章 → 参考模式(参考文章为骨架,主题为方向)

前置准备

无论哪种模式,先做以下准备:

1. 加载主力风格

读取 ./writing-workspace/styles/my_style.json

  • 如果文件存在:后续写作严格遵循其中的语言特征、结构偏好、forbidden_words 和 anti_ai_notes
  • 如果文件不存在:提醒用户"你还没有建立主力风格档案,建议先用 style-extract 技能分析几篇文章来初始化。现在可以用默认风格先写,写完再用 rewrite 技能调整。",然后用自然、口语化的默认风格继续

2. 检索相关素材

读取 ./writing-workspace/materials/index.json

  • 如果文件存在且非空:按主题/标签匹配相关素材,读取匹配条目的完整 JSON
  • 如果文件不存在或为空:跳过,仅基于用户输入和自身知识写作

3. 确认输出场景

如果用户没有指定场景,默认为公众号长文。各场景篇幅参考:

场景 篇幅 特点
公众号 2000-4000 字 深度长文,可以铺开讲
博客 1500-3000 字 结构化,小标题清晰
小红书 300-800 字 短平快,口语化,段落短
Twitter 280 字以内 一个核心观点,金句化

主题模式

用户给了一个主题,从零开始写。

第一步:生成大纲

基于主题、检索到的素材、主力风格的结构偏好,生成文章大纲:

## 创作大纲

**主题:** XXX
**场景:** 公众号
**预计篇幅:** 约 2500 字
**风格:** [从 my_style.json 中提取的 overall_tone 摘要]

### 结构

1. **开头** — [开头方式,如"从一个具体场景切入"]
   - 引出问题/悬念
2. **第一部分:[小标题]**
   - 核心观点:...
   - 素材支撑:[mat_xxx — 一句话说明]
3. **第二部分:[小标题]**
   - ...
4. **第三部分:[小标题]**
   - ...
5. **结尾** — [结尾方式,如"金句收束"]

### 将使用的素材
- mat_20260327_001: "..."
- mat_20260327_003: "..."

呈现给用户,等待确认或修改意见。

第二步:写正文

用户确认大纲后,按大纲逐段写作:

  • 遵循主力风格的语言特征(词汇、句式、标点、人称、情绪)
  • 遵循主力风格的结构特征(段落节奏、过渡方式)
  • 自然融入素材(转述而非直接粘贴,除非是 quote 类型)
  • 严格避免 forbidden_words 中的词
  • 严格遵守 anti_ai_notes 中的约束

第三步:自检

写完正文后,对照以下清单自检一遍:

  • 没有使用 forbidden_words 中的任何词
  • 段落长短有变化,不是每段都差不多长
  • 没有"首先...其次...最后..."的机械结构
  • 没有排比句(除非主力风格明确偏好排比)
  • 开头和结尾符合主力风格的偏好
  • 素材融入自然,不像是硬塞进去的
  • 整体读起来像人写的,不像 AI 生成的

如果自检发现问题,直接修正后输出。

第四步:保存和提示

  • 将终稿保存到 ./writing-workspace/drafts/draft_[主题关键词]_v1.md
  • 告诉用户文件保存路径
  • 建议:"初稿完成,可以用 rewrite 技能做进一步润色,或用 title-gen 技能生成标题。"

参考模式

用户给了一篇参考文章(通常是英文),基于它创作中文内容。

核心区别:这不是翻译,是再创作。结构要重组,语言要中文化。

第一步:生成创作规划

深度阅读参考文章后,生成创作规划:

## 创作规划

**参考文章:** 《原文标题》
**输出场景:** 公众号
**预计篇幅:** 约 3000 字

### 原文核心概念
1. [概念A] — 一句话中文摘要
2. [概念B] — 一句话中文摘要
3. [概念C] — 一句话中文摘要

### 取舍建议
- ✅ 保留:概念A(核心论点,必须保留)
- ✅ 保留:概念B(有数据支撑,说服力强)
- ⚠️ 弱化:概念C(过于技术细节,中文读者可能不关心)
- ❌ 跳过:原文第X段(纯背景介绍,中文语境不需要)

### 补充建议
- 🔗 素材库匹配:mat_xxx 可以补充到概念A的论述中
- 💡 建议加入:[你自己的案例/思考] 的位置在概念B之后

### 建议结构(不照搬原文)
1. **开头** — ...
2. **第一部分** — 对应概念A,但用中文读者熟悉的案例引入
3. **第二部分** — 融合概念B + 素材库补充
4. **第三部分** — 你的延伸思考
5. **结尾** — ...

呈现给用户,等待确认。

第二步:写正文

用户确认后写作,额外注意:

  • 不照搬原文结构:段落安排必须重新设计
  • 不翻译句子:用自己的话重新阐述概念,读者不应察觉有英文原文
  • 本地化案例:尽量用中文读者熟悉的案例替换或补充
  • 融入素材:将素材库中的匹配内容自然织入
  • 同样执行主题模式的自检清单

第三步:保存和提示

同主题模式。


写作中的风格应用

以下是将 my_style.json 应用到写作中的具体指导:

语言层面

  • vocabulary_level:决定用词的口语/书面比例
  • sentence_rhythm:控制句子长短交替。如果是"短句为主",大部分句子控制在 15 字以内,偶尔用长句收束
  • favorite_expressions:在自然的位置使用这些表达,但不要刻意堆砌
  • punctuation_habits:比如"多用破折号"就多用破折号做插入和转折
  • person_perspective:决定主要人称。如果是"第一人称为主,偶尔切第二人称",就这么写
  • emotion_intensity:控制情绪表达的浓度

结构层面

  • opening_pattern:决定文章如何开头
  • paragraph_rhythm:控制段落长短的交替规律
  • argument_logic:决定论证的展开方式
  • transition_style:决定段落之间如何过渡
  • closing_pattern:决定文章如何收尾

反 AI 层面

  • forbidden_words:这些词绝对不能出现
  • anti_ai_notes:这些模式必须避免
Weekly Installs
3
GitHub Stars
1
First Seen
Apr 1, 2026