cairn-release

Prepares versioned releases by running the active toolchain profile's release walk with changelog consolidation.

4|Updated Jul 11, 2026
One-click install
npx skills add https://github.com/jmgirard/cairn --skill cairn-release-jmgirard
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cairn-release
Source: https://github.com/jmgirard/cairn/tree/main/skills/cairn-release
Command: npx skills add https://github.com/jmgirard/cairn --skill cairn-release-jmgirard

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Releasing software involves error-prone manual steps like version bumps, changelog cleanup, registry checks, and tagging, and it is easy to skip a step or accidentally publish something prematurely. This Skill walks through a governed release process driven by the repo's declared toolchain profile, and it never submits or pushes anything on its own. ## Core Features & Use Cases - Profile-driven release walk: Reads the active toolchain profile's release-walk slot, running the full CRAN walk for R packages (version bump, NEWS, checks, cran-comments, submission checklist) or a minimal version-bump-plus-tag flow for generic projects. - Changelog consolidation and claim-checking: Retitles the development heading to the release version, groups entries, and verifies each behavior claim against the actual code before the release commit. - Human-gated handoff: Presents all outward actions (CRAN submission, tag push, GitHub release via gh) as a checklist for the user to run, never executing them autonomously. - Use Case: After merging the final milestone for version 1.8.0 of an R package, invoke the release skill to consolidate NEWS.md, run CRAN checks, and receive a submission checklist to execute manually. ## Quick Start Ask the assistant to prepare a patch release of this repository using the cairn release workflow.

Frequently Asked Questions about cairn-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prepare a CRAN release for an R package?

Run the release skill with an r-package toolchain profile declared in cairn/PROFILE.md. It performs the full CRAN walk: version bump, NEWS consolidation, local and wide checks, cran-comments.md, and a human submission checklist, without ever submitting on your behalf.

How do I decide between a patch, minor, or major version bump?

The skill reviews the declared changelog (or git history since the last tag if none) and recommends a bump level with rationale. Breaking changes force minor or major, and pre-1.0 conventions follow the project's DESIGN.md; you confirm the target version before proceeding.

Does the release skill push tags or submit to CRAN automatically?

No. The skill never self-submits or pushes tags. All outward actions, including CRAN submission, tag pushes, and GitHub release creation via gh, are presented as a checklist for the user to run manually.

Can I use this release workflow for a non-R project?

Yes. A generic toolchain profile runs a minimal walk: bump the version marker, commit the release prep to the default branch, and tag the release. The tag itself is the release with no registry step.

What happens if long-running checks exceed the session time limit?

Slow checks run as watched background tasks or bounded foreground calls. If a check is still running at a stopping point, the session closes with a status block naming the check's state, and rerunning the release command re-runs the check and waits again.

When is a release blocked from starting?

Release is blocked in guest collaboration mode, when a milestone is still in progress, when the git working tree is dirty, or when the local default branch lags origin. Un-ingested review reports must also be handled first.