slack-announce

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slack Announce Skill

Slack 公告技能

Generate copy-ready Slack messages for various team announcements.
为各类团队公告生成可直接复制使用的Slack消息。

When to Use

适用场景

  • Push PR mode: announce new PR
  • Hotfix mode: urgent fix notification
  • Deploy notifications
  • Incident communication
  • 推送PR模式:宣布新的PR
  • 热修复模式:紧急修复通知
  • 部署通知
  • 事件沟通

Phases

操作步骤

Phase 1: Determine Message Type

步骤1:确定消息类型

Identify the type of announcement:
TypeContextPriority
pr
New PR createdNormal
hotfix
Urgent production fixHigh
deploy
Deployment to environmentNormal
incident
Production issueCritical
识别公告的类型:
类型场景优先级
pr
创建新PR普通
hotfix
生产环境紧急修复
deploy
部署到环境普通
incident
生产环境问题严重

Phase 2: Gather Context

步骤2:收集上下文信息

Collect required information based on type:
For PR:
  • Feature name (from branch or PR title)
  • PR URL
  • Notion task URL
  • Reviewer name and handle
  • Domain name
For Hotfix:
  • Issue description
  • Affected systems
  • PR URL (if applicable)
  • Urgency level
For Deploy:
  • Version/tag
  • Environment (test/production)
  • Key changes summary
根据类型收集所需信息:
PR相关:
  • 功能名称(来自分支或PR标题)
  • PR链接
  • Notion任务链接
  • 审核人姓名及账号
  • 业务领域名称
热修复相关:
  • 问题描述
  • 受影响的系统
  • PR链接(如有)
  • 紧急程度
部署相关:
  • 版本/标签
  • 环境(测试/生产)
  • 关键变更摘要

Phase 3: Select Emoji

步骤3:选择表情符号

By message type:
TypePrimary EmojiSecondary Emojis
pr (feat)🚀📋 🔗 👀
pr (fix)🔧📋 🔗 👀
pr (chore)🧹📋 🔗 👀
pr (docs)📚📋 🔗 👀
pr (refactor)♻️📋 🔗 👀
hotfix⚠️🔥 🚨
deploy🎉 📦
incident🚨⚠️ 🔴
按消息类型分类:
类型主表情次要表情
pr (feat)🚀📋 🔗 👀
pr (fix)🔧📋 🔗 👀
pr (chore)🧹📋 🔗 👀
pr (docs)📚📋 🔗 👀
pr (refactor)♻️📋 🔗 👀
hotfix⚠️🔥 🚨
deploy🎉 📦
incident🚨⚠️ 🔴

Phase 4: Generate Fun Closing

步骤4:生成趣味结束语

Select a closing that matches the PR context. Be human, be fun, be relevant.
选择与PR上下文匹配的结束语,要人性化、有趣且贴合场景。

By PR Type

按PR类型分类

Features (feat):
- "Feature flag? Where we're going, we don't need feature flags 🚗"
- "Users asked, we delivered 📦"
- "Fresh code, hot off the keyboard! ⌨️🔥"
- "Time to make some bytes dance! 💃"
- "Let's gooooo! 🎸"
Fixes (fix):
- "Bug squashed. No insects were harmed 🐛✨"
- "It's not a bug, it was an undocumented feature 📝"
- "Another bug bites the dust 🎵"
- "Sleep well tonight, this one's fixed 😴"
Refactors (refactor):
- "Same same, but different, but still same 🔄"
- "If it ain't broke... refactor it anyway ♻️"
- "Deleting code is my love language 💕"
- "Less is more. Literally, we deleted stuff 🗑️"
Chores (chore):
- "The unglamorous work that makes the magic happen ✨"
- "Housekeeping complete, the codebase says thank you 🏠"
- "Ctrl+S, Ctrl+Ship! 🚢"
- "Another day, another deploy (hopefully) 🤞"
Docs (docs):
- "Future us will thank present us 📚"
- "Documentation: because tribal knowledge doesn't scale 🧠"
- "README? More like READ-ME-PLEASE 🙏"
功能类(feat):
- "功能开关?我们要去的地方,不需要功能开关 🚗"
- "用户提需求,我们来实现 📦"
- "新鲜代码,刚从键盘出炉! ⌨️🔥"
- "让字节跳动起来! 💃"
- "冲啊! 🎸"
修复类(fix):
- "Bug已消灭,无昆虫受伤 🐛✨"
- "这不是Bug,是未文档化的功能 📝"
- "又一个Bug被击败 🎵"
- "今晚可以安心睡了,这个问题已修复 😴"
重构类(refactor):
- "看似相同,实则不同,但本质还是一样 🔄"
- "即使没坏...也要重构它 ♻️"
- "删除代码是我的爱语 💕"
- "少即是多。说实话,我们删了些东西 🗑️"
杂务类(chore):
- "这份不起眼的工作成就了魔法 ✨"
- "整理完成,代码库表示感谢 🏠"
- "Ctrl+S,Ctrl+部署! 🚢"
- "又是一天,又是一次部署(希望如此) 🤞"
文档类(docs):
- "未来的我们会感谢现在的我们 📚"
- "文档:因为部落式知识无法规模化 🧠"
- "README?不如叫READ-ME-PLEASE 🙏"

By Domain (Contextual)

按业务领域(场景化)

