创新方案
已发布功能需要写发布/推广文案时:在工程流程内生成可复制…
在功能刚合并或发布后,需要快速产出 X、changelog、LinkedIn、email、blog intro、demo script 等面向用户的推广文案时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
已发布功能需要写发布/推广文案时:在工程通用
解决思路
- 优先把 arguments 中的自由描述当作“已发布内容”的事实来源;否则从上下文中推导,利用手头可用信息,不要等待任何单一来源。
- 如果有 merged/active PR,运行 `gh pr view --json title,body,url`,从标题和正文提取面向用户的价值。
- 查看变更:运行 `git diff main...HEAD --stat`,浏览显著变更,确保文案声明有实际改动支撑。
- 查看 changelog:读取 `docs/changelog.md`、`CHANGELOG.md` 或类似文件的顶部或 `[Unreleased]` 条目。
- 查看近期提交:运行 `git log --oneline -15`,理解变更脉络。
- 写 1-3 句面向用户价值的摘要:用户现在能做什么以前不能做的事,以及为什么会在意;写结果,不写实现。
- 如果无法确信什么已发布,问一个简短问题而不是猜测。
- 选择渠道:默认起草 X post(或短 thread)加一行 changelog / release blurb。
- 如果用户指定渠道(LinkedIn、email、blog intro、demo script),起草这些渠道,替代或追加默认渠道。
- 按变更规模调整:小修复写一两条短草稿,旗舰功能写跨渠道套件;不要强制固定模板。
- 运行 `which spiral` 和 `spiral auth status --json 2>/dev/null`,快速、非阻塞地检测 Spiral 状态。
- 按结果判定状态:无 binary 为 Absent;`"authenticated": true` 为 Ready;`"authenticated": false` 为 Unauthed;输出不是 JSON(旧 CLI 忽略 `--json`)时,仅当包含 `spiral_sk_` 判为 ready,否则判为 unauthed。
- 若 Ready,走 Path A;若 Absent 或 Unauthed,走 Path 0(提供 Spiral 设置),设置完成则走 Path A,否则走 Path B;不要让 Spiral 失败、超时或异常输出阻塞或拖慢技能,有疑问视为未就绪并继续。
- Path 0:非交互运行时直接走 Path B,因为没有人类可回答。
- Path 0:否则只提供一次设置:读取 `references/spiral-cli.md`,遵循其 Path 0 部分进行 opt-out 检查、阻塞式提问、由 agent 运行 `spiral login --json` 流程(API key 不经过 agent,用户不向聊天中粘贴)、安装路径和 opt-out 记录方式。
- Path 0:仅当该检查发现已记录 opt-out 时才跳到 Path B;由该部分定义什么算已记录;简单扫描配置会把 `ce-setup` 的注释模板示例误读为 opt-out,从而静默抑制提供。
- Path 0:任何 dismiss 都记录 opt-out,因此首次运行拒绝后在该 repo 永久停止提供;拒绝总是继续到 Path B,而不是阻塞。
- Path 0:如果有人在但当前工具列表中没有阻塞式提问工具,退回在聊天中给出两个选项的编号列表并等待;不要跳过提供,也不要调用面向用户的问题工具来探测是否存在。
- Path A:在编写提示前读取 `references/spiral-cli.md`。
- Path A:注意 Spiral 返回多渠道集合还是单渠道多个变体由措辞驱动(channel keywords 和 cue words vs. `--num-drafts`);不要凭记忆重述这些规则,否则会静默返回错误数量或形态的草稿。
- Path A:始终传 `--instant` 和 `--json`;解析 `drafts[]`(每项自带 `channel`)以及 `session_id`。
- Path A:展示每个返回的草稿,按 `channel` 分组;Spiral 决定每渠道草稿数量,不要假设一渠道一个,也不要丢弃多余草稿。
- Path A:如果 `spiral write` 调用报错或返回无可用草稿,对受影响渠道静默回退到 Path B。
- Path B:无需 Spiral;每个渠道都通过 `ce-noslop` skill 起草。(Spiral 路径更进一步:品牌语气匹配、人性化、保存样式、跨渠道 campaign 编排。)
- 所有渠道:以用户可获得的结果开头——描述某人现在能做什么,而不是如何构建。
- 所有渠道:每篇只表达一个想法。
- 分布式渠道:第一行是 hook,必须让读者想读下一行(信息流会截断);不要前言。
- 分布式渠道:匹配每个渠道的原生形态和长度;绝不在渠道间逐字复用同一草稿。
- 分布式渠道:在渠道支持的地方使用一个明确 CTA。
- 分布式渠道:Hashtags 0-2 个,且只在渠道期望时使用。
- X:第一行给出价值;约 1-3 行紧凑文本;仅当有多个值得独立成行的 beats 时才用 thread。
- Changelog / release blurb:一行声明式文案,命名新能力;平实,不宣传。
- LinkedIn:短段落:先写人的角度(为什么重要),再写 what;比 X 更温暖。
- Email:以利益陈述为主题的 subject + 2-4 句正文 + 一个 CTA。
- Blog intro:一个开场段落,框定问题和新能力;把深入内容留给作者。
- Demo script:3-6 个口头 beats:hook、problem、action、payoff。
- 默认每个渠道一篇强草稿;仅在被要求时产出更多(如“3 tweet options”),上限约 3。
- Phase 4:把每个草稿显示为干净、可复制粘贴的块,并用渠道标记,例如 `### X post`。
- Path A 产出时,也显示 `session_id` 和每个草稿的 `url`,方便用户在 Spiral web app 中打开和调整。
- 提供修改选项(语气、长度、角度、更多变体、另一个渠道)。
- 不要 post、publish、schedule、commit 或 open PR;结尾提醒用户草稿由他们发布。
- 完成条件:每个已起草渠道都以带标签、可复制粘贴的块呈现,并已向用户提供修改机会。
适用边界 · 注意事项
- 不适用于需要自动发布、排期、提交或开 PR 的任务;该技能只起草,发布是人的动作。
- 不适用于无法确认已发布内容且用户不愿回答澄清问题的场景;此时应先问清而不是编造。
- 不适用于完全非交互却期望设置 Spiral 的场景;Path 0 会直接跳过并走 Path B。