Agent skill

Release

by geoman-io in geoman-io/maplibre-geoman

Cut a release of the free maplibre-geoman / mapbox-geoman packages (bump versions, finalize CHANGELOG, tag, publish to npm).

MITAuto-check passedDevelopment

Install Release

skills CLI
$ npx skills add geoman-io/maplibre-geoman --skill release -a claude-code

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

GitHub CLI
$ gh skill install geoman-io/maplibre-geoman 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/geoman-io/maplibre-geoman.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/release .claude/skills/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
release
GitHub stars
127
Token cost
~1.2k tokens
SKILL.md length
466 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Cut a release of the free maplibre-geoman / mapbox-geoman packages (bump versions, finalize CHANGELOG, tag, publish to npm).

  • Works in 4 steps: Preconditions → Prep commit → Push + tag (this publishes) → …
  • Asked to release
  • SKILL.md covers 0. Preconditions, 1. Prep commit, 2. Push + tag (this publishes) and 3. Verify, plus 1 more section
  • Calls git, pnpm and gh

What it does

Release is an agent skill from geoman-io/maplibre-geoman. Cut a release of the free maplibre-geoman / mapbox-geoman packages (bump versions, finalize CHANGELOG, tag, publish to npm). Use when asked to release, publish, cut a version, or prep a release (e.g. "release 0.8.4", "publish a prerelease").

Its SKILL.md is about 1.2k 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 Mapbox, npm and Google Maps Platform. The repository describes itself as: 🍂🗺️ The most powerful MapLibre / Mapbox plugin for drawing and editing geometry layers. The licence is MIT.

