用途:在 Paperclip 稳定版发布后,把 release-changelog 技能产出的变更日志转成一条可直接复制粘贴到 Discord 的发布公告,并以 dotta 的口吻撰写。公告不是变更日志:变更日志求全,公告只保留少量已发布亮点,并附真实(非编造)的“接下来”和“我在想什么”。
使用条件:release-changelog 已产出对应变更日志(beta 阶段位于 release-notes/v{beta-version} 分支,稳定版发布后经规范化 PR 改名为 releases/vYYYY.MDD.P.md);发布 issue 要求提供 Discord 公告,或需要更新已有的 discord_announcement 文档。不可单独运行——版本、日期、贡献者名单和亮点必须与对应变更日志一致,变更日志更新后公告也要同步刷新。
主要能力:按固定模板生成含品牌 :paperclip: 书挡、Highlights、WHATS NEXT、What's on my mind、可选 PRESS / WHAT I NEED FROM YOU、Community、In Summary 的单段公告;使用 Discord 表情短代码而非 Unicode;结尾用 ||@everyone|| 让发布者自行揭晓时只 @ 一次;在文中说明安装渠道:npx paperclipai@latest 为稳定版,@beta / @nightly / @canary 为更早访问,Docker :latest 仅随稳定版推进;FULL RELEASE NOTES 链接指向 master 上的 releases/v{VERSION}.md(该文件需在规范化 PR 合并后才存在,须先合并再发布公告)。
输出与写入方式:通过 PUT /api/issues/{releaseIssueId}/documents/discord_announcement 写入(字段 title、format、body、baseRevisionId),若文档已存在需先获取并传最新 baseRevisionId,不可静默覆盖;同时把公告原文粘贴为发布 issue 的评论。启用 Cases 时,需先解析父发布 case(key 为 paperclip-release:vYYYY.MDD.P,不存在则按 release-changelog 的 schema 创建),再 upsert tweet_storm 子 case 并 PUT 其 body 文档。
限制:本技能只准备产物,不直接发布到 Discord;亮点遵循 delta 规则,上个公告已介绍的只在本次有变化时出现;PRESS 和 WHAT I NEED FROM YOU 仅在确有对应内容时才保留;贡献者名单排除机器人和排除清单,与变更日志一致;WHATS NEXT 与 What's on my mind 必须取材于真实 issue/评论/已合并提交,不得编造。模板还给出三条历史公告作为语气与结构范例。