hotfix
Skill4 starsChanged 46 days agoMITView on GitHub
Fast path for an urgent production fix — reproduce with a failing test, minimal fix on a hotfix branch from the release tag, security review for sensitive paths, expedited checklist, deploy, backport PR to main; `--chore <what>` fixes a broken toolchain (red runner, blocking linter) on the chore lane. Use for P1 bugs, 'production is broken', 'urgent fix', 'CI is red and blocking'.
- Commits and pushes
29 other projects use a version of this.
Adopted by
Most recently taken up by
- cyrilichti/agent-workflowstheir own version, first seen Nov 8, 2026
- jacksnxly/keryxtheir own version, first seen Nov 8, 2026
- striderZA/OpenCodeGameStudiostheir own version, first seen Nov 4, 2026
- florian101010/awesome-agentic-AI-coding-templatetheir own version, first seen Nov 1, 2026
- azmainadel/devloop-skillstheir own version, first seen Nov 1, 2026
- dmzoneill/skillstheir own version, first seen Oct 24, 2026
Used with
Projects with it also use playtest-report, soak-test and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CoralGameSkillplaytest-report
Generates a structured playtest report template or analyzes existing playtest notes into a structured format. Use this to standardize playtest feedback collection and analysis.
Also in 12 projects that use this
lilangMaxSkillsoak-test
Generate a soak test protocol for extended play sessions. Defines what to observe, measure, and log during long play sessions to surface slow leaks, fatigue effects, and edge cases that only appear after sustained play. Primarily used in Polish and Release phases.
Also in 9 projects that use this
lilangMaxSkillteam-live-ops
Orchestrate the live-ops team for post-launch content planning: coordinates live-ops-designer, economy-designer, analytics-engineer, community-manager, writer, and narrative-director to design and plan a season, event, or live content update.
Also in 9 projects that use this
CoralGameSkillteam-polish
Orchestrate the polish team: coordinates performance-analyst, technical-artist, sound-designer, and qa-tester to optimize, polish, and harden a feature or area for release quality.
Also in 14 projects that use this
- +3 more from lilangMax
- +3 more from CoralGame
Other versions29 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 29
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- microsoft/roosterjs★ 1.3ksame name
- nudgebee/nudgebee★ 520same name
- pixel-cellar/Claude-Code-Game-Studios★ 324same name
- striderZA/OpenCodeGameStudios★ 118same name
- tranhieutt/software_development_department★ 71same name
- Aurealibe/claude-config★ 68same name
- cenconq25/claude-code-app-studio★ 40same name
- CoralGame/Claude-Code-Game-Studios★ 19same name
- dawn840705/codex-code-studios★ 17same name
19 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- testing/CLAUDE.mdCLAUDE.md
- a11y-auditSkill
- adoptSkill
- api-contractSkill
- architecture-decisionSkill
- architecture-reviewSkill
- backlogSkill
- brainstormSkill
- changelogSkill
- code-reviewSkill
- collaboration-protocolSkill
- create-storiesSkill
- data-modelSkill
- dependency-auditSkill
- deploySkill
- design-systemSkill
- dev-storySkill
- docsSkill
- feature-specSkill
- game-conceptSkill
- hardenSkill
- helpSkill
- impactSkill
- incidentSkill
- initSkill
- migrateSkill
- pentestSkill
- perf-auditSkill
- product-specSkill
- qa-planSkill
- refactorSkill
- release-checklistSkill
- retrospectiveSkill
- security-auditSkill
- setup-stackSkill
- skill-improveSkill
- skill-testSkill
- sprint-planSkill
- sprint-statusSkill
- stack-updateSkill
- startSkill
- story-doneSkill
- team-featureSkill
- team-gameSkill
- team-releaseSkill
- team-securitySkill
- tech-debtSkill
- test-setupSkill
- threat-modelSkill
- updateSkill
- ux-specSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 27 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
Checks: test green; lint/typecheck.
- Very specific: line 49
CI on the tag: read references/ci-on-tag.md and follow it — triggers read first, only an existing run waited for.
- Very specific: line 56
After the "write" answer: touch .claude/.write-consent, then Write.
“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Hotfix
Language, <hooks>, <default>, agent and command namespaces, gate mechanics (draft → "May I write?" → Write/Edit → touch .claude/.write-consent), subagent consent, the Skill tool and the CI wait: docs/coordination-rules.md § Skill conventions (engineers and reviewers: § Subagents).
The parent writes no code — neither the fix nor the failing test: both through the relevant engineer via Task with a studio subagent_type; a cut-off engineer is resumed from its Checkpoint:, never replaced. Every commit, tag, push and deploy has its own AskUserQuestion; the branch of step 1.1 and the engineer's edits on it leave the working tree only through the fix-commit gate of step 2.4.
Through the Skill tool (namespaced): /code-review --diff (step 2.5, --chore), /changelog and /deploy (Phase 3) — each with all its own phases and gates, one after another once the running Task has returned, its verdict quoted. /incident is a hand-off in the closing question, never run here.
Glossary:
<tag>— the release currently deployed (the newestproduction/releases/vX.Y.Z.mdwhoseResult:line readsDEPLOYED(what/deployPhase 4 writes), else the newestv*tag aftergit fetch origin --tags; none →BLOCKED (no release tag — nothing is deployed));vX.Y.Z— its patch number + 1.<slug>— the bug in a few words (hotfix/<slug>);<scope>— the scope of the fix commitfix(<scope>): <bug>, which/code-reviewuses where a story would giveS-NNN.- GitHub MCP — with a GitHub MCP server the user added (
mcp__github__*; the plugin declares none — playbook § MCP), PR creation, merge and run watch (steps 3.5, 3.7) may use its tools instead ofgh; the gates and the order do not change. - Gate recording — before every commit, tag or push question (each step below names its
Gate "…"string):<hooks>session-state.sh set Task "/hotfix <slug>" Gate "/hotfix Phase N: <question>"; after the answer<hooks>session-state.sh set Gate "—". An open gate survives the turn: a resumed session continues at that question, never atNext:(rule 7).
Two kinds of urgent, one skill. production (default): broken for users — Phases 1–4. --chore: the toolchain is broken or in the way (a red runner, a blocking linter, a dependency that must move now) — read and follow references/chore-lane.md; Phases 1–4 do not run, verdict DONE (chore — PR open). Neither path is a place for a feature: what changes the product's behaviour is a story, however small it looks.
Phase 1: Reproduce
- Branch
hotfix/<slug>from<tag>:git fetch origin --tags, thengit switch -c hotfix/<slug> <tag>. The commit hook (validate-commit.sh) is silent onhotfix/*: no "already merged into origin/<default>" warning on the first commit. - A failing test that reproduces the bug (mandatory), by the relevant engineer through
Task— the brief names the bug, the test file and the command that must go red; the red run's output is quoted in the report. No reproduction →BLOCKED (cannot reproduce — …): no fix without a failing test, nothing written. - Impact: data or security involved → one
Tasktosecurity-leadwith the bug and the files; its answer goes into the engineer's brief (step 2.1) and, with thepaths:rule of step 2.5, decides whether the security review runs: a "review" from security-lead makes step 2.5 apply whatever the paths say.
Phase 2: Minimal fix
- Through the relevant engineer:
Taskwith the studiosubagent_type; the brief holds the test of step 1.2 and the impact of step 1.3. - Only what is needed. A fix that needs a DB migration is not written straight away: the engineer reports it and the parent warns the user first — a rollback restores the image, not the data, so the migration must be reversible or the hotfix goes forward only.
- Checks: test green; lint/typecheck.
- Fix commit and push —
Gate "/hotfix Phase 2: commit and push the fix?", oneAskUserQuestion: commit and push (Recommended) · commit only · show the diff · not now. On "yes":git commit -m "fix(<scope>): <bug>"staging the fix and its test by name, on the hotfix branch, thengit push -u origin hotfix/<slug>— the upstream exists before any review, so a review fix can be pushed. "Commit only" → the push happens at step 3.7 with its own consent; the report says the branch is local until then. - Sensitive paths (the
paths:ofrules/security-sensitive.md: auth, security, middleware, proxy config, payments, uploads, webhooks):- Sensitive by the
paths:rule on the files of the fix commit or flagged "review" by security-lead in step 1.3; neither → Phase 3. /web-studio:code-review --diff --security(copy mode/code-review --diff --security) through theSkilltool, after the commit of step 2.4, so the review sees the fix and itsappsec-engineerrun is in the audit log; its verdict is quoted.NEEDS CHANGES→ the fixes go through the engineer inside/code-review's own fix gate, which commitsfix(<scope>): apply /code-review findings(noS-NNN) on the hotfix branch and pushes to the upstream of step 2.4 — after "commit only" it commits locally and says so.- Phase 3 starts only when the reviewers answer
APPROVED.
- Sensitive by the
Phase 3: Expedited gate
- Tests: package tests and the e2e smoke, with the commands
docs/architecture/test-strategy.mdnames per level (elsetechnical-preferences.mdor theMakefile). Red →BLOCKED (tests red — <command>), nothing released. /changelogthrough theSkilltool forvX.Y.Z, with its own "May I writeCHANGELOG.md?" gate and its own commit gate — the only gate forCHANGELOG.md; this skill asks no second one. That gate offers thehotfix/*HEAD (Recommended — the tag must contain it):docs: changelog vX.Y.Zlands on the hotfix branch, HEAD never leaves it. A changelog uncommitted or committed elsewhere is named in the report, and the tag question waits until that is put right.- Release file
production/releases/vX.Y.Z.md— the minimal one/deployreads (without it:BLOCKED (no release file — …));/release-checklistis not run for a hotfix.- Content: what changed (the bug and the fix in one paragraph); the fix commit (its hash, plus the review-fix commit when there is one); the tag
vX.Y.Z; the CI run that builds the image (the workflow file; the run id in the report once the tag is pushed); the rollback tag (<tag>); the lineVerdict: READY (hotfix); the/release-checklistgates a hotfix skips, listed as skipped, never ticked. - Show the draft, then "May I write
production/releases/vX.Y.Z.md?" — oneAskUserQuestion: write (Recommended) · show the draft/diff first · not now; after the "write" answertouch .claude/.write-consent. - Right after the write, one commit gate —
Gate "/hotfix Phase 3: commit the release file?":docs: release vX.Y.Z (hotfix)staging exactly that file, on the hotfix branch (commit (Recommended — the tag must contain it) · leave uncommitted). Uncommitted → no tag; say why.
- Content: what changed (the bug and the fix in one paragraph); the fix commit (its hash, plus the review-fix commit when there is one); the tag
- Patch tag, created and pushed by this session, never by a subagent, as its own
AskUserQuestion—Gate "/hotfix Phase 3: tag vX.Y.Z and push it?": tagvX.Y.Zon the hotfix branch and push it now (Recommended) · not now. On "yes":git tag -a vX.Y.Z -m "Hotfix vX.Y.Z: <bug>" && git push origin vX.Y.Z(without-m,git tag -aopens an editor the session cannot use) on the release-file commit, so the tag contains the changelog and the release file — the documented exception to "tags on the default branch" (git-workflow.md). "Not now" → the report says the release is untagged and/deploycannot run. - CI on the tag: read
references/ci-on-tag.mdand follow it — triggers read first, only an existing run waited for. Green → step 3.6; red →BLOCKED (CI red on vX.Y.Z), nothing deployed; no tag trigger → name what runs instead and that/deploywill find no green run on the tag. /deploy vX.Y.Zthrough theSkilltool, with its own confirmation before the production mutation (delegate contract:.claude/docs/deploy-target-contract.md); it reads the release file'sVerdict:line and verifies the tag, the green run and the image. Its verdict line (DEPLOYED vX.Y.Z|FAILED (…)) is quoted in the report.- Backport PR to
<default>. The branch is on origin when step 2.4 pushed it; otherwisegit push -u origin hotfix/<slug>now, behind its own question —Gate "/hotfix Phase 3: push hotfix/<slug>?". Thengh pr create --fill --base <default>; the merge follows the PR's review, never a direct push. Skipped on "not now" to that push or withoutgh(name the PR to open by hand); the closing question then offers the backport.
Phase 4: Postmortem note
A short entry in docs/ops/incidents/<file>; the root-cause analysis is /incident's, offered in the closing question.
- Show the draft, then "May I write
docs/ops/incidents/<file>?" — oneAskUserQuestion: write (Recommended) · show the draft first · not now. - After the "write" answer:
touch .claude/.write-consent, thenWrite. - Record the commit gate:
Gate "/hotfix Phase 4: commit the postmortem note?". - Ask, one
AskUserQuestion(rule 7 (4),git-workflow.md§ Documents):docs: incident <slug>staging exactly that file. HEAD is the hotfix branch, so name it and offer: switch to<default>and commit there (Recommended — a postmortem is a pipeline-wide document) · commit here (it rides the backport PR) · leave uncommitted. Nothing is committed without the answer; the fix never rides thedocs:commit. - On "switch":
git switch <default> && git pull --ff-only origin <default>, commit, thengit switch hotfix/<slug>back while the backport PR is open. - Clear the gate:
<hooks>session-state.sh set Gate "—".
Verdict: FIXED | BLOCKED | DONE (chore — PR open) | DONE (chore — PR not opened). Next step — one AskUserQuestion. Production: /web-studio:incident (copy mode /incident) for root-cause analysis (Recommended) · backport to <default> (when step 3.7 was skipped) · stop here. --chore: open the PR (Recommended) · stop here — no /incident after a chore.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

