Skip to content
Skillpedia
Copy & sales103k · #386

release-announcement

Helps your agent write launch announcements. It focuses on user impact and how to use new features.

What it does

This feature helps create software update announcements. It writes text for different places like in-app notes, social media posts, or blog articles, focusing on what the user gains from the new update.

When to use it

  • ✓When a new version or feature is released and needs to be communicated.
  • ✓When a previously private feature is now available to everyone.
  • ✓When an important change might affect users and needs to be announced in advance.

Example of what to ask your AI

“Write an announcement for the new version 2.0 of our app, highlighting that it's now 50% faster and allows exporting data to PDF.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/paperclipai/paperclip/blob/master/packages/skills-catalog/catalog/optional/content/release-announcement/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/paperclipai/paperclip/blob/master/packages/skills-catalog/catalog/optional/content/release-announcement/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The AI understands the target audience (users, developers, etc.) and the publication channel (blog, social media). It then crafts text focused on reader benefits, with clear instructions on what action to take.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add paperclipai/paperclip --skill release-announcement

Or download just the file:

curl -L https://raw.githubusercontent.com/paperclipai/paperclip/master/packages/skills-catalog/catalog/optional/content/release-announcement/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Release Announcement

Write the channel-appropriate announcement for a release without churn. Different surfaces need different shapes: a changelog entry is not a blog post is not a social card. The bar is: a reader of the chosen surface can decide in under 30 seconds whether this release affects them, and if so what to do.

When to use

  • A version, feature, or fix is shipping and needs writeup for at least one surface.
  • A previously private feature is going GA.
  • A breaking change needs broadcast before users hit it.

When not to use

  • An internal-only change with no user impact. Update internal docs; do not announce.
  • The release is incomplete (still in active development). Wait until it ships, even if marketing wants the post.

Paperclip Cases output

When this skill runs inside Paperclip and experimental.enableCases is enabled, emit durable release-content cases before handing off the copy. Cases preserve the inspectable output; the issue coordinates the work.

Use skills/paperclip/references/cases.md for the API contract. Include X-Paperclip-Run-Id on writes when PAPERCLIP_RUN_ID is set. If the API returns 403 Cases are disabled, report that limitation and continue with the requested copy artifact.

Upsert the parent release case first when it does not already exist:

{
  "caseType": "release",
  "key": "paperclip-release:vYYYY.MDD.P",
  "title": "Paperclip vYYYY.MDD.P release",
  "status": "in_progress",
  "fields": {
    "schema_version": 1,
    "version": "vYYYY.MDD.P",
    "release_date": "YYYY-MM-DD",
    "release_patch": 0,
    "stable": true,
    "channels": ["blog_post", "tweet_storm"],
    "artifacts": {
      "changelog_path": "releases/vYYYY.MDD.P.md",
      "publish_url": null
    }
  }
}

For a dev blog, upsert a child case with parentCaseId set to the release case:

{
  "caseType": "blog_post",
  "key": "paperclip-release:vYYYY.MDD.P:blog-post",
  "title": "Paperclip vYYYY.MDD.P launch post",
  "status": "in_review",
  "parentCaseId": "<release-case-id>",
  "fields": {
    "schema_version": 1,
    "version": "vYYYY.MDD.P",
    "slug": "paperclip-vYYYY-MDD-P",
    "word_count_target": 650,
    "target_audience": ["operators", "developers"],
    "requires_screenshot": false,
    "links": {
      "release_notes": "releases/vYYYY.MDD.P.md",
      "publish_url": null
    },
    "sections": ["hook", "whats_new", "upgrade", "whats_next"]
  }
}

For social output, upsert a sibling child case:

{
  "caseType": "tweet_storm",
  "key": "paperclip-release:vYYYY.MDD.P:tweet-storm",
  "title": "Paperclip vYYYY.MDD.P tweet storm",
  "status": "in_review",
  "parentCaseId": "<release-case-id>",
  "fields": {
    "schema_version": 1,
    "version": "vYYYY.MDD.P",
    "post_count": 1,
    "channel": "x",
    "target_audience": ["operators", "contributors"],
    "links": {
      "release_notes": "releases/vYYYY.MDD.P.md",
      "publish_url": null
    },
    "review": {
      "needs_human_copy_paste": true,
      "approved_by": null
    }
  }
}

Write the produced copy to PUT /api/cases/:caseId/documents/body with format: "markdown" and a changeSummary. Fetch the latest document revision and pass baseRevisionId when updating an existing body document.

Determine the audience and channel first

Audience Best channel Tone
Existing power users Changelog, in-app note Terse, factual, links
Engineering teams adopting your API Release notes, dev blog Examples, migration steps, version pins
Prospective customers Landing page, marketing blog Story arc, problem → solution, social proof
Broad audience Social post, email newsletter One-sentence pitch, link to depth
Internal team Slack/Discord post What changed, who to ping if it breaks

Pick the audience for this writeup. One release often needs several writeups; do not blend them.

Universal structure

Whatever the channel, lead with:

  1. What changed. One sentence in the user's vocabulary.
  2. Who it affects. Which user role / use case.
  3. What to do. Migrate now / opt-in / no action needed.

Everything else is depth that supports those three.

Channel templates

Changelog entry (terse)

## v1.42.0 — 2026-05-26

### Added
- <feature> — <one-line user benefit>. ([#1234](link))

### Changed
- <change> — <one-line impact>. ([#1235](link))

### Fixed
- <bug> — <one-line user-visible symptom>. ([#1236](link))


…
FAQ

What does 'without filler' mean?

It means avoiding unnecessary introductory phrases like 'We are excited to announce' and getting straight to the point about the changes and their impact.

What are 'Paperclip Cases'?

This refers to an internal system for organizing and tracking the writing tasks for announcements, ensuring work is logged and managed properly.

Why is focusing on 'user impact' important?

Because people want to know how a new update directly affects them and what benefits they will receive, rather than just knowing what was technically changed.

Details

Original description by the author

Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.

repo: paperclipai/paperclip

Popularity

GitHub stars
103k
Ranking position
#386
License
MIT
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills