agentsclimarketplace

Hotfix

Skill thettwe/nyann/skills/hotfix

Nyann (ငြမ်း) is Burmese for scaffolding. Nyann is a Claude Code plugin that sets up and maintains project governance.

Install
npx -y skills add thettwe/nyann --skill hotfix

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Set up the branch topology for a patch release against a previously tagged version: ensures release/<major>.<minor> exists from the source tag, then creates hotfix/<slug> off it. TRIGGER when the user says "hotfix v1.0.0", "patch the release", "I need to fix something in the v2 line", "create a hotfix branch", "/nyann:hotfix". Match phrases like "fix this for the previous release" or "backport this fix to v1.0". Do NOT trigger on "fix this bug" without a target tag — that's a regular feature branch via `/nyann:branch fix <slug>`. Do NOT trigger on "release a hotfix" if the user already has the branch set up — they're after `/nyann:release` directly.

SKILL.md

3.7 KB, as published. Nobody here has run it

hotfix

Wraps bin/hotfix.sh. Creates the two branches a patch-release flow needs:

  1. release/<major>.<minor> — long-lived, branched from the source tag. Idempotent: reused if it already exists. Future patches on the same minor go on the same branch.
  2. hotfix/<slug> — short-lived, branched off the release branch. The user commits the actual fix here.

After this skill: the user makes the fix, commits, then runs /nyann:release from the hotfix branch.

1. Resolve the source tag

Before invoking, confirm the source tag with the user:

  • "I want to patch v1.2.0" → --from v1.2.0.
  • "I want to fix something in the previous minor" → ask which tag exactly.
  • If they said "patch the latest release" without naming a tag, list git tag --sort=-v:refname | head -5 and ask.

2. Pick a slug

Ask: "what's the change?" Convert their answer to a slug:

  • "Fix the broken auth callback" → fix-auth-callback
  • "Patch the SQLi in the user-search endpoint" → patch-sqli-user-search

The script enforces lowercase + alphanumeric + hyphen; it'll reject anything else.

3. Invoke

bin/hotfix.sh --target <cwd> --from <tag> --slug <slug> --checkout

--checkout switches to the hotfix branch immediately. Skip it when the user has uncommitted work in the current branch (the script will warn about a dirty tree if checkout fails — don't let it half-finish).

4. Hand back the next-steps

The output JSON includes a next_steps[] array with the exact commands to run next:

  1. (skip if --checkout was used) git checkout hotfix/<slug>
  2. Make the fix, commit it (use /nyann:commit for a Conventional Commits message).
  3. Merge the hotfix into the release branch: git checkout release/<m>.<n> && git merge --no-ff hotfix/<slug>.
  4. Run /nyann:release --version <patch> --push from the release branch. The script suggests the patch version (source-tag + 1 in the patch slot) — confirm with the user before passing it through. release.sh operates on the current branch (HEAD), so the merge step in (3) is what puts the right commits on the lineage that gets tagged.

5. After the release

  • The release tag (e.g. v1.2.4) is added on release/1.2.
  • The release branch should be merged back into main so the fix isn't lost on the next minor cut. nyann doesn't do this for the user; suggest git checkout main && git merge --no-ff release/1.2 && git push.
  • Consider deleting the hotfix/<slug> branch via /nyann:cleanup-branches once the merge lands.

When to hand off

  • "Just create a feature branch" → /nyann:branch fix <slug> (no release-branch ceremony).
  • "I already have the hotfix branch — just release it" → merge it into the release branch first (git checkout <release> && git merge --no-ff <hotfix>), then /nyann:release --version <patch> from that branch.
  • "Pre-release, not patch" → /nyann:release --version <stable>-rc.1 on the regular feature branch; release.sh's prerelease detection handles it.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.