Agent skill

Changelog

by Altinn in Altinn/altinn-studio

Write and edit CHANGELOG.md entries in this repository as release notes for the people who use the product.

MITAuto-check passedDevelopment

Install Changelog

skills CLI
$ npx skills add Altinn/altinn-studio --skill changelog -a claude-code

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

GitHub CLI
$ gh skill install Altinn/altinn-studio 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/Altinn/altinn-studio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/changelog .claude/skills/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
changelog
GitHub stars
169
Token cost
~2.4k tokens
SKILL.md length
957 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Write and edit CHANGELOG.md entries in this repository as release notes for the people who use the product.

  • Works in 4 steps: Decide whether the change is visible to… → If your harness can start a subagent,… → Merge it with any related [Unreleased]… → …
  • Changing a changelog entry
  • SKILL.md covers Rules, Writing the entry for a pull…, Preparing a release and Examples
  • Calls go; reaches docs.altinn.studio and github.com

What it does

Changelog is an agent skill from Altinn/altinn-studio. Write and edit CHANGELOG.md entries in this repository as release notes for the people who use the product. Use when adding or changing a changelog entry, when a pull request needs one, or when preparing a release's changelog.

Its SKILL.md is about 2.4k 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 Pull requests. The repository describes itself as: Next generation open source Altinn platform and applications. The licence is MIT.

When your agent uses it

  • Changing a changelog entry
  • A pull request needs one
  • Preparing a releases changelog

Example prompts

  • “/changelog”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Decide whether the change is visible to the changelog's readers at all, and whether an [Unreleased] entry already
  2. If your harness can start a subagent, give a fresh one only this skill, the pull request title and description, and
  3. Merge it with any related [Unreleased] entry, keeping that entry's references. Link the issue for this pull
  4. Commit, then check every changelog you changed with

What it can do on your machine

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

    • go

    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:

    • docs.altinn.studio
    • 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

Changelog loads about 2.4k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 957 words of instructions outside code blocks.

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

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 Altinn/altinn-studio at commit dd14325, republished under its MIT licence (© Altinn). 957 words, ~2,380 tokens.

