Agent skill

Release Changelog

by VoidenHQ in VoidenHQ/voiden

A skill your agent uses whenever asked to write/create a new changelog entry for a new Voiden app version (e.g.

Apache-2.0Auto-check passedDevelopment

Install Release Changelog

skills CLI
$ npx skills add VoidenHQ/voiden --skill release-changelog -a claude-code

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

GitHub CLI
$ gh skill install VoidenHQ/voiden release-changelog --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/VoidenHQ/voiden.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-changelog .claude/skills/release-changelog && 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
release-changelog
GitHub stars
2k
Token cost
~2.3k tokens
SKILL.md length
1,048 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses whenever asked to write/create a new changelog entry for a new Voiden app version (e.g.

  • Works in 3 steps: apps/ui/src/data/changelog.json — full… → apps/ui/src/core/whats-new/whats-new.json… → ../Voiden…
  • Asked to write/create a new changelog entry for a new Voiden app version (e.g
  • SKILL.md covers Sibling repositories, 1.…, 2.… and 3. ../Voiden…, plus 1 more section
  • Calls git, gh and node; reaches github.com

What it does

Release Changelog is an agent skill from VoidenHQ/voiden. Use whenever asked to write/create a new changelog entry for a new Voiden app version (e.g. "create a changelog for 2.1.2", "add a new patch release changelog"), or to sync/backfill the changelog on the marketing website. Three files across two repos need updating together — the app's full technical changelog, its in-app "What's New" highlights, and the website's changelog mirror — never just one.

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. It works with OpenAPI, Postman and GraphQL. The repository describes itself as: Design, Test and Document APIs in plain Markdown. Compose Requests with API blocks. Reuse, Replace & Version everything just like code. Offline, Truly Git Native, No Lock-in. The licence is Apache-2.0.

When your agent uses it

  • Asked to write/create a new changelog entry for a new Voiden app version (e.g
  • Tasks that involve Changelog and release notes

Example prompts

  • “create a changelog for 2.1.2”
  • “add a new patch release changelog”
  • “s full technical changelog, its in-app”
  • “/release-changelog”

Requirements

  • Node.js

Workflow steps

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

  1. apps/ui/src/data/changelog.json — full technical changelog
  2. apps/ui/src/core/whats-new/whats-new.json — in-app "What's New" highlights
  3. ../Voiden Website/website/src/features/changelog/data.ts — website mirror

What it can do on your machine

Read from SKILL.md and the folder at commit fcf9360. 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:

    • git
    • gh
    • node
    • npx
    • tsc

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    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

Release Changelog loads about 2.3k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 1,048 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~105
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 VoidenHQ/voiden at commit fcf9360, republished under its Apache-2.0 licence (© VoidenHQ). 1,048 words, ~2,271 tokens.

Download SKILL.mdSave it as .claude/skills/release-changelog/SKILL.md (or your agent's skills folder).
name
release-changelog
description
Use whenever asked to write/create a new changelog entry for a new Voiden app version (e.g. "create a changelog for 2.1.2", "add a new patch release changelog"), or to sync/backfill the changelog on the marketing website. Three files across two repos need updating together — the app's full technical changelog, its in-app "What's New" highlights, and the website's changelog mirror — never just one.

Voiden release changelog workflow

Sibling repositories

This repo (voiden) is one of three under ~/Desktop/Voiden/ — know all three before starting release work, since a release routinely touches more than one:

  • voiden (this repo) — the app monorepo. Owns apps/ui/src/data/changelog.json (full technical changelog) and apps/ui/src/core/whats-new/whats-new.json (in-app highlights).
  • ../Voiden Website/website — the public marketing site. Mirrors the technical changelog at src/features/changelog/data.ts, rendered by src/components/ChangelogEntry.tsx. Same content as changelog.json, different schema (see part 3 below) — keep both in sync every release, don't let the website fall behind (it had silently missed three whole releases before this note existed).
  • ../docs — the docs site (docs.voiden.md, Docusaurus). No changelog here, but a release that adds or changes a user-facing feature (a new block, a new CLI flag, a new panel) usually means a doc page needs updating too. This skill doesn't write those doc edits itself — but check whether one's needed, and say so, rather than closing out release work as if the changelog were the only thing that could be stale.

When asked to create a changelog entry for a new app version, three files across two repos need updating, not one. They serve different audiences and have different formats — do not skip any of them or copy the same content in verbatim where the format actually differs.

1. apps/ui/src/data/changelog.json — full technical changelog

The exhaustive, engineering-facing record. One object per release, prepended to the top of the array (newest first).

json
{
  "version": "vX.Y.Z",
  "date": "DD/MM/YYYY",
  "title": "Short Punchy Title",
  "description": "1-2 sentence summary of the release for the changelog page header.",
  "icon": "Wrench",
  "iconColor": "text-orange-400",
  "bgColor": "bg-gradient-to-br from-slate-900 to-orange-950",
  "changes": {
    "Added": ["..."],
    "Improved": ["..."],
    "Fixed": ["..."]
  }
}
  • Only include "Added"/"Improved"/"Fixed" keys that actually have entries for this release.
  • Each bullet is ONE line — a single short sentence or clause, like Bruno's and Yaak's changelogs (fix: stop AWS V4 auth headers from leaking on cross-origin redirects). Name what changed, not the mechanism — no "because", no multi-clause backstory, no explaining why it broke or how it was fixed internally. If it takes more than one line to read, cut it down to the user-visible outcome only. An issue/PR number in parens ((#523)) is fine and matches the file's existing convention.
  • Title/description stay neutral about the past. Don't phrase a fix as "X Actually Works Now" or "X Finally Fixed" — that reads as an admission the feature never worked, which isn't the tone a release note should take even when it's technically true. State what changed ("X Connection Fix", "X Reliability Fix"), not a verdict on the prior state.
  • Derive content from git log <previous-changelog-commit>..HEAD, scoped to user-facing changes — skip pure CI/release-pipeline commits (npm publish config, GitHub workflow tweaks, signing, packaging scripts) unless they're user-visible (e.g. "Windows installer now signed correctly").
  • Contributor credit, with a real link. For every change whose commit/PR author isn't the core team, append — contributed by [@username](https://github.com/username) to that bullet. Don't guess the username from the commit's git author name or email — look it up for certain:
    • git log <range> --format="%an <%ae>" to see who committed in this release's range.
    • For each non-core author, find their PR number (commit message usually has (#123)) and confirm the real GitHub login with gh pr view <number> --repo VoidenHQ/voiden --json author -q .author.login — a noreply.github.com commit email often encodes the username directly, but don't rely on that alone (a personal/work email tells you nothing); the PR lookup is the source of truth.
    • This renders as a real clickable link in the app (ChangeLogScreen.tsx parses the [text](url) shape specifically for this) — always use that exact markdown-link form, not a bare URL or plain username.
    • Check every contributor's change actually made it into a changelog bullet — it's easy for a real fix to ship without ever getting written up. Cross-check git log <range> --format="%an" against what you're about to write, and add a bullet for anything missing rather than only covering what an existing draft already mentions.
  • Pick an icon from the existing set already used in the file (Wrench, Sparkles, Bug, Plug, etc.) — reuse for consistency, vary the color so consecutive releases don't look identical.
  • Validate with node -e "JSON.parse(require('fs').readFileSync('apps/ui/src/data/changelog.json','utf8')))" after editing.
Show full SKILL.md (403 more words)Show less

2. apps/ui/src/core/whats-new/whats-new.json — in-app "What's New" highlights

A curated, marketing-toned subset shown in the in-app spotlight/modal (apps/ui/src/core/whats-new/WhatsNewModal.tsx). Prepend a new release object to releases (newest first):

json
{
  "version": "X.Y.Z",
  "date": "Month YYYY",
  "whatsnew": [
    {
      "icon": "🌱",
      "title": "Short Title",
      "description": "User-facing sentence or two, written for someone who didn't read the technical changelog — explain the *benefit*, not the implementation."
    }
  ]
}
  • Version string has no leading v here (unlike changelog.json), and date is "Month YYYY", not DD/MM/YYYY.
  • Pick 2-4 of the most user-visible items, not every bullet from the technical changelog. Bundle a batch of minor/internal fixes into one "🐛 ... Fixes" entry rather than listing each separately — see existing 2.0.1/2.1.0 entries in the file for tone and granularity.
  • A release that's pure CI/infra/internal cleanup with nothing user-visible can be skipped here (it's fine for whats-new.json to jump versions) — but if you added a changelog entry because there was user-facing change, add a whats-new entry too.
  • Use real emoji for icon (not Lucide icon names — that's changelog.json's convention, this file is different).
  • Validate the same way after editing.

3. ../Voiden Website/website/src/features/changelog/data.ts — website mirror

Same content as changelog.json's entry (part 1) — same bullets, same one-line rule, same contributor links — but a different schema, in a different repo (Voiden Website/website, a sibling of this one, not a subdirectory of it). Prepend to the top of the changelogs array:

ts
{
  version: "X.Y.Z",      // no leading "v", unlike changelog.json
  date: "YYYY-MM-DD",    // ISO, unlike changelog.json's DD/MM/YYYY
  title: "Short Punchy Title",
  description: "Same 1-2 sentence summary as changelog.json.",
  icon: "Wrench",
  iconColor: "text-orange-400",
  bgColor: "bg-gradient-to-br from-slate-900 to-orange-950",
  changes: [
    { type: "added", items: ["..."] },
    { type: "improved", items: ["..."] },
    { type: "fixed", items: ["..."] },
  ],
}
  • changes is an array of {type, items} objects here (lowercase type: added/improved/fixed/changed/notes), not a keyed object like changelog.json's Added/Improved/Fixed. Don't paste one shape into the other's file.
  • Contributor links use the identical [@username](https://github.com/username) markdown-link text — ChangelogEntry.tsx parses that exact shape the same way ChangeLogScreen.tsx does on the app side. Keep both parsers' regex (CHANGE_LINK_RE) in sync if either ever changes.
  • Validate with npx tsc --noEmit -p tsconfig.json (run from the website repo root) after editing — it's a .ts file, not JSON, so JSON.parse won't catch a syntax error here.
  • This file has drifted behind changelog.json before (three releases went unmirrored) — when in doubt, diff the top few entries of both files before assuming the website is current.

Order of operations

  1. Check git log since the last changelog entry's commit to know what actually shipped.
  2. Write the changelog.json entry first (full detail).
  3. Distill 2-4 highlights from it into a whats-new.json entry.
  4. Mirror the same entry into the website's data.ts (part 3) — same content, different schema, different repo.
  5. Validate all three files (two JSON parses + one tsc --noEmit).
  6. If this release shipped a new or changed user-facing feature, check ../docs for a page that now needs updating — flag it even if you're not the one writing that doc pass right now.

© VoidenHQ, Apache-2.0. 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 .agents/skills/release-changelog of VoidenHQ/voiden.

Open the folder on GitHubat commit fcf9360

Compare with similar skills

Release Changelog 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.

Release Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Changelog this skillVoidenHQ/voiden2k—~2.3kAutomated safety check: PassApache-2.0
Yaak Changelogmountain-loop/yaak19k—~1.6kAutomated safety check: PassMIT
Release Generate Release Notesmountain-loop/yaak19k—~548Automated safety check: PassMIT
Release WorkflowGoldziher/spikard123—~909Automated safety check: PassMIT
Use Yaakmountain-loop/yaak19k—~1.9kAutomated safety check: PassMIT
API Testingpetrkindlmann/qa-skills168—~2.7kAutomated safety check: PassMIT

Similar skills

  • Yaak Changelog

    mountain-loop/yaak

    Create or edit Yaak changelogs. An agent skill from mountain-loop/yaak.

    19k GitHub stars~1.6k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Generate Yaak release notes from git history and PR metadata, including feedback links and full changelog compare links.

    19k GitHub stars~548 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Release Workflow

    Goldziher/spikard

    Release/publish the spikard Rust core crate and CLI end-to-end.

    123 GitHub stars~909 tokensUpdated 6 days ago
    Backend & APIsAuto-check passed
  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • API Testing

    petrkindlmann/qa-skills

    Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.

    168 GitHub stars~2.7k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Draw.io Diagram Studio

    Agents365-ai/drawio-skill

    Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.

    10k GitHub stars~2.4k tokensUpdated 7 days ago
    DevelopmentAuto-check: notes

More from VoidenHQ/voiden

  • Plugin Release Check

    VoidenHQ/voiden

    A skill your agent uses whenever a plugin under plugins/<name is updated/pushed, or whenever asked to write a changelog/release for the app or a plugin.

    2k GitHub stars~857 tokensUpdated today
    Auto-check passed

Categories

Questions about Release Changelog

What does Release Changelog do?

A skill your agent uses whenever asked to write/create a new changelog entry for a new Voiden app version (e.g. Release Changelog is an agent skill from VoidenHQ/voiden.g.

When should I use Release Changelog?

Release Changelog fits situations like: asked to write/create a new changelog entry for a new Voiden app version (e.g; tasks that involve Changelog and release notes.

How do I install Release Changelog in Claude Code?

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

How do I install Release Changelog in Codex?

Run `npx skills add VoidenHQ/voiden --skill release-changelog -a codex`. Or copy the skill folder (.agents/skills/release-changelog in VoidenHQ/voiden) into .agents/skills/release-changelog in your project. Codex loads it when a task matches its description.

Can I use Release Changelog 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 VoidenHQ/voiden --skill release-changelog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-changelog, .gemini/skills/release-changelog, .github/skills/release-changelog and .opencode/skills/release-changelog in your project.

What does Release Changelog need to run?

Going by SKILL.md and its folder, Release Changelog needs the command-line tools its instructions call (git, gh, node, npx and tsc). Our summary lists: Node.js.

Does Release Changelog access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Release Changelog 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 Release Changelog use?

Release Changelog is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Changelog use?

About 2.3k tokens (SKILL.md is roughly 9.1k 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 Release Changelog?

Skills that share tags, products or a category with Release Changelog: Yaak Changelog (mountain-loop/yaak, 19k stars), Release Generate Release Notes (mountain-loop/yaak, 19k stars), Release Workflow (Goldziher/spikard, 123 stars) and Use Yaak (mountain-loop/yaak, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Changelog?

VoidenHQ (a GitHub organization) maintains it in VoidenHQ/voiden, which has 1,961 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.

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