| name | hotfix |
| description | Apply a hotfix for critical production issues.
Use for security vulnerabilities or bugs that prevent core functionality.
Triggers on "hotfix", "emergency fix", "critical fix", "production bug".
|
| allowed-tools | Read, Edit, Write, Bash, Grep, Glob, Task |
Hotfix Skill
Hotfix Criteria (ALL must be true)
- Issue is in production (deployed, not development branch)
- Issue prevents core functionality (not feature degradation)
- Fix cannot wait for next release cycle
- Issue affects active users or critical systems
If criteria not met: Use the bug-fix skill instead.
Workflow
-
Create branch from latest release tag:
git tag --sort=-v:refname | head -5
git checkout -b hotfix/<issue>-description <latest-tag>
-
Implement fix with minimal changes — no refactoring, no extras
-
Fast-track review: Security label + P1 = single-reviewer approval sufficient
-
Quality gates:
pnpm lint && pnpm typecheck && pnpm test
-
Merge to main AND cherry-pick to release branch
-
Immediate release with patch version bump:
pnpm changeset
git add . && git commit -m "chore: changeset for hotfix"
git push origin main --tags
Rollback (if needed)
npm unpublish nexus-agents@<version>
git tag -d v<version> && git push --delete origin v<version>
Anti-rationalization — Hotfix
| Excuse | Counter |
|---|
| "Skip tests, it's an emergency" | A hotfix without tests becomes the next regression. Add at least the failing-test-then-fix (Prove-It Pattern). |
| "Bypass the lint gate just this once" | Hotfix bypass is the most expensive shortcut: the next change you ship inherits the broken state. Lint stays. |
| "Skip the PR review, just push" | Hotfix PR review can be quick (one trusted reviewer + admin merge), but the second pair of eyes catches the wrong-fix-for-the-symptom mistake. |
| "Roll forward later, no need for proper rollback plan" | Production users can't wait. Either the hotfix works or there's a rollback plan; "we'll figure it out" is not a plan. |
Red flags
- Hotfix PR with no test
- Hotfix that touches more than the affected subsystem (drive-by changes)
- Same hotfix reverted-and-reapplied multiple times (root cause is elsewhere)
- No incident timeline / post-mortem after the fix lands
- Branch named with the vuln class if the hotfix is security-shaped (use
security-advisory-response instead)
Verification checklist