Cursor Rules / AI Workflow:
- "Teaching the AI new tricks! 🎓🤖"
- "The machines are learning... from us, for once 🧠"
- "The rules now have rules about rules 🤯"
- "25 skills walk into a codebase... 🚶‍♂️"
- "Now with 100% more patine (it's French, we're fancy) 🥐"
Tables / Data:
- "Rows and columns, living in harmony 📊"
- "Data goes in, insights come out 🔮"
Auth / Security:
- "Keeping the bad guys out since [current_year] 🔐"
- "Trust no one. Except this PR. Trust this PR 🤝"
Payments / Billing:
- "Making money moves 💰"
- "Cha-ching! 💵"
Cursor规则 / AI工作流:
- "教AI新技巧! 🎓🤖"
- "机器正在学习...这次是向我们学 🧠"
- "规则现在有了关于规则的规则 🤯"
- "25个技能走进代码库... 🚶‍♂️"
- "现在多了100%的包浆(这是法语,我们很时髦) 🥐"
表格 / 数据:
- "行与列,和谐共处 📊"
- "数据输入,洞察输出 🔮"
认证 / 安全:
- "从[current_year]开始抵御坏人 🔐"
- "不要相信任何人。除了这个PR。相信这个PR 🤝"
支付 / 账单:
- "搞钱行动 💰"
- "叮铃! 💵"

Generic (Fallback)

通用(备选)

- "Shipping it before my coffee gets cold ☕"
- "May the code review gods be merciful 🙏"
- "Works on my machine™ 💻"
- "One small commit for dev, one giant leap for the product 🌙"
- "在咖啡变凉前部署完成 ☕"
- "愿代码审核之神仁慈 🙏"
- "在我机器上能跑™ 💻"
- "开发者的一小步,产品的一大步 🌙"

Hotfixes (Serious but Human)

热修复(严肃但人性化)

- "On it! 🔥"
- "Fix incoming, hold tight! 🏃‍♂️"
- "Crisis averted. Coffee break earned ☕"
- "The bat-signal was answered 🦇"
- "正在处理! 🔥"
- "修复即将到来,请稍等! 🏃‍♂️"
- "危机解除,值得喝杯咖啡休息 ☕"
- "蝙蝠信号灯已响应 🦇"

Selection Logic

选择逻辑

  1. First, try domain-specific closing if domain is detected
  2. Then, try type-specific closing based on commit type
  3. Fall back to generic if no match
  4. Rotate - don't repeat the same closing twice in a row
  1. 首先,若检测到业务领域,优先选择领域专属结束语
  2. 其次,根据提交类型选择类型专属结束语
  3. 若无匹配项,使用通用结束语
  4. 轮换 - 不要连续两次使用相同的结束语

Phase 5: Format Message

步骤5:格式化消息

PR Template:
[emoji] **[Feature Name]**

[Two-liner: what this does + why it matters]

📋 Notion: [notion-link]
🔗 PR: [github-pr-link]
👀 Reviewer: @[handle] (auto-assigned from [domain])

[Fun closing]
Hotfix Template:
⚠️ **HOTFIX: [Issue Title]**

🔴 **Impact:** [affected systems/users]
🔧 **Fix:** [brief description]

🔗 PR: [github-pr-link]
👀 Reviewer: @[handle]

[Closing]
Deploy Template:
✅ **Deployed to [Environment]**

📦 Version: [tag/version]
📝 Changes:
- [bullet 1]
- [bullet 2]

🎉 Ship it!

PR模板:
[emoji] **[功能名称]**

[两行说明:功能作用 + 重要性]

📋 Notion:[notion链接]
🔗 PR:[github-pr链接]
👀 审核人:@[账号](从[业务领域]自动分配)

[趣味结束语]
热修复模板:
⚠️ **热修复:[问题标题]**

🔴 **影响范围:** [受影响的系统/用户]
🔧 **修复内容:** [简要描述]

🔗 PR:[github-pr链接]
👀 审核人:@[账号]

[结束语]
部署模板:
✅ **已部署到[环境]**

📦 版本:[标签/版本]
📝 变更内容:
- [要点1]
- [要点2]

🎉 发布!

Output

输出

Present the formatted message in a copyable code block:
undefined
将格式化后的消息放在可复制的代码块中:
undefined

Slack Message (copy-ready)

Slack消息(可直接复制)

[Formatted message here - ready to paste into Slack]

---
[此处为格式化后的消息 - 可直接粘贴到Slack]

---

Slack MCP Integration (Optional)

Slack MCP集成(可选)

If Slack MCP is configured, messages can be sent automatically.
若已配置Slack MCP,可自动发送消息。

Phase 6: Send via Slack MCP

步骤6:通过Slack MCP发送

Prerequisites:
  • Slack MCP server installed and configured
  • Bot token with
    chat:write
    scope
  • Channel ID for announcements
Send message:
Slack MCP:
  tool: send_message
  arguments:
    channel: "[CHANNEL_ID]"
    text: "[formatted message from Phase 5]"
Fallback: If Slack MCP not available, output copy-ready message for manual posting.
前置条件:
  • 已安装并配置Slack MCP服务器
  • 拥有
    chat:write
    权限的机器人令牌
  • 公告频道的ID
发送消息:
Slack MCP:
  tool: send_message
  arguments:
    channel: "[CHANNEL_ID]"
    text: "[步骤5中生成的格式化消息]"
备选方案: 若Slack MCP不可用,输出可复制的消息供手动发布。

Setup Instructions

设置说明

See
setup
skill Phase 9 for Slack MCP installation.

请查看
setup
技能的步骤9了解Slack MCP的安装方法。

Integration

集成

This skill is invoked by:
  • push-pr.mdc
    - Phase 3.1 (Announce)
  • pr-threshold
    - When threshold crossed (optional notification)
  • hotfix/SKILL.md
    - Urgent notification
  • Deploy scripts (future)
本技能可由以下内容触发:
  • push-pr.mdc
    - 步骤3.1(公告)
  • pr-threshold
    - 当达到阈值时(可选通知)
  • hotfix/SKILL.md
    - 紧急通知
  • 部署脚本(未来支持)