release
Skill1 starsChanged 8 months agoMITView on GitHub
Coordinate a full Paperclip release across engineering verification, npm, GitHub, website publishing, and announcement follow-up. Use when leadership asks to ship a release, not merely to discuss version bumps.
- Installs packages
- Commits and pushes
196 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- zxcvbn-ts/zxcvbntheir own version, first seen Nov 9, 2026
- TechbeeAT/jtxBoardtheir own version, first seen Nov 9, 2026
- ddnexus/pagytheir own version, first seen Nov 9, 2026
- zerx-lab/FluxDowntheir own version, first seen Nov 9, 2026
- orioledb/orioledbtheir own version, first seen Nov 9, 2026
- AmruthPillai/Reactive-Resumetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use changelog-style, docs-consistency-check and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
GrinvSkillchangelog-style
Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR or cutting a release, to write/fix the [Unreleased] section's entries — moving [Unreleased] under a new dated version heading is a separate, automated step (see the release skill / scripts/sync-version.ts), not this skill's job.
Also in 4 projects that use this
GrinvSkilldocs-consistency-check
Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.
Also in 4 projects that use this
Microsoft AzureSkillcomponent-release
Prepares a verifiable Agent Landing Zone UI release. Use for release branches, VERSION, changelog entries, tags, release notes, and compatibility evidence; never publish without explicit human approval.
Also in 4 projects that use this
Microsoft AzureSkilldocumentation-consistency
Keeps AI Landing Zone contributor, user, and operator documentation aligned with shipped Bicep behavior. Use for parameters, defaults, outputs, topology, deployment flow, operations, or releases.
Also in 8 projects that use this
rivet-devSkilllaunch-graphics
Generate agentOS marketing/launch graphics (launch & social heroes, code-snippet cards) from the committed generators in docs-internal/graphics. Use when asked to make, update, or render an agentOS launch image, social image, "agentOS Apps" graphic, or technical code-snippet image.
Also in 3 projects that use this
slopusSkillmetrics-graphana
Query and manage Grafana dashboards and Prometheus metrics for Happy infrastructure. Covers grafanactl CLI usage, direct Prometheus queries through Grafana proxy, and dashboard-as-code workflows. Use when user asks about metrics, dashboards, monitoring, Grafana, Prometheus, or wants to add/modify panels.
Also in 3 projects that use this
- +3 more from Grinv
Other versions196 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- paperclipai/paperclip★ 112k22% same
Wrote their own version · 195
- modelcontextprotocol/servers★ 92ksame name
- remotion-dev/remotion★ 72ksame name
- traefik/traefik★ 65ksame name
- usememos/memos★ 64ksame name
- tw93/Pake★ 63ksame name
- AmruthPillai/Reactive-Resume★ 45ksame name
- amruthpillai/reactive-resume★ 45ksame name
- reactive-resume/reactive-resume★ 45ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
185 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- create-agent-adapterSkill
- doc-maintenanceSkill
- pr-reportSkill
- release-changelogSkill
- design-guideSkill
- paperclip-create-agentSkill
- paperclip-create-pluginSkill
- paperclipSkill
- para-memory-filesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
27 rules. 0 are common, 21 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 186 edited versions we read keep these.
21
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Run the full Paperclip release as a maintainer workflow, not just an npm publish.
- Distinctive: line 26
Use this skill when leadership asks for:
- Distinctive: line 34
Before proceeding, verify all of the following:
- Very specific: line 40
If package manifests changed, the CI-owned pnpm-lock.yaml refresh is already merged on master before the release branch is cut.
- Distinctive: line 42
If running through Paperclip, you have issue context for status updates and follow-up task creation.
- Distinctive: line 44
If any precondition fails, stop and report the blocker.
- Very specific: line 59
Start or resume release/X.Y.Z
- Distinctive: line 65
Create the GitHub Release
- Distinctive: line 76
Start the release train first:
- Distinctive: line 106
If the requested bump is too low, escalate it and explain why.
- Very specific: line 118
keep the heading and filename stable-only, for example v1.2.3
- Distinctive: line 119
do not create a separate canary changelog file
- Distinctive: line 123
Run the standard gate:
- Distinctive: line 131
If the release will be run through GitHub Actions, the workflow can rerun this gate.
- Very specific: line 137
Run from the release/X.Y.Z branch:
- Distinctive: line 148
no git tag is created
- Very specific: line 153
if the current stable is 0.2.7, the next patch canary is 0.2.8-canary.0
- Distinctive: line 184
If smoke testing fails:
- Distinctive: line 186
stop the stable release
- Distinctive: line 212
After stable publish succeeds:
- Distinctive: line 219
Use the stable changelog file as the GitHub Release notes source.
- Distinctive: line 225
Create or verify follow-up work for:
- Distinctive: line 235
If the canary is bad:
- Distinctive: line 239
If stable npm publish succeeds but push or GitHub release creation fails:
- Distinctive: line 242
do not republish the same version
- Very specific: line 244
If latest is bad after stable publish:
- Distinctive: line 254
When the skill completes, provide:
“Common” is measured: kept by at least 6 in 10 of the 186 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Release Coordination Skill
Run the full Paperclip release as a maintainer workflow, not just an npm publish.
This skill coordinates:
- stable changelog drafting via
release-changelog - release-train setup via
scripts/release-start.sh - prerelease canary publishing via
scripts/release.sh --canary - Docker smoke testing via
scripts/docker-onboard-smoke.sh - stable publishing via
scripts/release.sh - pushing the stable branch commit and tag
- GitHub Release creation via
scripts/create-github-release.sh - website / announcement follow-up tasks
Trigger
Use this skill when leadership asks for:
- "do a release"
- "ship the next patch/minor/major"
- "release vX.Y.Z"
Preconditions
Before proceeding, verify all of the following:
.agents/skills/release-changelog/SKILL.mdexists and is usable.- The repo working tree is clean, including untracked files.
- There are commits since the last stable tag.
- The release SHA has passed the verification gate or is about to.
- If package manifests changed, the CI-owned
pnpm-lock.yamlrefresh is already merged onmasterbefore the release branch is cut. - npm publish rights are available locally, or the GitHub release workflow is being used with trusted publishing.
- If running through Paperclip, you have issue context for status updates and follow-up task creation.
If any precondition fails, stop and report the blocker.
Inputs
Collect these inputs up front:
- requested bump:
patch,minor, ormajor - whether this run is a dry run or live release
- whether the release is being run locally or from GitHub Actions
- release issue / company context for website and announcement follow-up
Step 0 — Release Model
Paperclip now uses this release model:
- Start or resume
release/X.Y.Z - Draft the stable changelog as
releases/vX.Y.Z.md - Publish one or more prerelease canaries such as
X.Y.Z-canary.0 - Smoke test the canary via Docker
- Publish the stable version
X.Y.Z - Push the stable branch commit and tag
- Create the GitHub Release
- Merge
release/X.Y.Zback tomasterwithout squash or rebase - Complete website and announcement surfaces
Critical consequence:
- Canaries do not use promote-by-dist-tag anymore.
- The changelog remains stable-only. Do not create
releases/vX.Y.Z-canary.N.md.
Step 1 — Decide the Stable Version
Start the release train first:
./scripts/release-start.sh {patch|minor|major}Then run release preflight:
./scripts/release-preflight.sh canary {patch|minor|major}
# or
./scripts/release-preflight.sh stable {patch|minor|major}Then use the last stable tag as the base:
LAST_TAG=$(git tag --list 'v*' --sort=-version:refname | head -1)
git log "${LAST_TAG}..HEAD" --oneline --no-merges
git diff --name-only "${LAST_TAG}..HEAD" -- packages/db/src/migrations/
git diff "${LAST_TAG}..HEAD" -- packages/db/src/schema/
git log "${LAST_TAG}..HEAD" --format="%s" | rg -n 'BREAKING CHANGE|BREAKING:|^[a-z]+!:' || trueBump policy:
- destructive migrations, removed APIs, breaking config changes ->
major - additive migrations or clearly user-visible features -> at least
minor - fixes only ->
patch
If the requested bump is too low, escalate it and explain why.
Step 2 — Draft the Stable Changelog
Invoke release-changelog and generate:
releases/vX.Y.Z.md
Rules:
- review the draft with a human before publish
- preserve manual edits if the file already exists
- keep the heading and filename stable-only, for example
v1.2.3 - do not create a separate canary changelog file
Step 3 — Verify the Release SHA
Run the standard gate:
pnpm -r typecheck
pnpm test:run
pnpm buildIf the release will be run through GitHub Actions, the workflow can rerun this gate. Still report whether the local tree currently passes.
The GitHub Actions release workflow installs with pnpm install --frozen-lockfile. Treat that as a release invariant, not a nuisance: if manifests changed and the lockfile refresh PR has not landed yet, stop and wait for master to contain the committed lockfile before shipping.
Step 4 — Publish a Canary
Run from the release/X.Y.Z branch:
./scripts/release.sh {patch|minor|major} --canary --dry-run
./scripts/release.sh {patch|minor|major} --canaryWhat this means:
- npm receives
X.Y.Z-canary.Nunder dist-tagcanary latestremains unchanged- no git tag is created
- the script cleans the working tree afterward
Guard:
- if the current stable is
0.2.7, the next patch canary is0.2.8-canary.0 - the tooling must never publish
0.2.7-canary.Nafter0.2.7is already stable
After publish, verify:
npm view paperclipai@canary versionThe user install path is:
npx paperclipai@canary onboardStep 5 — Smoke Test the Canary
Run:
PAPERCLIPAI_VERSION=canary ./scripts/docker-onboard-smoke.shConfirm:
- install succeeds
- onboarding completes
- server boots
- UI loads
- basic company/dashboard flow works
If smoke testing fails:
- stop the stable release
- fix the issue
- publish another canary
- repeat the smoke test
Each retry should create a higher canary ordinal, while the stable target version can stay the same.
Step 6 — Publish Stable
Once the SHA is vetted, run:
./scripts/release.sh {patch|minor|major} --dry-run
./scripts/release.sh {patch|minor|major}Stable publish does this:
- publishes
X.Y.Zto npm underlatest - creates the local release commit
- creates the local git tag
vX.Y.Z
Stable publish does not push the release for you.
Step 7 — Push and Create GitHub Release
After stable publish succeeds:
git push public-gh HEAD --follow-tags
./scripts/create-github-release.sh X.Y.ZUse the stable changelog file as the GitHub Release notes source.
Then open the PR from release/X.Y.Z back to master and merge without squash or rebase.
Step 8 — Finish the Other Surfaces
Create or verify follow-up work for:
- website changelog publishing
- launch post / social announcement
- any release summary in Paperclip issue context
These should reference the stable release, not the canary.
Failure Handling
If the canary is bad:
- publish another canary, do not ship stable
If stable npm publish succeeds but push or GitHub release creation fails:
- fix the git/GitHub issue immediately from the same checkout
- do not republish the same version
If latest is bad after stable publish:
./scripts/rollback-latest.sh <last-good-version>Then fix forward with a new patch release.
Output
When the skill completes, provide:
- stable version and, if relevant, the final canary version tested
- verification status
- npm status
- git tag / GitHub Release status
- website / announcement follow-up status
- rollback recommendation if anything is still partially complete
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