Download SKILL.mdSave it as .claude/skills/changelog/SKILL.md (or your agent's skills folder).
name
changelog
description
Write and edit CHANGELOG.md entries in this repository as release notes for the people who use the product. Use when adding or changing a changelog entry, when a pull request needs one, or when preparing a release's changelog.

Changelog entries

A changelog is release notes for the people who use the product. Pull request titles and descriptions are for the people who review the code. Do not copy one into the other: a reviewer needs to know how and why, a reader of the changelog needs to know what changed for them and whether they must act.

Rules

  • One entry per change a reader notices, however many pull requests it took. Do not join unrelated changes in one sentence, even when one pull request made them: make them separate entries, or sub-bullets under what they change. If [Unreleased] already has an entry for the same feature, extend or rewrite that entry instead of adding another. No entry for refactors, tests or CI, or for a change an [Unreleased] entry already describes with its issue linked: apply the skip-changelog label.
  • Short. One or two sentences, 40 words or fewer as a rule. releaser validate-changelogs fails a new or changed [Unreleased] entry over 60 words.
  • Lead with what changed for the reader, then say what they can do now or what they must do.
  • Use the names readers know, written exactly as they appear in the product, so the entry can be searched. Give a few examples rather than a complete list.
  • Leave out how it is implemented, why it was designed that way, internal components, and what used to happen, unless the reader must act on it.
  • Fixed entries describe the symptom the reader saw, not the cause.
  • Breaking changes, deprecations and removals say what to do instead, and breaking changes start with Breaking:. Step-by-step migration belongs in the documentation (altinn-studio-docs); link to it. Say so when a tool, such as studioctl app upgrade, makes the change for the reader.
  • End with the references in parentheses: the documentation link first, when there is one, then every issue whose problem or request the entry describes, or the pull request when there is no issue: ([v9 migration guide](https://docs.altinn.studio/...), [#1234](https://github.com/Altinn/altinn-studio/issues/1234)). Links do not count toward the word limit.
  • Link the issue, not its pull requests. An issue says what readers asked for or ran into and leads to the pull requests for it, so link it once, however many pull requests it took. When the issue is part of a larger one about the same change, such as a feature, link the larger one, but not an issue that gathers unrelated work, such as an epic or a list of findings. Do not link an issue the change is only related to. Write an issue or pull request in another repository as [Altinn/app-frontend-react#123](https://github.com/Altinn/app-frontend-react/issues/123).
  • Without an issue, link the pull request. Do not open an issue afterwards to have one to link.
  • Sub-bullets group changes by what readers know them by, such as a command, an endpoint or a component: the top line names it, and each sub-bullet is one change to it. Use one level, at most five short sub-bullets, and put each reference on the line it belongs to, or on the top line when it covers every sub-bullet. The word limit counts the whole entry, sub-bullets included. Changes in different categories are separate entries.
  • Do not wrap lines. Only sub-bullets start a new line within an entry.

Before you finish, read the entry as someone who has only the changelog: can they tell what changed for them and whether they need to do anything? Delete every clause that does not help with that.

Show full SKILL.md (384 more words)Show less

Writing the entry for a pull request

You know the implementation too well to see it from the reader's side. Write the entry from what the reader will notice after upgrading, not from what you did:

  1. Decide whether the change is visible to the changelog's readers at all, and whether an [Unreleased] entry already describes it with its issue linked. In either case, use the skip-changelog label.
  2. If your harness can start a subagent, give a fresh one only this skill, the pull request title and description, and the diff of what the reader sees or uses, and have it draft the entry. Otherwise, write the entry before rereading the implementation.
  3. Merge it with any related [Unreleased] entry, keeping that entry's references. Link the issue for this pull request, as the rules above describe, and reference it in the pull request description (Closes #1234, or Part of #1234) so readers can get from the issue to the change. Without an issue, add this pull request's link once it is open.
  4. Commit, then check every changelog you changed with go run . validate-changelogs -base origin/main -head HEAD in src/tools/releaser.

Preparing a release

Read the entries being released together. If they follow the rules above, promote them as they are. Otherwise, fix them in the promotion pull request:

  • Merge entries about the same feature, keeping all their references. Drop a pull request link when the merged entry links the issue for that pull request.
  • Replace a pull request link with the issue the rules above point to, when there is one.
  • Drop entries for something added and fixed within the same release: readers never saw the problem.
  • Cut entries to the rules above, and move migration detail to the documentation.

For a new stable X.Y.0, releaser prepare folds every X.Y.0-preview.N section into the release, so read those entries as well.

Examples

Each block shows entries exactly as they are written in the changelog. Long entries are cut short with ....

Too long, with implementation detail (221 words):

markdown
- `studioctl app maskinporten set|show|remove` stores the Maskinporten client an app uses when it runs locally - for testing a real integration, such as a Fiks Arkiv shipment against the Fiks test environment, with a real client. studioctl provisions the stored client to the app the way Studio does when the app is deployed, so the app never reads Maskinporten credentials from its own configuration and there is no configuration section to get right. ...

Better:

markdown
- `studioctl app maskinporten set|show|remove` stores a Maskinporten client for local runs, so you can test real integrations such as Fiks Arkiv locally. The app receives it the same way a deployed app does. ([#20048](https://github.com/Altinn/altinn-studio/issues/20048))

Explains the mechanism instead of the effect:

markdown
- The app's resource files under `config/`, `models/`, `options/` and `ui/` are now read into memory once when the app starts. If `config/applicationmetadata.json` is missing, or any of these JSON files does not parse, the app refuses to start and lists every file with a problem, where it previously failed the first request that needed the file. ...

Better:

markdown
- App files in `config/`, `models/`, `options/` and `ui/`: ([#20645](https://github.com/Altinn/altinn-studio/pull/20645))
  - are checked at startup: the app does not start if one is invalid JSON or `config/applicationmetadata.json` is missing
  - have case-sensitive names on every operating system
  - are reloaded without a restart in `Development`

Several entries for one feature:

markdown
- `studioctl app upgrade v9` enables implicit usings in the project file and adds `Altinn.App.Core.Features` as a global using, ...
- `studioctl app upgrade v9` renames the model argument of the `IAppResources` methods ...
- `studioctl app upgrade v9` rewrites awaited `IAppMetadata` reads to the v9 properties: ...

Better, as one entry with sub-bullets:

markdown
- `studioctl app upgrade v9` rewrites more app code to the v9 API:
  - enables implicit usings and removes the `using` directives this makes redundant ([#20690](https://github.com/Altinn/altinn-studio/pull/20690))
  - rewrites awaited `IAppMetadata` reads to the new properties ([#20645](https://github.com/Altinn/altinn-studio/pull/20645))
  - renames `IAppResources` arguments passed by their old name ([#20745](https://github.com/Altinn/altinn-studio/pull/20745))

Two changes in one entry, each described by its mechanism:

markdown
- `studioctl app upgrade v9` converts primitive calculation rules without the previous shared-function parameter limit, preserves arithmetic grouping, missing-input guards, early returns and JavaScript rounding, and writes their results through the v9 data-model API. Package removal also recognizes package names regardless of letter case.

Better, grouped under the command they change:

markdown
- `studioctl app upgrade v9` converts more app code correctly: ([#20527](https://github.com/Altinn/altinn-studio/pull/20527))
  - legacy calculation rules become code that compiles and gives the same results as before
  - obsolete package references are removed even when their names are written in lowercase

A fix described by its cause:

markdown
- The app port discovery no longer relies on `netstat`, which stopped listing TCP sockets in macOS 27.

Better, by its symptom:

markdown
- `studioctl app run` no longer times out with "no matching app metadata endpoint was discovered" on macOS 27. ([#20453](https://github.com/Altinn/altinn-studio/issues/20453))

© Altinn, 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/changelog of Altinn/altinn-studio.

Open the folder on GitHubat commit dd14325

Compare with similar skills

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.

Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Changelog this skillAltinn/altinn-studio169—~2.4kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Git Workflow and Versioningaddyosmani/agent-skills103k2 repos~3.5kAutomated safety check: NotesMIT
Changesetbiomejs/biome26k—~839Automated safety check: PassApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence

Similar skills

  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    103k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • Changeset

    biomejs/biome

    Official

    A skill your agent uses when a Biome change may affect users and you must decide whether it needs a changeset, choose the release level, or create and edit .changeset/.md release-note text.

    26k GitHub stars~839 tokensUpdated today
    DevelopmentAuto-check passed
  • 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 yesterday
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • AionUi Version Bump

    iOfficeAI/AionUi

    Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.

    33k GitHub stars~2.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from Altinn/altinn-studio

  • Altinn Studio App Development

    Altinn/altinn-studio

    Build, change, run, and test Altinn Studio apps. An agent skill from Altinn/altinn-studio.

    169 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Computer Use

    Altinn/altinn-studio

    Drive the Agent's graphical desktop with the desktop helper — look at the screen, point, type, and control native applications.

    169 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • PR Evidence

    Altinn/altinn-studio

    Help pull request reviewers understand what changed and the resulting user or developer experience through screenshots or recordings.

    169 GitHub stars~515 tokensUpdated today
    Auto-check passed
  • Rebase Stacked PR

    Altinn/altinn-studio

    Rebase a stacked PR onto main after its parent was squash-merged, using git rebase --onto to skip already-merged commits.

    169 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Forfatter

    Altinn/altinn-studio

    Norsk tekstforfatter og redaktør for Digdir: klarspråk, AI-markører, anglisismer, fagtermer, mikrotekst.

    169 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Text Content Review

    Altinn/altinn-studio

    Skill for reviewing text content - error messages, labels, help texts and tone of voice.

    169 GitHub stars~564 tokensUpdated today
    Auto-check passed

Categories

Questions about Changelog

What does Changelog do?

Write and edit CHANGELOG.md entries in this repository as release notes for the people who use the product. Changelog is an agent skill from Altinn/altinn-studio.md entries in this repository as release notes for the people who use the product.

When should I use Changelog?

Changelog fits situations like: changing a changelog entry; A pull request needs one; preparing a releases changelog.

How do I install Changelog in Claude Code?

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

How do I install Changelog in Codex?

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

Can I use 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 Altinn/altinn-studio --skill 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/changelog, .gemini/skills/changelog, .github/skills/changelog and .opencode/skills/changelog in your project.

What does Changelog need to run?

Going by SKILL.md and its folder, Changelog needs the command-line tools its instructions call (go).

Does Changelog access the network?

SKILL.md names 2 domains. In commands or code: docs.altinn.studio and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

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

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

About 2.4k tokens (SKILL.md is roughly 9.5k 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 Changelog?

Skills that share tags, products or a category with Changelog: StarRocks Release Notes (StarRocks/starrocks, 12k stars), Git Workflow and Versioning (addyosmani/agent-skills, 103k stars), Changeset (biomejs/biome, 26k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Changelog?

Altinn (a GitHub organization) maintains it in Altinn/altinn-studio, which has 169 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.

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