# Moments Copy

> 【海报朋友圈文案】给一张海报 + 一份资料，出三条能直接发的朋友圈文案。当用户发来海报/活动主视觉/宣传单/门店开业图/产品包装图，配上参考资料（卖点手册、活动方案、产品资料、链接、一段说明），要求「写朋友圈文案」「发圈文案」「配图文案」「这条怎么发」「宣传文案」时使用。流程：首次启用引导填资料 → 复述理解 → 解析海报 → 场景判定并选三个不同角度 → 缺口诊断 → 联网取势（节气/节日/热点/同行写法）→ 取本地资料（可选 ima）→ 出三版互斥文案 → 折叠与去重自检 → 配图与发布建议。朋友圈不做法规扫描只守 5 条硬底线，首要目标是多样性与趣味性。注意：若使用者机器上同时装有针对某个具体品牌的专用文案技能，且当前任务属于该品牌，优先使用那个专用技能，不要用它来接管。

- Skill: `ss-yanhao/moments-copy` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add ss-yanhao/moments-copy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ss-yanhao/moments-copy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ss-yanhao (https://skillmd.com/u/ss-yanhao)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/ss-yanhao/moments-copy

---


# 海报朋友圈文案

给**一张海报 + 一份资料**，还你**三条能直接复制发出去的朋友圈文案**。

核心立场：**三版要像三个不同的人写的**，不是同一段话的三种长度。
优先级：**多样性 > 趣味性 > 信息完整 > 合规**。朋友圈不是报批物料，平庸比出格更致命。

次要立场：第一句话仍是战场。正文超过 6 行折叠成「全文」，九成的人只看前两行——
**钩子在首行，活动信息压第二行**。

---

## 硬约定

1. **先复述理解再动手**。用两三句话说明：我理解这次是「什么品牌 + 什么活动 + 发给谁看 + 想要什么效果」，对上了再往下走。
2. **不编数据**。价格、折扣、日期、地址、成分含量——资料里没有就标注问用户。宁可少一个数字，不能错一个数字。
3. **默认对话直出**，不落文件。用户说「存档 / 存起来」才走 S8。

---

## 执行流程

### S0 · 首次启用：要资料（只走一次）

**看有没有 `user/.onboarded` 这个标记文件**（别用"文件是否为空"判断——
资料文件里带字段标题，看起来有内容，其实一个字都没填）：

```bash
test -f <技能目录>/user/.onboarded && echo "已配置" || echo "首次启用"
```

> `<技能目录>` 指本文件所在的目录，默认 `~/.workbuddy/skills/moments-copy/`。

**两种例外**：
- 标记不存在，但 `brand-brief.md` 和 `sample-copy.md` 里**已经填了实际内容**
  （不是空的字段模板）→ 直接建标记，不用再问
- 用户说「重填资料 / 换品牌」→ 删掉标记，重走一遍

**空的话，先别写文案，按这个顺序要资料**——一次要一组，不要连环追问：

**① 先要往期文案**（这步最重要，用来学你的手感）：

> 发我 3-5 条你觉得自己写得好的朋友圈，原样粘贴就行，不用整理、不用美化。
> 我想先摸你的调性——是煽动型的、克制型的、还是讲故事型的。

**② 再要品牌/产品资料**：

> 再给我一份品牌或产品资料：卖点、成分、目标人群、你们平时固定用的说法、
> 有哪些词不能写。有多少给多少，没有的字段我标「资料未提供」，不会瞎编。

**③ 收齐后**：
- 把往期文案原样存进 `user/sample-copy.md`
- 把品牌资料整理进 `user/brand-brief.md`
- 从往期文案里提炼你的风格特征，写进 `user/style-profile.md`（照 `references/style-template.md` 的格式填）
- 建个标记文件 `user/.onboarded`
- 回一句：**「资料已就位，下次直接发海报就行。」**

**之后每次直接读 `user/`，不再问。**
用户说「重填资料 / 换品牌 / 重新配置」→ 删掉 `user/.onboarded` 重走一遍。

> 只有一份资料也能跑：只有往期文案，就靠模仿手感；只有产品资料，就按通用手册来。
> 两份都没有也能出稿，只是没那么像你。

---

### S1 · 解析海报（Read 工具直接读图）

混合资料全部解析后合并。**冲突时优先级：海报 > 参考资料**（海报是已定稿的对外物料）。

| 资料类型 | 解析方式 | 必抓字段 |
|---|---|---|
| 海报 / 主视觉 / 宣传单（jpg/png/webp） | Read 工具直接读图 | 主标题、副标题、品牌名、活动时间、地点、主推产品名、价格/优惠、二维码文案、报名方式、视觉调性 |
| PDF / PPT 参考资料 | Read 工具读（PPT 先转 PDF） | 活动背景、目标人群、卖点话术、品牌口径 |
| 用户对话里直接贴的文字 | 直接用 | 同上 |
| 网页链接 | WebFetch | 同上 |

读图时判断三件事，决定文案调性：
- **视觉调性**：热闹促销 / 高端克制 / 温暖亲和 / 国潮厚重
- **信息密度**：海报字多 → 文案「补情绪」；字少 → 文案「补信息」
- **已有主标题**：海报主标题已经很炸，文案就别重复，从侧面切

输出**海报要素清单**：✅ 已拿到的字段 / ❌ 缺失且绕不开的字段（进 S3 问）。

### S2 · 场景判定 + 选三个不同角度

读 `references/copywriting-playbook.md` 的「角度矩阵」（12 个切入点），
从海报调性 × 产品卖点里挑**三个不同族**的角度：

| 场景 | 触发特征 | 文案重心 |
|---|---|---|
| 门店活动 / 开业 | 有地址、有到店时间、有现场 | 地点锚点 + 到店理由 + 时间紧迫感 |
| 产品种草 | 有产品名、有卖点、无地址 | 使用场景 + 一个具体细节 + 轻引导 |
| 品牌宣传 | 有品牌故事/理念，无转化动作 | 情绪价值 + 一句能被记住的话 |

**约束**：三版角度不能同族；**一条文案只打一个卖点**，三个卖点分给三版。

### S3 · 信息缺口诊断（停顿点）

把 S1 的 ❌ 清单摆给用户，只问**绕不开**的（一般 3 个以内），
不重要的按合理假设处理并在文末标 `[待确认]`。

通常是：**活动时间 / 地点 / 主推产品或优惠数字**——缺一样，文案就是空话。

### S4 · 联网取势（热点 / 节日 / 节气 / 同行）

**① 先确认今天几号**（绝不用记忆推算节气，推算必错）：

```bash
date "+%Y-%m-%d %A"
```

**② 搜时间锚点**：`<当前月份> 节气`、`<当前月份> 节日 营销`、`最近热点 <领域>`（freshness d7）

**③ 搜同行怎么写**：`<品类> 朋友圈文案`、`<活动类型> 朋友圈 怎么写`
——**只偷结构不偷词**，整句照搬会和品牌口径打架。

**④ 输出借势清单**（3-5 条）：借势点 / 来源 / 适合哪一版 / 怎么用一句话带出来。

筛选：沾得上才用（硬蹭比不蹭尴尬）；一版只借一个势；**节气 > 节日 > 热点**。

### S5 · 取料：本地资料 + 可选 ima

**① 必读**（`user/` 下的三份）：
- `brand-brief.md` —— 品牌调性、人群、卖点与数字、固定说法、禁忌词
- `sample-copy.md` —— 你的往期文案，学手感
- `style-profile.md` —— 已提炼好的风格特征，直接照着写

**② 可选：ima 知识库**。
如果用户连了 ima（见 `references/ima-setup.md`）并在 `user/ima-config.md` 填了知识库 ID，
可以用 `search_knowledge` 在库里补充取料。

> **没连 ima 完全不影响出稿**——本地资料够用，ima 只是让料更足。

拿到的官方口径**优先复用**，别自己造说法。但**只取事实与固定说法**（年份、系列名、成分名），
别照抄宣传腔——照抄就没趣味了。

### S6 · 出三版互斥文案

读 playbook 的「三版骨架」。**长度只是表象，角度不同才是目的。**

| 版本 | 行数 | 字符预算 | 人称 |
|---|---|---|---|
| **短促版** | 3-4 行 | ≤ 110 | 无人称 / 第二人称 |
| **场景版** | 5-6 行 | ≤ 170 | 第一人称 / 具体的人 |
| **卖点版** | 6 行 | ≤ 200 | 无人称列点 |

⛔ **三版一律 ≤ 6 行、≤ 200 字符**（emoji 按 4 字符/个计入，超了会被折叠）。

每版给全：① 首行钩子 ② 正文 ③ emoji 用法 ④ 话题标签/定位 ⑤ 配图建议。

**每版末尾标注一行**（方便挑，也方便自检重复）：

```
> 角度：<编号 名称> ｜ 卖点：<一个> ｜ 借势：<节点> ｜ 关键词：<2-3 个>
```

三版的「角度 / 卖点 / 借势 / 关键词」四栏不能重复，撞了就是没写完。

### S7 · 折叠自检 + 去重 + 趣味性

**⓪ 折叠自检**（先过这关，折叠了后面都白搭）：

| 检查项 | 标准 |
|---|---|
| 行数 | 三版各 ≤ **6 行** |
| 字符数 | 汉字 + emoji×4 + 标点 ≤ 200 / 170 / 110 |
| 关键位置 | 钩子 + 主卖点 + 产品名，全在前 6 行内 |

写完后**逐版报出行数与字符估算**，超标就砍。

**① 去重自检**：首行钩子分属不同类型；卖点不重复；三版之间没有任何一句完全相同的话；
同一个形容词不出现在两版以上；emoji 用法错开；结尾方式不同。

**② 趣味性自检**：读 playbook 的「趣味性六招」和「陈词滥调黑名单」。
三版里**至少一版要有意外感**，一版都没有就重写，别交。

**③ 底线快扫**（只在明显踩线时改）：
1. 不写医疗功效承诺（治疗/治愈/抗癌/降血糖这类——食品保健品尤其不能碰）
2. 不编数据
3. 不搞虚假紧迫感（"最后一天"必须是真的）
4. 不伪造权威（无授权不写"国家认证""专家推荐"）
5. 不贬低竞品

> **极限词（最/第一/顶级）不处理**——朋友圈要传播力，不要报批口径。
> 除非用户说这条要同步到公众号或正式物料。

**④ 配图建议**：1 张（海报原图）/ 3 张（海报+现场+细节）/ 6-9 张（海报打头，末张放二维码）。
**发布时段**：早 7:30-8:30 通勤、午 12:00-13:00、晚 20:00-22:00 黄金档。
门店活动建议**前一天晚上 + 当天早上**各发一次。

**⑤ 防折叠发布提醒**（文案是复制去发的，必须提醒）：

> 发之前：输入框先打个 `A`，把文案粘到 A 后面，再删掉 A 发布，
> 可避免被识别成粘贴内容压成一行。超 200 字分段粘。
> 产品全名、购买链接这类补充信息，放自己第一条评论（评论区 100 字内不折叠）。

### S8 · 存档（仅当用户要求）

存到本地 `user/archive/`，文件名带日期，比如 `20260910-中秋礼盒.md`。
**不写任何外部服务**（连了 ima 也不会改动你的知识库）。

存档前先看有没有重名：`ls <技能目录>/user/archive/`

---

## 硬约束

- **三版必须互斥**。角度、钩子、卖点、人称、结尾，五样里至少四样不同。
- **宁可出格，不要平庸**。有趣的表达优先于四平八稳的表达。
- **首行即战场**。第一行删掉不影响理解，就重写。
- **不写陈词滥调**——「欢迎莅临」「不见不散」「震撼来袭」「品质之选」，见黑名单。
- **emoji 看 `user/style-profile.md`**。没填就按默认：每行末尾 1 个。
- **不做法规扫描**。只守上面 5 条底线。
- **改稿最小化**。用户说「只改开头」就只改开头，不顺手优化别处。

---

## 文件说明

| 文件 | 是什么 | 要不要改 |
|---|---|---|
| `SKILL.md` | 主流程（本文件） | 一般不用改 |
| `references/copywriting-playbook.md` | 通用文案手册：折叠规则、角度矩阵、骨架、钩子、趣味性、黑名单 | 可以改，通用知识 |
| `references/style-template.md` | 风格基准**空模板**，照它填自己的风格 | 照着填 |
| `references/ima-setup.md` | 怎么连 ima、连不上怎么办 | 想接 ima 才看 |
| `user/brand-brief.md` | 你的品牌/产品资料 | **要填** |
| `user/sample-copy.md` | 你的往期文案 | **要填** |
| `user/style-profile.md` | 从往期文案提炼的风格 | 首次启用后自动生成，可手改 |
| `user/ima-config.md` | 你的 ima 知识库 ID | 选填 |
| `user/archive/` | 历史文案存档 | 自动 |

