Best for
- Use when asked to cut, publish, or prepare a new stable desktop release after checking and merging the changelog.
fastrepl/anarlog/.agents/skills/release-new-version/SKILL.md
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.
Decision brief
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.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/fastrepl/anarlog --skill ".agents/skills/release-new-version"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
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…
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.
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.
1. Inspect the workflow before assuming release behavior:
The changelog is the release gate. Before releasing:
Permission review
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 aThe documentation asks the agent to run terminal commands or scripts.
git fetch --tags --forceEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 9,191 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
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.
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.
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.
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.
sed -n '1,280p' .github/workflows/desktop_cd.yaml
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.
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.
The changelog is the release gate. Before releasing:
packages/changelog/content/AGENTS.md and follow its instructions.packages/changelog/content/<version>.md exists.desktop_v* tag.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
Only after the changelog is accurate and validation passes:
main.main contains packages/changelog/content/<version>.md.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.
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:
desktop-release-provenance-<version>-<sha>, including the exact
artifact hashes and pinned CrabNebula CLI version, asset ID, and SHA-256After 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.
Before reporting success, capture:
desktop_v<version> tagIf the workflow fails, inspect the failed job logs with:
gh run view <run-id> --log-failed
Frequently asked questions
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.
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.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
Postpartum-genushyacinthus29/dotnet-skills
Build long-running .NET background services with `BackgroundService`, Generic Host, graceful shutdown, configuration, logging, and deployment patterns suited to workers and daemons.
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
garrytan/gbrain
Generate a publication-quality PDF from any brain page via the gstack make-pdf binary. Strips YAML frontmatter, sanitizes emoji, applies running headers and page numbers. Brain page is always the source of truth; PDF is a rendering.
NVIDIA/skills
How to swap the DeepStream CV detection model in the VSS Alerts Blueprint verification (2d_cv) mode - covers ONNX export, custom bbox parsers, compose mount gotchas, nvinfer config, runtime TRT engine build, deployment, and a segmentation-capable model addendum handoff.