Skip to content
Back to skills

Slack Announce

ASecurity

Generate formatted Slack messages for team communication

  • 342 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 1, 2026
toolsrustgogitsecuritydocumentation

Works with

  • cursor
  • mcp

Security analysis

A100/100

Scanned September 1, 2026

npx -y skills add WellApp-ai/Well --skill slack-announce --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Slack Announce?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Slack Announce
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/wellapp-ai-slack-announce/badge)](https://www.skillsdirectory.com/skills/wellapp-ai-slack-announce)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: slack-announce
description: Generate formatted Slack messages for team communication
---

# Slack Announce Skill

Generate copy-ready Slack messages for various team announcements.

## When to Use
- Push PR mode: announce new PR
- Hotfix mode: urgent fix notification
- Deploy notifications
- Incident communication

## Phases

### Phase 1: Determine Message Type

Identify the type of announcement:

| Type | Context | Priority |
|------|---------|----------|
| `pr` | New PR created | Normal |
| `hotfix` | Urgent production fix | High |
| `deploy` | Deployment to environment | Normal |
| `incident` | Production issue | Critical |

### Phase 2: Gather Context

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

### Phase 3: Select Emoji

**By message type:**

| Type | Primary Emoji | Secondary Emojis |
|------|---------------|------------------|
| pr (feat) | ๐Ÿš€ | ๐Ÿ“‹ ๐Ÿ”— ๐Ÿ‘€ |
| pr (fix) | ๐Ÿ”ง | ๐Ÿ“‹ ๐Ÿ”— ๐Ÿ‘€ |
| pr (chore) | ๐Ÿงน | ๐Ÿ“‹ ๐Ÿ”— ๐Ÿ‘€ |
| pr (docs) | ๐Ÿ“š | ๐Ÿ“‹ ๐Ÿ”— ๐Ÿ‘€ |
| pr (refactor) | โ™ป๏ธ | ๐Ÿ“‹ ๐Ÿ”— ๐Ÿ‘€ |
| hotfix | โš ๏ธ | ๐Ÿ”ฅ ๐Ÿšจ |
| deploy | โœ… | ๐ŸŽ‰ ๐Ÿ“ฆ |
| incident | ๐Ÿšจ | โš ๏ธ ๐Ÿ”ด |

### Phase 4: Generate Fun Closing

Select a closing that matches the **PR context**. Be human, be fun, be relevant.

#### By PR Type

**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 ๐Ÿ™"
```

#### 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! ๐Ÿ’ต"
```

#### 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

### Phase 5: Format Message

**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!
```

---

## Output

Present the formatted message in a copyable code block:

```
## Slack Message (copy-ready)

[Formatted message here - ready to paste into Slack]
```

---

## Slack MCP Integration (Optional)

If Slack MCP is configured, messages can be sent automatically.

### Phase 6: Send via 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.

### Setup Instructions

See `setup` skill Phase 9 for Slack MCP installation.

---

## 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)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading commentsโ€ฆ

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.