Changeset Resolve
SkillFiles & storageRepair an unreleased `.changeset/*.md` file so it matches the real branch delta against `main`. Use when a changeset was edited iteratively during debugging, when bullets may reflect turn-by-turn history instead of `main...HEAD`, when "removed/gone/renamed" claims need proof, or when you need to audit whether a changeset is actually lossless before commit.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Changeset Resolve skill
What this skill tells your AI
The instructions your AI receives, as published by udecode/kitcn in .agents/skills/changeset-resolve/SKILL.md and read by ahel’s review.
Use the companion changeset skill for structure and versioning. This skill
owns the diff audit and the bullshit detector pass.
Goal
Rewrite the active unreleased changeset so it describes the package-level,
user-facing branch delta against main, not the local iteration history.
Hard Rules
- Diff against
main...HEAD. Never diff against the current changeset draft. - Reuse the existing unreleased changeset file. Do not create another one.
- Keep the release surface package-first:
packages/kitcnpackages/resend- root and
examplemanifests/scripts when user-facing - docs only when they reveal public API shape
- Ignore repo noise unless it changes real user behavior:
.claude.agents- tests
- internal tooling churn
- If a bullet says something is gone, removed, renamed, or replaced, prove the
old surface existed on
mainfirst. - If it did not exist on
main, it is not a breaking change. Rewrite it as a feature or delete it. - Do not call a changeset lossless unless you actually audited the package surface. If unsure, say so.
Mandatory Sequence
-
Resolve the active changeset:
- list
.changeset/*.mdexcluding.changeset/README.md - reuse the existing unreleased file
- list
-
Audit the real branch delta against
main:
git diff --stat main...HEAD -- packages/kitcn packages/resend package.json example/package.json www/content/docs
git diff --name-only main...HEAD -- packages/kitcn packages/resend package.json example/package.json www/content/docs
git diff main...HEAD -- packages/kitcn/package.json packages/resend/package.json package.json example/package.json
-
Audit the likely-missed public seams:
- package
exports - package
bin - package
files - peer dependency/support matrix
- new packages
- public CLI commands and flags
- package
-
Prove every breaking bullet:
git show main:packages/kitcn/package.json
git show main:packages/kitcn/src/cli/config.ts
git grep -n "claim-you-are-making" main -- packages/kitcn packages/resend www/content/docs example
-
Classify honestly:
- existed on
mainand changed incompatibly:## Breaking changes - new user-facing capability:
## Features - same surface, better behavior or safer output:
## Patches - test-only, docs-only, or internal churn: omit
- existed on
-
Rewrite from scratch:
- keep
## Breaking changes,## Features,## Patches - user-facing only
- no file paths
- no implementation gossip
- keep
-
Run one final anti-lie pass:
- re-check every breaking snippet against
mainandHEAD - scan manifests/exports one more time
- if something still smells off, say it is not fully lossless yet
- re-check every breaking snippet against
Sanity Heuristics
- New command on this branch only: feature, not deprecation.
- New package on this branch only: feature.
- Tightened peer dependency support matrix: usually breaking.
- Moved import paths with old path removed: breaking.
- Renamed flag with old flag removed: breaking.
- Scenario/fixture proof improvements: patch only if users feel it.
- Docs sync alone: omit unless it reveals a real new surface.
Exit Gate
Before done, run:
bun lint:fix
Signals
- GitHub stars
- 447
- Forks
- 34
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
changeset-resolve- Source
- github.com/udecode/kitcn