Source profileQuality 91/100Review permissions

fastrepl/anarlog/.agents/skills/release-new-version/SKILL.md

release-new-version

Release a new desktop stable version for Anarlog. Use when asked to cut, publish, or prepare a new stable desktop release after checking and merging the changelog.

Source repository stars
9,191
Declared platforms
0
Static risk flags
1
Last source update
2026-08-28
Source checked
2026-08-28

Decision brief

What it does: where it fits

Use this for stable desktop releases. A stable release must come from main, after the changelog for the computed version is present, accurate, validated, and merged.

Best for

  • Use when asked to cut, publish, or prepare a new stable desktop release after checking and merging the changelog.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/fastrepl/anarlog --skill ".agents/skills/release-new-version"
Safe inspection promptEditorial

Inspect the Agent Skill "release-new-version" from https://github.com/fastrepl/anarlog/blob/8f976e8709d1b3444102d9a4f39c8397126a059a/.agents/skills/release-new-version/SKILL.md at commit 8f976e8709d1b3444102d9a4f39c8397126a059a. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Release Workflow Requirements

    This release path approves macOS, Windows, and Linux. Mobile remains closed. The patched CloudSync vendor bundle is rebuilt from source and cancellation-tested on every desktop lane: rebuild-macos.sh for Apple Silicon and Intel, rebuild-windows.sh under UCRT64 in windowsci, and…

    This release path approves macOS, Windows, and Linux. Mobile remains closed. The patched CloudSync vendor bundle is rebuilt from source and cancellation-tested on every desktop lane: rebuild-macos.sh for Apple Silicon a…The rebuild steps run only on workflowdispatch, so a routine pull-request run does not prove them. Dispatch desktopci.yaml against the candidate SHA and confirm the cloudsync-windows- and cloudsync-linux- artifacts befo…
  2. 02

    Core Rule

    Do not trigger a stable release from an unmerged branch. First make the changelog up to date, merge that changelog change to main, then run the stable release from main.

    Do not trigger a stable release from an unmerged branch. First make the changelog up to date, merge that changelog change to main, then run the stable release from main.
  3. 03

    Scope Boundary

    Release and QA are separate, explicitly requested workflows. Do not read or run qa-critical-ux or qa-cli-mcp-api solely because the user asked for a release. A release does not require a QA report or QA PASS.

    Release and QA are separate, explicitly requested workflows. Do not read or run qa-critical-ux or qa-cli-mcp-api solely because the user asked for a release. A release does not require a QA report or QA PASS.If the user explicitly asks for both release and QA, follow the requested order and report the outcomes separately. Do not infer that a QA result approves or blocks the release.
  4. 04

    Preflight

    1. Inspect the workflow before assuming release behavior:

    Inspect the workflow before assuming release behavior:Validate the explicit stable version requested by the user:Identify the latest stable desktop tag and the commits that will ship:
  5. 05

    Changelog Gate

    The changelog is the release gate. Before releasing:

    Open packages/changelog/content/AGENTS.md and follow its instructions.Confirm packages/changelog/content/.md exists.Compare the file against the desktop user-facing changes since the latest desktopv tag.

Permission review

Static risk signals and limitations

Runs scripts

medium · line 13

The documentation asks the agent to run terminal commands or scripts.

run `qa-critical-ux` or `qa-cli-mcp-api` solely because the user asked for a

Runs scripts

medium · line 60

The documentation asks the agent to run terminal commands or scripts.

git fetch --tags --force

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars9,191SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
fastrepl/anarlog
Skill path
.agents/skills/release-new-version/SKILL.md
Commit
8f976e8709d1b3444102d9a4f39c8397126a059a
License
MIT
Collected
2026-08-28
Default branch
main
View the original SKILL.md

Release a New Desktop Version

Use this for stable desktop releases. A stable release must come from main, after the changelog for the computed version is present, accurate, validated, and merged.

Core Rule

Do not trigger a stable release from an unmerged branch. First make the changelog up to date, merge that changelog change to main, then run the stable release from main.

Scope Boundary

Release and QA are separate, explicitly requested workflows. Do not read or run qa-critical-ux or qa-cli-mcp-api solely because the user asked for a release. A release does not require a QA report or QA PASS.

If the user explicitly asks for both release and QA, follow the requested order and report the outcomes separately. Do not infer that a QA result approves or blocks the release.

Release Workflow Requirements

This release path approves macOS, Windows, and Linux. Mobile remains closed. The patched CloudSync vendor bundle is rebuilt from source and cancellation-tested on every desktop lane: rebuild-macos.sh for Apple Silicon and Intel, rebuild-windows.sh under UCRT64 in windows_ci, and rebuild-linux.sh in linux_ci for x86_64 and aarch64. Each lane then runs cargo test -p cloudsync and cargo test -p db-core cloudsync:: against that freshly built library, covering the stalled-network, logout, configuration cleanup/init, worker-drain, and immediate-local-write cancellation gates.

