Skip to content
Development
Skill

/hotfix

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

From plugin
nyann
741 skills41 commands3 hooks

Claude Code

$ npx -y skills add thettwe/nyann --skill hotfix --agent claude-code

SKILL.md

hotfix.SKILL.md
name: hotfix
description: >
  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.

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.

Read more
@thettwe
Ships withnyann

ငြမ်း is Burmese for scaffolding. Nyann is the Claude Code plugin that picks expert git defaults for your stack — branching, working hooks (Husky / pre-commit.com / lefthook), commits, releases, CI, docs — then keeps the repo on those rails through every PR

Stars on GitHub

Momentum

stars in total
7
Star history of thettwe/nyann on GitHub, a chart by star-history.com

Other skills on nyann.

add-team-source

add-team-source

Register a git URL as a team-profile source so nyann can periodically sync and expose its profiles under a namespace. TRIGGER…

@thettwe@thettweInstall Skill
bootstrap-project

bootstrap-project

Bootstrap a fresh or existing repo with nyann. TRIGGER when the user says "set up this project", "initialize git workflow",…

@thettwe@thettweInstall Skill
check-prereqs

check-prereqs

Survey the machine and report which nyann features are usable right now. TRIGGER when the user says "is my machine ready for…

@thettwe@thettweInstall Skill
cleanup-branches

cleanup-branches

Prune local branches whose work is already merged into the base. TRIGGER when the user says "clean up branches", "delete merged…

@thettwe@thettweInstall Skill
commit

commit

Generate a Conventional Commits message from the staged diff and create the commit after user confirmation. TRIGGER when the user…

@thettwe@thettweInstall Skill
diagnose

diagnose

Bundle a redacted, support-grade snapshot of the current nyann state for inclusion in a bug report or support request. Combines…

@thettwe@thettweInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about hotfix.

Which coding agents can use hotfix?
hotfix installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.