用途
ce-promote 用于把一个刚发布的功能转化为可直接复制粘贴的、面向用户的公告文案,在整个工程工作流内完成,使宣传信息不必等待单独的营销流程。技能的完成标准是:每个草拟的渠道都以带标签、可复制粘贴的区块呈现,并且已向用户提供修订选项。
该技能只负责草拟,不会发布、公布、定时、提交或打开 PR。发布是人类操作。
主要能力
它可以配合 Spiral 使用,也可以不配合。在未安装任何东西时,技能依据 Path B(直接草拟)中的编辑与社交基本原则直接草拟。当 Spiral CLI 存在并已授权时,草稿会匹配用户的品牌语气,这是增强,而非必需。
Phase 1 — 弄清发布了什么
参数中的自由描述是事实来源。否则从上下文中推导,使用可用的信息,不等待任何单一来源:
- 已合并/活动的 PR —
gh pr view --json title,body,url(标题和正文通常说明面向用户的价值) - diff —
git diff main...HEAD --stat,浏览显著改动,使表述基于实际发生的变化 - Changelog —
docs/changelog.md、CHANGELOG.md或类似文件的顶部或[Unreleased]条目 - 最近的提交 —
git log --oneline -15,了解变更脉络
然后写一段 1-3 句的用户价值总结:用户现在能做什么、之前做不到,以及他们为什么会在意。强调成果,而不是实现——例如“你现在可以一键将任意报告导出为 CSV”,而不是“添加了 CsvSerializer 和导出端点”。如果无法有把握地判断发布了什么,只问一个简短问题,而不要猜测。
Phase 2 — 选择渠道
默认是一条 X 帖子(或短帖串)加一行 changelog / 发布说明。如果用户指定了渠道——LinkedIn、邮件、博客引言、演示脚本——则草拟这些,而不是或额外于默认项。按改动规模调整:小修复只需一两条简短草稿,旗舰功能则是一组跨渠道内容。不要强套固定模板。
Phase 3 — 草拟文案
用两条快速、非阻塞的命令检测 Spiral 状态:
which spiral
spiral auth status --json 2>/dev/null
- 没有二进制文件 -> Absent
"authenticated": true-> Ready"authenticated": false-> Unauthed- 输出不是 JSON(忽略
--json的旧版 CLI)-> 若包含spiral_sk_则为 ready,否则为 unauthed
Ready -> Path A(Spiral 就绪)。Absent 或 Unauthed -> Path 0(提供 Spiral 设置),若设置完成则进入 Path A,否则进入 Path B(直接草拟)。绝不让 Spiral 的失败、超时或异常输出阻塞或拖慢技能——拿不准时就按未就绪处理并继续。
Path 0 — 提供 Spiral 设置(一次,可拒绝)
非交互运行时直接进入 Path B——没有人类可以回答。否则提供一次设置:阅读 references/spiral-cli.md 并遵循其 Path 0 部分,了解退出检查、阻塞式提问、由 agent 运行的 spiral login --json 流程(API 密钥从不经过 agent,用户也从不往聊天里粘贴密钥)、安装路径以及退出如何被记录。只有当该检查发现已记录的退出时,才跳到 Path B。该部分定义了什么算作已记录;简单的配置扫描会把 ce-setup 模板中的注释示例误读为退出记录,从而悄悄抑制这次提供。
该部分依赖两个属性:任何关闭都会记录退出,因此在本仓库中一次首次运行的拒绝就会永久停止提供;拒绝始终进入 Path B,而不会阻塞。如果有人在但当前工具列表中没有阻塞式提问工具,则回退到聊天中列出两个选项的编号列表并等待——不要跳过这次提供,也绝不要调用面向用户的问题工具来探查是否存在这样的工具。
Path A — Spiral 就绪(语气匹配)
在组合提示词之前先阅读 references/spiral-cli.md。Spiral 返回的是多渠道集合还是单渠道的多个变体由措辞决定(渠道关键词和提示词 vs. --num-drafts),弄错会悄悄返回错误数量或形态的草稿——不要凭记忆复述这些规则。
始终传入 --instant 和 --json;解析 drafts[](每个都带自己的渠道)以及 session_id。按渠道分组呈现每一个返回的草稿——Spiral 决定每个渠道多少条草稿,因此绝不要假设每渠道一条,也不要丢弃多余条目。如果 spiral 写入调用报错或没有返回可用草稿,则对受影响的渠道静默回退到 Path B。
Path B — 直接草拟
不需要 Spiral。通过 ce-noslop 技能草拟每个渠道。(Spiral 路径走得更远:品牌语气匹配、人性化、保存的样式以及跨渠道活动编排。)
每个渠道:
- 以面向用户的结果开头——某人现在能做什么,而不是它是如何构建的。
- 每篇只讲一个想法。
- 分发渠道:第一行是钩子,必须让读者想读下一行(信息流会截断)。不要前言。匹配每个渠道原生的形态和长度;绝不要把一个草稿逐字复用到多个渠道。在渠道支持的地方放一个清晰的 CTA。话题标签 0-2 个,且只在渠道期望它们的地方使用。
按渠道:
- X — 第一行给出价值;约 1-3 行紧凑文字。只有当有多于一个值得单独成行的点时,才使用帖子串。
- Changelog / 发布说明 — 一行声明式文字,点明新能力。平实,不宣传化。
- LinkedIn — 一个短段落:人的角度(为什么重要),然后是什么。比 X 更温暖。
- 邮件 — 陈述利益的主题 + 2-4 句正文 + 一个 CTA。
- 博客引言 — 一个开场段落,框定问题和新能力;深入部分留给作者。
- 演示脚本 — 3-6 个口播节拍:钩子、问题、行动、回报。
默认每个渠道一篇有力草稿;仅在被要求时(“3 个推文选项”)才产出更多,上限约 3 条。
Phase 4 — 呈现草稿
把每个草稿以干净的、可复制粘贴的区块展示,并按渠道标注:
### X 帖子
<文案>
当 Path A 产出草稿时,也展示 session_id 和每个草稿的 url,以便用户在 Spiral 网页应用中打开和调整。提供修订选项(语气、长度、角度、更多变体、另一个渠道)。不要发布、公布、定时、提交或打开 PR——结束时提醒用户这些草稿由他们自己决定是否发布。
使用方式
通过技能调用并传入功能描述,或让技能从 PR、diff、changelog、最近提交中自行推导。技能会检测 Spiral 状态,按情况走直接草拟或品牌语气匹配路径,最后按渠道分组输出可复制粘贴的草稿,并询问是否需要修订。
适用场景与限制
适用于功能发布后的推广文案草拟,覆盖 X、changelog、LinkedIn、邮件、博客引言、演示脚本等渠道。用户可指定渠道,技能会按改动规模调整产出数量。
限制:该技能只草拟,绝不发布、公布、定时、提交或打开 PR;发布是人的操作。Spiral 为可选增强,缺失或失败时回退到直接草拟。如果无法有把握地判断发布了什么,技能会提出一个简短问题而非猜测。关于收费、价格等具体信息暂未提供。