hotfix
Use when patching a bug in an already-released production version, hotfixing a shipped release, applying an emergency fix off the latest production tag, or…
Skill by artemVeduta
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/artemveduta-hotfix
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/hotfix
What's inside
- Skill name
hotfix- Description
- Use when patching a bug in an already-released production version, hotfixing a shipped release, applying an emergency fix off the latest production tag, or invoked via /hotfix <bug-ref>. Branches off the latest production tag (excluding prereleases), not main. Triggers a patch-version release on merge.
- License
- MIT
- Instructions
- 133 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# hotfix ## Overview Apply a fix to the **last shipped production version** without pulling in unreleased work from `main`. The fix branches off the latest production tag (excluding `-rc*`, `-alpha*`, `-beta*`), gets reviewed via PR, and triggers a patch bump (`X.Y.Z+1`) through the `release-cut` skill on merge. **Core principle:** Hotfixes isolate users from main's drift. Never branch a hotfix off `main`. ## When to Use - User invokes `/hotfix <bug-ref>` where `<bug-ref>` is a GitHub issue number or short slug. - A bug reported against a released version must be patched without shipping unreleased work. - An emergency fix needs to ship before the next planned release. **When NOT to use:** - Bug only reproduces against unreleased `main` work → fix on `main` via normal PR flow. - Bug fix wants to bundle with other unreleased features → normal PR flow. ## Hard Preconditions (REFUSE if violated) 1. **Working tree must be clean.** Run `git status --porcelain`; if output is non-empty, STOP and tell the user to stash/commit/discard first. Do not proceed. 2. **A production tag must exist.** Step 1 of the workflow must return a tag; if it errors (no tags match), STOP and report. ## Workflow ### Step 1 — Verify clean tree ```bash git status --porcelain ``` If non-empty → REFUSE. Output: `Working tree dirty; commit/stash before /hotfix.` ### Step 2 — Determine latest production tag ```bash git fetch --tags --quiet LATEST_TAG=$(git describe --tags --abbrev=0 --match 'v*.*.*' \ --exclude '*-rc*' --exclude '*-alpha*' --exclude '*-beta*') echo "$LATEST_TAG" ``` **Critical:** the `--exclude` flags MUST be present. A prerelease tag (`v1.2.0-rc1`) would otherwise be picked and the hotfix would branch off unreleased code. ### Step 3 — Create fix branch off the tag ```bash git checkout -b "fix/<slug>" "$LATEST_TAG" ``` `<slug>` derives from `<bug-ref>`: GH issue → `issue-<n>`, otherwise the user-supplied slug. Branch name must start with `fix/`. ### Step 4 — PAUSE for user implementation **STOP here.** Hand control back to the user: > Branched `fix/<slug>` off `<LATEST_TAG>`. Implement the fix and tests now. Reply `done` when ready to verify and ship. Do NOT proceed to Step 5 until the user signals completion. ### Step 5 — Verify tests green ```bash pytest ``` If any test fails → STOP, report, do not commit. ### Step 6 — Update CHANGELOG Append an entry under `[Unreleased]` → `### Fixed` in `CHANGELOG.md`. If those sections do not exist, create them. Format: ```markdown ## [Unreleased] ### Fixed - <one-line description> (<bug-ref>) ``` ### Step 7 — Commit with DCO sign-off ```bash git add -A git commit -s -m "fix(<scope>): <subject>" ``` The `-s` flag is **mandatory** (DCO sign-off). `<scope>` matches the affected module; `<subject>` is imperative, lowercase, no period. ### Step 8 — Push and open PR ```bash git push -u origin "fix/<slug>" gh pr create --base main --head "fix/<slug>" \ --title "fix(<scope>): <subject>" \ --body "Fixes <bug-ref>. Branched off <LATEST_TAG>." ``` ### Step 9 — Hand off to release-cut on merge After the PR merges, invoke the `release-cut` skill with a **patch bump** (`X.Y.Z` → `X.Y.(Z+1)`). Tell the user: > PR merged. Next: run `release-cut` with patch bump from `<LATEST_TAG>`. ## Quick Reference | Step | Command / Action | Stop condition | |------|------------------|----------------| | 1 | `git status --porcelain` | non-empty → REFUSE | | 2 | `git describe ... --exclude '*-rc*' ...` | error → REFUSE | | 3 | `git checkout -b fix/<slug> <tag>` | — | | 4 | **PAUSE** for user fix | wait for `done` | | 5 | `pytest` | failure → STOP | | 6 | Edit `CHANGELOG.md` `[Unreleased]/Fixed` | — | | 7 | `git commit -s -m "fix(...): ..."` | — | | 8 | `git push` + `gh pr create` | — | | 9 | Hand off to `release-cut` (patch bump) | — | ## Common Mistakes | Mistake | Fix | |---------|-----| | Branching off `main` | Always branch off `$LATEST_TAG` from Step 2. | | Dropping `--exclude '*-rc*'` | Hotfix lands on unreleased prerelease. Keep all `--exclude` flags. |
From artemVeduta/lingo-loop, MIT.
More from artemVeduta/lingo-loop
- 0.479score
tutor-progress
artemVeduta
Use when learner wants progress, exportable progress reports, next focus, due counts, weak patterns, maturity, local status, or cost status.
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-lesson
artemVeduta
Use when the learner wants a guided micro-lesson on one weak tag or one chosen topic (one explanation plus one practice step).
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-reading
artemVeduta
Use when the learner wants to read a passage and answer comprehension questions, or reconstruct a text transcript drill (text-only, no audio).
SkillCFreshness: CClaude Code +9 - 0.474score
docs-add
artemVeduta
Scaffold a new OKF concept in the docs/ bundle (Decision, Specification, Convention, Glossary, Reference) or a subsystem index node, with conformant…
SkillCFreshness: CClaude Code +9 - 0.474score
docs-validate
artemVeduta
Validate the docs/ OKF bundle for conformance (parseable frontmatter + non-empty type) and report soft warnings.
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-book
artemVeduta
Use when the learner has their OWN book or text in front of them and wants on-the-spot lookups of words, sentences, or passages they don't understand, or to…
SkillCFreshness: CClaude Code +9 - 0.474score
feature-flow
artemVeduta
Use when the user says "/feature <slug> '<intent>'", "start a feature", "new feature with spec", "feature flow", "spec-then-implement a feature", or otherwise…
SkillCFreshness: CClaude Code +9 - 0.470score
tutor-writing
artemVeduta
Free writing prompt and structured feedback orchestration.
SkillCFreshness: CClaude Code +9 - 0.470score
pre-release-checks
artemVeduta
Use when about to cut a release, tag a version, publish to PyPI, or the user says "/pre-release", "before I cut a release", "verify release readiness"…
SkillCFreshness: CClaude Code +9 - 0.470score
release-cut
artemVeduta
Use when the user says "cut release X.Y.Z", "/release-cut X.Y.Z", "open release PR", "prepare release branch", or otherwise asks to start a release of…
SkillCFreshness: CClaude Code +9 - 0.470score
tutor-vocab
artemVeduta
Practice due vocabulary through the local tutor CLI.
SkillCFreshness: CClaude Code +9 - 0.464score
tutor-setup
artemVeduta
Onboard or edit local language tutor profile and preferences.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 22, 2026 (4 months ago)
- Last release
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/artemVeduta/lingo-loop
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from artemVeduta
- 0.479score
tutor-progress
artemVeduta
Use when learner wants progress, exportable progress reports, next focus, due counts, weak patterns, maturity, local status, or cost status.
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-lesson
artemVeduta
Use when the learner wants a guided micro-lesson on one weak tag or one chosen topic (one explanation plus one practice step).
SkillCFreshness: CClaude Code +9 - 0.474score
feature-flow
artemVeduta
Use when the user says "/feature <slug> '<intent>'", "start a feature", "new feature with spec", "feature flow", "spec-then-implement a feature", or otherwise…
SkillCFreshness: CClaude Code +9 - 0.474score
docs-add
artemVeduta
Scaffold a new OKF concept in the docs/ bundle (Decision, Specification, Convention, Glossary, Reference) or a subsystem index node, with conformant…
SkillCFreshness: CClaude Code +9 - 0.474score
docs-validate
artemVeduta
Validate the docs/ OKF bundle for conformance (parseable frontmatter + non-empty type) and report soft warnings.
SkillCFreshness: CClaude Code +9 - 0.474score
tutor-book
artemVeduta
Use when the learner has their OWN book or text in front of them and wants on-the-spot lookups of words, sentences, or passages they don't understand, or to…
SkillCFreshness: CClaude Code +9
Cite this page
hotfix skill. Agent Mart. https://agentmart.dev/skills/artemveduta-hotfix (last updated 2026-10-24)