When your agent uses it

  • Asked to release
  • Prep a release (e.g

Example prompts

  • “release 0.8.4”
  • “publish a prerelease”
  • “/release”

Workflow steps

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

  1. Preconditions
  2. Prep commit
  3. Push + tag (this publishes)
  4. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 344a81d. 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
    • pnpm
    • gh
    • node

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

  • Network

    No URLs in SKILL.md. Its commands use git, pnpm and 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

Release loads about 1.2k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 466 words of instructions outside code blocks.

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

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 geoman-io/maplibre-geoman at commit 344a81d, republished under its MIT licence (© geoman-io). 466 words, ~1,158 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Cut a release of the free maplibre-geoman / mapbox-geoman packages (bump versions, finalize CHANGELOG, tag, publish to npm). Use when asked to release, publish, cut a version, or prep a release (e.g. "release 0.8.4", "publish a prerelease").

Release process

This monorepo publishes from a single workspace version kept in lockstep across four manifests: the root package.json, packages/core, packages/maplibre, and packages/mapbox. The two published packages are @geoman-io/maplibre-geoman-free and @geoman-io/mapbox-geoman-free, released to the public npm registry (registry.npmjs.org) with provenance.

Publishing is done by the Release GitHub Actions workflow (.github/workflows/release.yml), triggered by pushing a v*.*.* tag (or via workflow_dispatch). A release is two steps: prep (a commit on master) then tag (which publishes).

0. Preconditions

  • You are releasing from master, it's up to date (git pull), and the working tree is clean.
  • The changes being released are merged and CI on master is green.
  • Decide the version, following the existing line (e.g. 0.8.4). A prerelease contains -alpha/-beta/-rc and publishes under the beta dist-tag instead of latest.

1. Prep commit

bash
git checkout master && git pull

# Bump root + core + maplibre + mapbox package.json (one version, all four).
# Always use the script — never hand-edit versions — so the manifests stay in
# lockstep (the release workflow rejects a mismatch).
node scripts/bump-version.mjs <version>      # e.g. 0.8.4

pnpm install is not required for a version bump: pnpm-lock.yaml does not embed workspace package versions, so there is no lockfile change. (Only run an install if you also changed dependencies.)

Then edit CHANGELOG.md (Keep a Changelog format — the release workflow extracts the notes for this version straight from here):

  • Rename the existing ## [Unreleased] heading to ## [<version>] - <YYYY-MM-DD> (today's date).
  • Add a fresh empty ## [Unreleased] section directly above it.
  • Fill in the entries under ### Added / ### Changed / ### Fixed, describing the released state from the user's perspective. Link merged PRs where useful, e.g. ([#208](https://github.com/geoman-io/maplibre-geoman/pull/208)). Drop WIP-only notes; call out default-behavior changes under ### Changed.

Commit (do not push yet):

bash
git add -A
git commit -m "chore(release): prep v<version>

<one short paragraph on what's in this release>"

The pre-commit hook runs scripts/validate-workspace.mjs, which enforces that all four manifests carry the same version — if it fails, re-run the bump script.

2. Push + tag (this publishes)

bash
git push origin master

git tag v<version>           # tag name MUST be v<version>, e.g. v0.8.4
git push origin v<version>   # pushing the tag triggers release.yml → npm publish

The tag's version must equal the root package.json version, or the workflow's validate job fails on purpose.

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

3. Verify

bash
gh run list --workflow=release.yml --limit 1     # find the Release run
gh run watch <run-id>                            # follow it to completion

The workflow runs validate (version + workspace-version checks, workspace:validate), build-and-test (pnpm install --frozen-lockfile, formatter, typecheck:all, lint:all, test:unit, package both variants, api:check), the full Playwright e2e matrix (maplibre + mapbox), then creates the GitHub Release (notes pulled from CHANGELOG.md) and publishes both packages to npm — --access public --provenance, under latest for a stable version or --tag beta for a prerelease. Confirm the run is green and the new version shows up on npm.

Notes / gotchas

  • Don't hand-edit versions — always use scripts/bump-version.mjs so root + core + maplibre + mapbox stay in lockstep (the workspace validator and the workflow's version check both reject a mismatch).
  • No lockfile edit for a plain version bump (the lockfile doesn't embed workspace versions), so no pnpm install is needed for the bump.
  • The CHANGELOG section heading must be ## [<version>] - <date> so the release-notes extractor finds it; an empty/missing section yields empty GitHub-release notes.
  • To re-run a failed publish, fix forward and push a new patch tag — do not move or delete an existing published tag.
  • The workflow can also be run from the Actions tab (workflow_dispatch) with an explicit version + prerelease flag, without pushing a tag.

© geoman-io, 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/release of geoman-io/maplibre-geoman.

Open the folder on GitHubat commit 344a81d

Compare with similar skills

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.

Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skillgeoman-io/maplibre-geoman127—~1.2kAutomated safety check: PassMIT
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Version ReleaseNG-ZORRO/ng-zorro-antd9.2k—~3.1kAutomated safety check: PassMIT
AionUi Version BumpiOfficeAI/AionUi33k—~2.1kAutomated safety check: PassApache-2.0
Hunk Release Workflowmodem-dev/hunk9.5k—~3.8kAutomated safety check: PassMIT

Similar skills

  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k 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 2 days ago
    DevelopmentAuto-check passed
  • Version Release

    NG-ZORRO/ng-zorro-antd

    NG-ZORRO/ng-zorro-antd repository release workflow. An agent skill from NG-ZORRO/ng-zorro-antd.

    9.2k GitHub stars~3.1k 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 29 days ago
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.5k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release Round

    ethereumjs/ethereumjs-monorepo

    Runs a coordinated EthereumJS npm release round in six human-gated phases — intent and readiness, CHANGELOG, version bump, publish (human executes), post-publish verification, and announcements.

    2.8k GitHub stars~2k tokensUpdated 20 days ago
    DevelopmentAuto-check passed

Categories

Questions about Release

What does Release do?

Cut a release of the free maplibre-geoman / mapbox-geoman packages (bump versions, finalize CHANGELOG, tag, publish to npm). Release is an agent skill from geoman-io/maplibre-geoman. Cut a release of the free maplibre-geoman / mapbox-geoman packages (bump versions, finalize CHANGELOG, tag, publish to npm).

When should I use Release?

Release fits situations like: asked to release; prep a release (e.g.

How do I install Release in Claude Code?

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

How do I install Release in Codex?

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

Can I use 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 geoman-io/maplibre-geoman --skill 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/release, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

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

Does Release access the network?

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

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

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

About 1.2k tokens (SKILL.md is roughly 4.6k 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?

Skills that share tags, products or a category with Release: Cutting A Release (TriliumNext/Trilium, 38k stars), Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Version Release (NG-ZORRO/ng-zorro-antd, 9.2k stars) and AionUi Version Bump (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

geoman-io (a GitHub organization) maintains it in geoman-io/maplibre-geoman, which has 127 GitHub stars. The repository was last updated on October 5, 2026.

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