create-announcement

This skill should be used when the user asks to "create an announcement", "write a Teams message for a PR", "write a Slack message for a PR", "announce PR changes", "generate a release announcement", "summarize PR for Teams", "summarize PR for Slack", "draft a channel post", or needs to turn GitHub pull request changes into a formatted announcement for IM platforms (MS Teams, Slack). Supports single-PR and multi-PR release announcements.

16 stars

Best use case

create-announcement is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

This skill should be used when the user asks to "create an announcement", "write a Teams message for a PR", "write a Slack message for a PR", "announce PR changes", "generate a release announcement", "summarize PR for Teams", "summarize PR for Slack", "draft a channel post", or needs to turn GitHub pull request changes into a formatted announcement for IM platforms (MS Teams, Slack). Supports single-PR and multi-PR release announcements.

Teams using create-announcement should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/create-announcement/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/cli-automation/create-announcement/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/create-announcement/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How create-announcement Compares

Feature / Agentcreate-announcementStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

This skill should be used when the user asks to "create an announcement", "write a Teams message for a PR", "write a Slack message for a PR", "announce PR changes", "generate a release announcement", "summarize PR for Teams", "summarize PR for Slack", "draft a channel post", or needs to turn GitHub pull request changes into a formatted announcement for IM platforms (MS Teams, Slack). Supports single-PR and multi-PR release announcements.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# MS Teams Announcement from Pull Requests

## Overview

Generate professional Microsoft Teams channel announcements based on pull request changes. Analyze PR diffs, descriptions, and commit history using the GitHub MCP server, then produce a structured markdown message ready to paste into a Teams channel.

**Announcement structure:**
- **Title** - Emoji prefix + concise topic headline
- **Subtitle** - Context line with scope, version, or key qualifier
- **Message Body** - Opening context, bold section headers, bulleted details, links, and closing call to action

## Prerequisites

The GitHub MCP server must be available in the current session. Verify by checking available MCP tools at the start of the workflow. If the GitHub MCP server is not available, inform the user that it is required for fetching pull request data.

## Workflow

### Step 1: Gather PR Information

Determine whether the announcement covers a single PR or multiple PRs.

**For a single PR**, use the GitHub MCP server to fetch:
- PR title, description, and labels
- Changed files list and diff summary
- Commit messages

**For multiple PRs** (e.g., a release or migration), fetch the above for each PR and identify common themes, affected areas, and the overall scope of changes.

If the user provides PR numbers or URLs, use those directly. If not, ask the user to specify which PR(s) to announce.

### Step 2: Analyze Changes

Categorize the changes from the PR(s):

1. **What changed** - Upgrades, new features, deprecations, security patches, tooling additions
2. **What areas are affected** - Frameworks, libraries, developer workflows, build pipelines
3. **Why it matters** - Security, performance, developer experience, compliance
4. **What action is needed** - Verification, migration steps, version upgrades, nothing

Focus on impact and outcomes rather than implementation details. Translate technical diffs into language that communicates value to the target audience.

### Step 3: Compose the Announcement

Produce the announcement following the format and guidelines below.

#### Announcement Format

```markdown
Title: [emoji] [Topic]
Subtitle: [Context — Qualifier]

[Opening paragraph]

[Bold section headers with content]

[Links and closing]
```

#### Title Guidelines

- Begin with a relevant emoji that visually identifies the topic
- Follow with a concise topic (framework name, feature, tool)
- Keep under 60 characters (excluding emoji)
- Use version transition notation where applicable (e.g., "v18→19")

**Examples:**
- `🔒 Security Patch — Auth Library v3.2.1`
- `🚀 Welcome ECMAScript 2025`
- `⚛️ React 18→19`
- `⚠️ Drop Node.js 18 Support`
- `🤖 AI Assistant First-Class Support`
- `🤖 New Calude Code Skill: localize`

#### Subtitle Guidelines

- One line providing scope, version detail, or key qualifier
- Use em dash (—) to separate topic from qualifier
- Keep under 100 characters

**Examples:**
- `Critical Security Patch — March Release Target`
- `ES2025 is Here — New Language Features Now Available`
- `Node v22 is supported for local development and CI runners`

#### Message Body Guidelines

Structure the body with these elements as applicable:

1. **Opening paragraph** - One to three sentences establishing context: what happened, who did it, and when. Include the PR link inline.
2. **Bold section headers** - Use `**Header**` to organize content into logical sections. Common headers:
   - `**Notable Changes**` or `**What's New**` - for listing changes
   - `**Impact**` - for downstream effects
   - `**⚠️ IMPORTANT ⚠️**` - for critical action items or deprecations
   - `**What should I know**` - for linking to external docs or guides
3. **Bulleted details** - List specific changes, versions, or features under each section header
4. **Links** - Include PR URLs, changelog links, documentation links, and discussion links inline where relevant
5. **Closing** - End with a call to action, invitation for questions, or team contact line

**Writing style:**
- Professional but approachable — use "we" and team attribution
- Write in past tense for completed actions ("has been upgraded"), present tense for current state ("is now available")
- Include version numbers with transition notation where relevant (e.g., "5.5.4 -> 5.8.3")
- Bold key dates, version numbers, and action items for scannability
- Link to external resources (changelogs, official docs, guides) rather than repeating their content
- Keep total body under 250 words for single-PR announcements, under 400 words for multi-PR

