wewrite/references/onboard.md
wangzhuc 78e8fd666e SKILL.md 结构重构:571行→273行,学习 gstack 模式
拆分:
- Onboard → references/onboard.md
- 学习飞轮 → references/learn-edits.md
- 效果复盘 → references/effect-review.md
SKILL.md 只保留主管道(写文章)+ 错误处理。

重编号:
- 去掉 0, 2.5, 3.5, 3.75, 7.5 等补丁式编号
- Step 1-8 连续编号,子步骤用 a/b/c

新增行为声明区(学习 gstack preamble 模式):
- 角色、模式、降级原则一次性声明
- 完成协议:DONE / DONE_WITH_CONCERNS / BLOCKED / NEEDS_CONTEXT
- 辅助功能用 读取: references/xxx.md 按需加载
- frontmatter 新增 allowed-tools

结构:11 个 section header(原 34 个),Agent 认知负荷大幅降低。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 00:01:04 +08:00

68 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Onboard首次设置
**触发条件**
- Step 1 发现 `style.yaml` 不存在
- 用户明确说"重新设置风格"、"修改配置"
## Phase 1: 收集信息(交互式问答)
通过对话收集以下信息,**不要一次性列出所有问题**——一轮问 1-2 个,像聊天一样:
**必问**(缺了无法运行):
| 顺序 | 问题 | 对应字段 | 示例引导 |
|------|------|---------|---------|
| 1 | 你的公众号叫什么名字?主要做什么方向? | `name` + `industry` | "比如'零号AI',做科技/互联网" |
| 2 | 主要写哪几个方向的内容? | `topics` | "比如 AI、产品设计、效率工具" |
| 3 | 你希望文章是什么风格? | `tone` | "专业严肃?轻松有趣?毒舌犀利?像朋友聊天?" |
**选问**(有默认值,用户不答就用默认):
| 问题 | 对应字段 | 默认值 |
|------|---------|-------|
| 目标读者是谁? | `target_audience` | 从 industry 推断 |
| 用什么人称写? | `voice` | "第一人称,像一个懂行的朋友" |
| 有没有绝对不能出现的词或话题? | `blacklist` | 空 |
| 有没有想参考的公众号? | `reference_accounts` | 空 |
| 署名写什么? | `author` | name 字段值 |
| 偏好哪种排版风格?(可运行 `gallery` 命令预览全部 16 个主题) | `theme` | "professional-clean" |
| 封面风格偏好? | `cover_style` | 从 industry 推断 |
| 有没有固定封面模板? | `cover_template` | 不设置 |
**快捷路径**
- 如果用户直接甩了一段描述(如"我做科技自媒体,风格像虎嗅"),直接从中提取所有能提取的字段,只补问缺的
- 如果用户说"不设置"、"用默认的"、"直接写" → 复制 `{skill_dir}/style.example.yaml``style.yaml`,跳过所有问答
```
参考: {skill_dir}/references/style-template.md字段说明和可用主题列表
```
## Phase 2: 生成配置
用收集到的信息自动生成 `{skill_dir}/style.yaml`
同时确保以下文件/目录存在(不存在则创建):
- `{skill_dir}/history.yaml` → 初始化为 `articles: []`
- `{skill_dir}/corpus/` → 空目录
- `{skill_dir}/lessons/` → 空目录
生成完成后,**把 style.yaml 的内容展示给用户看一遍**,问"这个配置 OK 吗?有什么要改的?"。用户确认后继续。
## Phase 3: Playbook可选不阻断
问用户:"你有没有之前写过的公众号文章?如果有 20 篇以上,我可以从中学习你的写作风格,以后写出来的文章会更像你。"
- **用户有语料** → 告知将文章(.md 或 .txt放入 `{skill_dir}/corpus/`,然后运行:
```bash
python3 {skill_dir}/scripts/build_playbook.py
```
按脚本输出逐批阅读文章,提取风格特征,生成 `playbook.md`
- **用户没有语料 / 暂时不想弄** → 完全正常,跳过。告知用户:"没问题,先用通用风格写,后续你可以随时说'学习我的修改'来让我逐渐适应你的风格。"
## Phase 4: 试跑
Onboard 完成后,问用户:"配置好了,要不要现在试写一篇?"
- **是** → 回到 Step 1执行完整流程
- **否** → 告知用户下次如何触发:"下次直接说'写一篇公众号文章'就行"