changesets-release
Skill0 starsChanged 47 days agoApache-2.0View on GitHub
Record version intent for pre-1.0 packages with Changesets, and keep versioning separate from the manual release workflow that publishes them.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- wakqasahmed/ai-engineering-workflow-skillstheir own version, first seen Sep 3, 2026
- wakqasahmed/skillstheir own version, first seen Aug 12, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- wakqasahmed/ai-engineering-workflow-skills★ 2same name
- wakqasahmed/skills★ 2same name
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 repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- local-ci-paritySkill
- npm-releaseSkill
- package-architectureSkill
- package-artifact-validationSkill
- pnpm-supply-chainSkill
- provider-adapter-developmentSkill
- public-api-evolutionSkill
- runtime-contract-evolutionSkill
- runtime-lifecycle-coordinationSkill
- workspace-lifecycleSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Use this skill when a change touches any of:
- Distinctive: line 22
Do not use this skill when:
- Very specific: line 72
Pre-1.0 bump rules: All packages are 0.x. major is disallowed by config.
- Very specific: line 101
Every manifest must equal the baseline except for the exact predicted version.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Changesets release
Trigger
Use this skill when a change touches any of:
- a file under
.changeset/ .changeset/config.json- a package
versionfield - any user-visible behaviour of a publishable package (which requires a changeset)
Counter-trigger
Do not use this skill when:
- the change is private to the workspace root,
tools/,docs/,.agents/or CI — those are not published and need no changeset - you are classifying whether a change is breaking — use
public-api-evolution(API surface) orruntime-contract-evolution(wire contract), then come back - you want to publish, or to change how publication works — use
npm-release. This skill decides which version; that skill decides whether these exact artifacts may reach the registry, and refuses while any changeset here is still pending.
Owns
.changeset— changeset files andconfig.jsonpackages/*/package.json#version— the published version of recordpackages/*/CHANGELOG.md— generated release notes
Does not own
packages/protocol/src— owned byruntime-contract-evolution, includingWIRE_VERSIONexamples/consumer-smoke— owned bypublic-api-evolution, which classifies compatibility.github/workflows— owned bylocal-ci-parity.github/workflows/release.yml— owned bynpm-release, which publishes but never versionstools/release— owned bynpm-release
Relationships
depends-on→public-api-evolution— the semver class is an input to this skill.depends-on→runtime-contract-evolution— a wire break must also be reflected here.boundary-with→local-ci-parity— that skill owns workflows; no workflow it owns may publish.boundary-with→npm-release— that skill owns the one workflow that may publish; this skill owns the versions it is allowed to publish.
Procedure
- Versioning and publishing are separate decisions, on purpose.
changeset publishis never run here. The release workflow publishes an explicitly typedname@versionscope, and refuses while any.changeset/*.mdis pending — so a feature PR can record intent freely without ever being one merge away from a publication. The gate runspnpm changeset:status, a credential-free coverage and version-transition check. Release preflight inventories the pinned Changesets library plan independently of feature coverage; it still refuses every pending intent file, including empty ones. Add a changeset with every publishable change:
pnpm changesetSelect every package whose published output changes. If you changed
agent-protocolandagent-runtimere-exports the changed type, both change.Pre-1.0 bump rules. All packages are
0.x.majoris disallowed by config.Compatibility class (from the owning skill) Changeset bump breaking (API or wire) minoradditive minorfix with no surface change patchdocs / internal refactor only none Because
minorcarries both additive and breaking changes pre-1.0, a breaking changeset body must begin withBREAKING:and state the migration in one sentence.- Write the changeset for a reader, not a diff. Bad: "update runtime". Good:
"BREAKING:
subscribe()now returnsSubscriptionMessageinstead ofEventEnvelope; narrow withmessage.type === 'event'before readingmessage.event." - Keep versions linked where the contract is shared. The
linkedconfig aligns packages that enter a release plan; it does not force every linked package into every plan. A leaf-adapter release can include only the Claude and Codex adapters. Do not hand-edit aversionto break the plan's alignment. - Never hand-run
changeset versionon a feature branch. Version bumps and changelog generation belong to a dedicated release PR that does nothing else, so the diff a reviewer approves is exactly the versions that may then be published. Publication is a separate manual dispatch against that merge commit — seedocs/release.md. - Prove a dedicated version transition against the real Git baseline. The gate
compares existing workspace manifests with the merge base of the configured branch,
reads its real intents and computes the pinned library release plan from that metadata.
Every manifest must equal the baseline except for the exact predicted
version; all intents must be consumed, with none pending. Package additions, deletions, source/test/build/tooling-input edits anywhere in the repository, planning-config edits, arbitrary bumps and other manifest edits are refused. READMEs may record release evidence, and configured changelogs may carry release notes; these documentation allowances do not cover source. Prerelease transitions and dependency-range rewrites require a separately reviewed extension of this proof. Never move a base ref, add a dummy intent, or use a label or environment flag to make a version candidate pass.
Verification
pnpm changeset:status # feature coverage or a proven version-only transition
pnpm changeset status # upstream CLI; may refuse a correctly versioned PR
pnpm gateFeature changes to a public package require a real, nonempty changeset naming that package; the upstream CLI coverage check also remains in place. A dedicated version PR instead must satisfy the baseline proof above. An empty release inventory alone never passes feature coverage. This foundation has no label or environment bypass.
Provenance
- Source: independent — authored for this repository against the Changesets documentation
(config reference,
linked,status) and the semver specification.
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.