### Step 4: Present and Refine

Present the composed announcement to the user in a copyable markdown block. Offer to adjust tone, length, or detail level if needed.

## Announcement Categories

Different change types call for different emphasis:

- **Framework/library upgrades** - Lead with version transition, list notable dependency changes with changelog links, mention release timeline
- **Security patches** - Lead with urgency, reference CVEs or advisories, specify release target
- **Deprecation notices** - Lead with the deadline, bold the deprecation date, provide migration steps
- **New tooling/features** - Lead with the value proposition, describe setup or usage, invite the team to try it
- **Documentation** - Lead with what's covered, link directly to the resource, invite contributions

## Multi-PR Announcements

When summarizing multiple PRs into a single announcement:

- Group changes by theme or affected area rather than listing per-PR
- Identify the most significant changes and lead with those
- Mention the total number of PRs and provide links to all of them
- Use a milestone or release-style title when appropriate

## Tone Calibration

Default to a professional, approachable tone suitable for engineering channels — the kind of message a tech lead would post. If the user specifies a different audience, adjust accordingly:

- **Engineering channel** - Include version numbers, dependency names, changelog links, CLI commands
- **Broader audience** - Focus on user-facing impact, avoid internal tooling details
- **Leadership** - Emphasize business value, timelines, and risk mitigation

## Output Expectations

Always output the final announcement inside a single fenced code block (```markdown) so the user can easily copy and paste it into Teams. Teams supports markdown formatting including bold, italic, bulleted lists, and links.

## Additional Resources

### Reference Files

For detailed examples of announcements across different categories:
- **`references/announcement-examples.md`** - Full example announcements covering upgrades, security patches, deprecations, new tooling, and documentation releases

### Example Files

- **`examples/single-pr-announcement.md`** - Example output for a framework upgrade announcement
- **`examples/multi-pr-announcement.md`** - Example output for a multi-topic release announcement

Related Skills

create-workflow

16
from diegosouzapw/awesome-omni-skill

Create Jazz workflow automation files (WORKFLOW.md). Use this for scheduling Jazz agents to run recurring tasks. For OS-level scripts/commands, use create-system-routine.

create-rule

16
from diegosouzapw/awesome-omni-skill

Create persistent AI agent rules and instructions. Use when you want to create a rule, add coding standards, set up project conventions, configure file-specific patterns, or create AGENTS.md/GEMINI.md rule files across Cursor, Gemini CLI, or Codex.

create-prompt

16
from diegosouzapw/awesome-omni-skill

Expert prompt engineering for creating effective prompts for Claude, GPT, and other LLMs. Use when writing system prompts, user prompts, few-shot examples, or optimizing existing prompts for better performance.

create-expert-skill

16
from diegosouzapw/awesome-omni-skill

Create production-ready skills from expert knowledge. Extracts domain expertise and system ontologies, uses scripts for deterministic work, loads knowledge progressively. Use when building skills that must work reliably in production.

create-event-handlers

16
from diegosouzapw/awesome-omni-skill

Sets up RabbitMQ event publishers and consumers following ModuleImplementationGuide.md Section 9. RabbitMQ only (no Azure Service Bus). Creates publishers with DomainEvent (tenantId preferred), consumers with handlers, naming {domain}.{entity}.{action}, required fields (id, type, version, timestamp, tenantId, source, data). Use when adding event-driven communication, async workflows, or integrating via events.

create-custom-prompt

16
from diegosouzapw/awesome-omni-skill

Prompt for creating custom prompt files

create-assistant

16
from diegosouzapw/awesome-omni-skill

Create and configure Vapi voice AI assistants with models, voices, transcribers, tools, hooks, and advanced settings. Use when building voice agents, phone bots, customer support assistants, or any conversational AI that handles phone or web calls.

create-agents-md

16
from diegosouzapw/awesome-omni-skill

Create or rewrite AGENTS.md files for Open Mercato packages and modules. Use this skill when adding a new package, creating a new module, or when an existing AGENTS.md needs to be created or refactored. Ensures prescriptive tone, MUST rules, checklists, and consistent structure across all agent guidelines.

create-agent-with-sanity-context

16
from diegosouzapw/awesome-omni-skill

Build AI agents with structured access to Sanity content via Context MCP. Covers Studio setup, agent implementation, and advanced patterns like client-side tools and custom rendering.

awesome-copilot-root-typespec-create-agent

16
from diegosouzapw/awesome-omni-skill

Generate a complete TypeSpec declarative agent with instructions, capabilities, and conversation starters for Microsoft 365 Copilot Use when: the task directly matches typespec create agent responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.

awesome-copilot-root-mcp-create-declarative-agent

16
from diegosouzapw/awesome-omni-skill

Skill converted from mcp-create-declarative-agent.prompt.md Use when: the task directly matches mcp create declarative agent responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.

acc-create-read-model

16
from diegosouzapw/awesome-omni-skill

Generates Read Model/Projection for PHP 8.5. Creates optimized query models for CQRS read side with projections and denormalization. Includes unit tests.