Agent skill

Subwave Discord Release

by perminder-klair in perminder-klair/subwave

Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number.

MITAuto-check passedDevelopment

Install Subwave Discord Release

skills CLI
$ npx skills add perminder-klair/subwave --skill subwave-discord-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install perminder-klair/subwave subwave-discord-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/perminder-klair/subwave.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/subwave-discord-release .claude/skills/subwave-discord-release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
subwave-discord-release
GitHub stars
1.4k
Token cost
~2.3k tokens
SKILL.md length
1,124 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number.

  • Works in 3 steps: Pull the release data → Triage the commits → Size the post to the release
  • The user wants to write a Discord announcement / post
  • SKILL.md covers Why this skill exists, Step 1: Pull the release data, Step 2: Triage the commits and Step 3: Size the post to the…, plus 6 more sections
  • Calls gh

What it does

Subwave Discord Release is an agent skill from perminder-klair/subwave. Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number. Use this skill whenever the user wants to "write a Discord announcement / post", "announce the release on Discord", "draft a release announcement", "tell the Discord about vX.Y.Z", "post the release to the community", or hands you a release-please PR / release tag and asks for community copy. The skill knows the house voice (radio-themed, warm, no em-dashes), how to pull the changelog from GitHub, how to translate…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes and Commit messages. It works with Discord and GitHub. The repository describes itself as: Personal internet radio: Agentic AI DJ. The licence is MIT.

When your agent uses it

  • The user wants to write a Discord announcement / post
  • Announce the release on Discord
  • Draft a release announcement
  • Tell the Discord about vX.Y.Z

Example prompts

  • “write a Discord announcement / post”
  • “announce the release on Discord”
  • “draft a release announcement”
  • “/subwave-discord-release”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Pull the release data
  2. Triage the commits
  3. Size the post to the release

What it can do on your machine

Read from SKILL.md and the folder at commit 7dbc57c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Subwave Discord Release loads about 2.3k tokens when it runs. Until then it costs about 175 tokens; SKILL.md has 1,124 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~175
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from perminder-klair/subwave at commit 7dbc57c, republished under its MIT licence (© perminder-klair). 1,124 words, ~2,289 tokens.