The rebuild steps run only on workflow_dispatch, so a routine pull-request run does not prove them. Dispatch desktop_ci.yaml against the candidate SHA and confirm the cloudsync-windows-* and cloudsync-linux-* artifacts before treating a desktop lane as approved. Do not treat macOS artifacts or Rust-only tests as cross-platform approval, and do not open the mobile lane until its bundle gets the same treatment.

Preflight

  1. Inspect the workflow before assuming release behavior:
sed -n '1,280p' .github/workflows/desktop_cd.yaml
  1. Validate the explicit stable version requested by the user:
VERSION=<version>
[[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
test -f "packages/changelog/content/$VERSION.md"

Stable desktop releases never infer a version. The workflow requires the exact stable semantic version and a matching changelog file.

  1. Identify the latest stable desktop tag and the commits that will ship:
git fetch --tags --force
git tag -l 'desktop_v*' --sort=-v:refname | grep -E '^desktop_v[0-9]+\.[0-9]+\.[0-9]+$' | head -n1
git log --oneline <latest-desktop-tag>..HEAD

Use read-only git commands for inspection. If the workspace is on gitbutler/workspace, use the but skill for commits, pushes, PRs, merges, and other write operations.

Changelog Gate

The changelog is the release gate. Before releasing:

  1. Open packages/changelog/content/AGENTS.md and follow its instructions.
  2. Confirm packages/changelog/content/<version>.md exists.
  3. Compare the file against the desktop user-facing changes since the latest desktop_v* tag.
  4. If the changelog is missing or incomplete, update it before release.

Changelog entries should be worth reading for app users. Exclude internal-only refactors, CI changes, infra noise, and implementation details unless they explain a user-visible change.

Each changelog file must include:

---
date: "YYYY-MM-DD"
summary: "One concise, user-facing sentence for the changelog index preview."
---

After editing the changelog, run:

pnpm exec dprint fmt
pnpm -F @anlg/changelog typecheck

Merge to Main

Only after the changelog is accurate and validation passes:

  1. Commit the changelog change.
  2. Open or update the changelog PR.
  3. Wait for CI and required review state to be clear.
  4. Merge the changelog PR to main.
  5. Verify main contains packages/changelog/content/<version>.md.
  6. Record the resulting main SHA as the release candidate.

If using GitButler, prefer:

but diff
but commit chore/release-changelog -c -m "Update desktop release changelog

Refresh the desktop changelog for the next stable release." --changes <ids>
but pr new <branch-id> -t

Use actual IDs from but diff / but status -fv; do not invent IDs.

Trigger Stable Release

After the changelog merge, verify main has not moved, then build the stable candidate without publishing:

gh workflow run desktop_cd.yaml \
  --ref main \
  -f channel=stable \
  -f version=<version>

Watch the dry-run build:

gh run list --workflow desktop_cd.yaml --branch main --limit 5
gh run view <run-id> --json headSha,url
gh run watch <run-id>

The run's headSha must equal the recorded release-candidate SHA. A mismatch blocks acceptance even if the workflow succeeds.

Do not use GitHub's rerun button for a failed stable candidate or optional Linux audio QA run. Dispatch a fresh run instead; publication only accepts first-attempt run IDs so evidence cannot be mixed across attempts.

The dry-run workflow must:

  • use the exact explicit stable version
  • build both Apple Silicon and Intel macOS artifacts
  • build the signed Windows and Linux artifacts for the same version and commit
  • upload a draft CrabNebula release without publishing it
  • upload desktop-release-provenance-<version>-<sha>, including the exact artifact hashes and pinned CrabNebula CLI version, asset ID, and SHA-256

After the exact dry-run artifacts pass the required platform gates and main still points to the candidate SHA, publish only through the provenance workflow. Do not run desktop_linux_audio_qa as a publish gate; Linux is covered by the same dry-run provenance as macOS and Windows. That workflow remains available for optional debugging.

gh workflow run desktop_publish.yaml \
  --ref main \
  -f version=<version> \
  -f candidate_sha=<40-character-main-sha> \
  -f dry_run_id=<dry-run-id>

Watch that workflow to completion. It must verify the dry-run run identity, artifact hashes, CrabNebula tool identity and hash, current main, and the immutable tag before publishing. It must also verify every file mirrored to GitHub against the provenance manifest.

Final Checks

Before reporting success, capture:

  • computed stable version
  • dry-run workflow URL and head SHA
  • publish workflow URL and head SHA
  • desktop_v<version> tag
  • GitHub release URL
  • whether CrabNebula publish completed
  • changelog URL
  • stable DMG SHA-256

If the workflow fails, inspect the failed job logs with:

gh run view <run-id> --log-failed

Frequently asked questions

What to verify before installation and use

What does the release-new-version source document cover?

Use this for stable desktop releases. A stable release must come from main, after the changelog for the computed version is present, accurate, validated, and merged.

How do I install release-new-version?

The source record exposes this install command: npx skills add https://github.com/fastrepl/anarlog --skill ".agents/skills/release-new-version". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing