# Write Release Announcement

Writes a changelog, blog or social post that leads with user impact and upgrade steps.

- Repository: https://github.com/paperclipai/paperclip (109885 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add paperclipai/paperclip --skill release-announcement -g -a claude-code -y`
Codex: `npx skills add paperclipai/paperclip --skill release-announcement -g -a codex -y`
Cursor: `npx skills add paperclipai/paperclip --skill release-announcement -g -a cursor -y`
Gemini CLI: `npx skills add paperclipai/paperclip --skill release-announcement -g -a gemini-cli -y`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

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

```json
{
  "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:

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