Download SKILL.mdSave it as .claude/skills/subwave-discord-release/SKILL.md (or your agent's skills folder).
name
subwave-discord-release
description
Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number. Use this skill whenever the user wants to "write a Discord announcement / post", "announce the release on Discord", "draft a release announcement", "tell the Discord about vX.Y.Z", "post the release to the community", or hands you a release-please PR / release tag and asks for community copy. The skill knows the house voice (radio-themed, warm, no em-dashes), how to pull the changelog from GitHub, how to translate conventional-commit lines into listener-facing benefits, and to size the post to the release. It outputs a ready-to-paste markdown block; it does NOT post to Discord.

SUB/WAVE Discord release announcement

Write one Discord post announcing a SUB/WAVE release. The audience is listeners and operators in the community server, not developers reading a changelog. The job is to turn the release's commits into a short, warm, on-brand post they'll actually read.

Why this skill exists

The raw material is a release-please PR body or a published GitHub release: a list of feat(...) / fix(...) lines with issue numbers. That's changelog-speak. The community post needs the listener-facing version: what each change lets them do, in plain words, with the station's radio-booth personality. The easy things to get wrong are the voice (reads like AI release notes), em-dashes (a hard no), overselling a small maintenance release, burying the good stuff under internal chores, and reusing last release's opener or closer (every post gets freshly coined ones). This skill encodes the house format and the translation step.

Step 1: Pull the release data

Get the grouped changelog. Depending on what the user gives you:

bash
# a release-please PR (the "chore(main): release X.Y.Z" PR)
gh pr view <PR#> --repo perminder-klair/subwave --json title,body,baseRefName

# a published release tag
gh release view v<X.Y.Z> --repo perminder-klair/subwave

# or list recent releases if they only gave a vague "the latest one"
gh release list --repo perminder-klair/subwave --limit 5

The release-please body groups commits under Features and Bug Fixes with issue links. That grouping is your starting skeleton. Note the version and the release URL (https://github.com/perminder-klair/subwave/releases/tag/v<X.Y.Z>) for the sign-off link.

Step 2: Triage the commits

Not every line earns a spot. Read each commit through the ear of a listener/operator:

  • Headline features get a bulleted callout with a thematic emoji and a bold lead. These are the user-visible wins: new personas, new stations, new transitions, new controls, new skills.
  • Fixes get a compact 🔧 list further down, framed by why they matter ("no more X leaking to air"), not by the code path.
  • Drop or fold pure internals: release chores, CI, refactors, dependency bumps, anything a listener would never perceive. Don't pad the post to look bigger than the release.

Translate every kept line out of commit-speak. fix(llm): stop runaway </think> repetition loops leaking to air becomes "No more runaway think-loops leaking to air. Reasoning models used to occasionally spill their inner monologue over the stream. That's plugged." The commit tells you what code changed; you write what the listener will notice.

Step 3: Size the post to the release

A big feature release and a small maintenance drop should not read the same. Say which one it is in the intro, honestly. A five-feature release earns the full treatment; a two-feature-plus-fixes release should say "smaller drop this time, but a good one" and stay short. Overselling a patch release is the fastest way to make the wire feel like marketing.

The format

Output a single fenced ```markdown code block so the user can copy the raw text straight into Discord. The shape:

📻 SUB/WAVE vX.Y.Z [freshly coined on-air phrase — see "Openers and closers"] 📻

[Intro: one short paragraph. Name the release's character (big / smaller), say what it's mostly about in plain words, and lead into the list. Radio metaphors welcome (on the dial, in the booth, on air).]

[EMOJI] **Feature lead in bold.** One to three sentences on what it is and what it lets them do. Pick an emoji that fits the feature, not a generic sparkle.

[EMOJI] **Next feature.** ...

[Transition line into the smaller stuff, ending in 👇. e.g. "And a handful of fixes that matter more than they sound 👇"]

🔧 Plain-language fix, framed by why it matters.
🔧 Next fix.

Full notes: https://github.com/perminder-klair/subwave/releases/tag/vX.Y.Z

[Thank-you closer to the people who filed issues and sent PRs, then a fresh sign-off. See "Openers and closers" below.]

@everyone

Notes on the parts:

  • Headline: the 📻 … 📻 bookend around SUB/WAVE vX.Y.Z is the fixed part; the phrase after the version is coined fresh every release (see "Openers and closers").
  • Feature bullets: emoji + bold lead, then prose. One idea per bullet. Merge related commits (e.g. two new stations) into one bullet rather than listing each.
  • Fixes: 🔧 prefix, one line each, benefit-first. Only include fixes a user would feel; fold the rest into a single "plus the usual under-the-hood tidying" line or drop them.
  • @everyone goes at the very bottom, after the sign-off. (This is the operator's standing preference. Confirm only if they say otherwise.)
Show full SKILL.md (586 more words)Show less

Openers and closers: coin fresh ones every release

Two lines go stale fastest on the wire: the headline phrase inside the 📻 … 📻 bookend, and the closer (thank-you sentence + sign-off). Both are written new for every release. Nothing in this section is a menu to pick from; it's a description of the register.

How to coin them:

  1. Write two or three candidates for each before settling. Pull imagery from the whole radio world, not just the dial: the transmitter, the tower, the fader, the needle, the mixing desk, the late-night booth, the request line, the test card, static between stations, the ON AIR lamp, a signal finding its frequency. A line that riffs on this release's content (a landing-page release can open with the shop window, a transitions release with the crossfade) beats a generic radio line.
  2. Keep the one that matches the release's energy: a big feature drop can be loud, a patch release can be a quiet, dry line.
  3. Check it against the retired list below. If it matches or is a near-synonym of anything there (same verb, same image), throw it out and coin another. Swapping "airwaves" for "wire" is not a new line.

The thank-you sentence follows the same rule: tie it to what actually happened this release (who reported the bug that got fixed, whose idea shipped), not a stock "thanks for the feedback" shape.

Retired lines (already aired; never reuse, including near-synonyms):

  • Headlines: "is on the airwaves"
  • Sign-offs: "See you on the dial", "Catch you on air", "go make some noise"
  • Thank-yous: "Every fix in that list started as one of your reports. Keep them coming."

Maintenance: when the user confirms a post has shipped, append its headline phrase, sign-off, and thank-you line to the retired list above so future runs can't repeat them.

Writing rules

  • No em-dashes. Reword with a comma, a colon, parentheses, or a full stop. Hard rule for the wire.
  • Warm, plain, a little playful. First person plural ("this one's built on your feedback") reads human and fits a community voice.
  • No changelog-speak, no inflated significance, no rule-of-three padding.
  • Straight quotes. Emoji are welcome here (unlike the news dispatch) because it's Discord, but each should carry meaning, not decorate.
  • Keep it scannable: short intro, bulleted features, compact fixes, link, sign-off. Discord readers skim.

Required: de-slop before delivering

Run the finished draft through the no-ai-slop skill in edit mode and apply its edits before you hand it over. This is where lingering AI tells, any stray em-dash, and rule-of-three habits get caught. It's the same discipline the news dispatch uses, and it's what keeps the post from reading like generated release notes.

Hold the house voice against it: the no-em-dash rule above is absolute here, and the warm first-person plural and the emoji that carry meaning are voice signals to preserve, not slop to strip.

Delivering

Hand back the final post inside one ```markdown fenced block (so @everyone, bold, and links survive the copy). Then offer a quick follow-up: alternate sign-offs, a shorter cut, or dropping the fixes section. The operator usually iterates on the closer and the length.

Reference: the house voice

The previous release announcements are the tonal reference. If the user pastes an older post as "here's our old one," match its rhythm and warmth, not its exact wording or emoji. The v0.37.0 post (big feature release: guest co-hosts, programmes, chop transition, community personas) and the v0.39.0 post (smaller: persona fader controls, new personas/stations, LLM fixes) bracket the range from full-treatment to compact-drop.

© perminder-klair, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/subwave-discord-release of perminder-klair/subwave.

Open the folder on GitHubat commit 7dbc57c

Compare with similar skills

Subwave Discord Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Subwave Discord Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Subwave Discord Release this skillperminder-klair/subwave1.4k—~2.3kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Plane Release Notes Generatormakeplane/plane61k—~2.5kAutomated safety check: PassAGPL-3.0
Release Minorknuckleswtf/scribe2.3k—~437Automated safety check: PassMIT
Release NotesEvilBeaver/OneScript588—~779Automated safety check: PassMPL-2.0
Release WorkflowCaldis/react-zmage945—~3.6kAutomated safety check: NotesMIT

Similar skills

  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Builds categorized release notes for a Plane release pull request from its commits and writes them into the PR description, for both the plane-cloud and plane-ee repos.

    61k GitHub stars~2.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Release Minor

    knuckleswtf/scribe

    Automates the process of tagging a new minor release for Scribe by analyzing commit messages, updating the changelog, and creating a GitHub release.

    2.3k GitHub stars~437 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Release Notes

    EvilBeaver/OneScript

    This skill creates release notes for new release by reading git commit log.

    588 GitHub stars~779 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release Workflow

    Caldis/react-zmage

    A skill your agent uses when the user wants to ship a new version of react-zmage to npm.

    945 GitHub stars~3.6k tokensUpdated 4 mo ago
    DevelopmentAuto-check: notes
  • Changeset Changelog

    jmfederico/pi-web

    A skill your agent uses whenever the user asks about changelogs, Changesets, release notes, conventional commits, commit messages for release notes, or making user-visible project changes that…

    871 GitHub stars~1.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from perminder-klair/subwave

  • Subwave LLM Bench

    perminder-klair/subwave

    Benchmark and compare LLM models for SUB/WAVE's on-air calls — track picks, segments, listener requests, DJ scripts, banter, and programme beats — in both candidate-pool and agent modes, using…

    1.4k GitHub stars~2.4k tokensUpdated today
    Auto-check: notes
  • Subwave Worktree Dev

    perminder-klair/subwave

    Stage a SUB/WAVE git worktree so the dev stack can run from it, then start it.

    1.4k GitHub stars~2.4k tokensUpdated today
    Auto-check: notes
  • Subwave Control

    perminder-klair/subwave

    Start or stop the SUB/WAVE radio stack (a personal internet radio station) in dev or production mode — no builds, no rebuilds, no config rendering.

    1.4k GitHub stars~1.6k tokensUpdated today
    Auto-check: notes
  • Subwave Release PR

    perminder-klair/subwave

    Open a release pull request from develop to main for SUB/WAVE, and keep develop from drifting behind main.

    1.4k GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Subwave News Dispatch

    perminder-klair/subwave

    Write a news post for the SUB/WAVE "Dispatches" page, a short human-friendly tutorial about a feature, fix, or release.

    1.4k GitHub stars~1.6k tokensUpdated today
    Auto-check: warnings
  • Verify

    perminder-klair/subwave

    Drive a controller/admin-UI change end-to-end from a worktree without touching the live station — isolated controller on a spare port + temp STATEDIR, worktree Next dev server, Playwright against…

    1.4k GitHub stars~451 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Subwave Discord Release

What does Subwave Discord Release do?

Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number. Subwave Discord Release is an agent skill from perminder-klair/subwave. Draft a Discord release announcement for SUB/WAVE from a release PR, tag, or version number.

When should I use Subwave Discord Release?

Subwave Discord Release fits situations like: the user wants to write a Discord announcement / post; announce the release on Discord; draft a release announcement; tell the Discord about vX.Y.Z.

How do I install Subwave Discord Release in Claude Code?

Run `npx skills add perminder-klair/subwave --skill subwave-discord-release -a claude-code`. Or copy the skill folder (.claude/skills/subwave-discord-release in perminder-klair/subwave) into .claude/skills/subwave-discord-release in your project. Claude Code loads it when a task matches its description.

How do I install Subwave Discord Release in Codex?

Run `npx skills add perminder-klair/subwave --skill subwave-discord-release -a codex`. Or copy the skill folder (.claude/skills/subwave-discord-release in perminder-klair/subwave) into .agents/skills/subwave-discord-release in your project. Codex loads it when a task matches its description.

Can I use Subwave Discord Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add perminder-klair/subwave --skill subwave-discord-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/subwave-discord-release, .gemini/skills/subwave-discord-release, .github/skills/subwave-discord-release and .opencode/skills/subwave-discord-release in your project.

What does Subwave Discord Release need to run?

Going by SKILL.md and its folder, Subwave Discord Release needs the command-line tools its instructions call (gh).

Does Subwave Discord Release access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Subwave Discord Release safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Subwave Discord Release use?

Subwave Discord Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Subwave Discord Release use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Subwave Discord Release?

Skills that share tags, products or a category with Subwave Discord Release: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Plane Release Notes Generator (makeplane/plane, 61k stars), Release Minor (knuckleswtf/scribe, 2.3k stars) and Release Notes (EvilBeaver/OneScript, 588 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Subwave Discord Release?

perminder-klair (a GitHub user) maintains it in perminder-klair/subwave, which has 1,420 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.

Source: perminder-klair/subwave on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.