bugfix
Skill4 starsChanged 10 days agoMITView on GitHub
Use when the user asks to diagnose and fix broken, incorrect, failing, flaky, or regressed behavior, such as failing tests, wrong status codes, crashes, ignored CLI flags, duplicate output, incorrect UI rendering, infinite retries, stack traces, or behavior that used to work. Follow an evidence-driven Reproduce or Establish Evidence → Root Cause → Minimal Fix → Verify workflow, adding a regression test when it provides durable protection at proportionate cost. Do not use for new feature development, behavior-preserving refactoring, speculative cleanup, architecture redesign, dependency upgrades, documentation-only work, test-only cleanup, or investigation without a requested fix.
34 other projects use a version of this.
Adopted by
Most recently taken up by
- isanchez-aguilar/relayrace-aitheir own version, first seen Nov 8, 2026
- icarloscornejo/doertheir own version, first seen Nov 7, 2026
- ClaireAll/skillstheir own version, first seen Nov 5, 2026
- Snowflake-Labs/coco-skillstheir own version, first seen Nov 1, 2026
- irahardianto/awesome-agvtheir own version, first seen Nov 1, 2026
- mustafarslan/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use feature, refactor and 9 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.
bradtraversySkillfeature
Manage current feature workflow - start, review, explain or complete
Also in 7 projects that use this
GitHubSkillrefactor
Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.
Also in 6 projects that use this
SentrySkillspec
Produce a verified spec — problem, desired outcome, and acceptance criteria — before building. Use when given a GitHub/Linear issue link, when starting from a fuzzy in-conversation idea, or asked to "figure out what to do" / "scope this" / "what should I build" — whenever the *what* isn't yet pinned down. Grills the ambiguities, checks the premise against the code, and produces acceptance criteria you sign off on — then hands to design-first.
Also in 4 projects that use this
SentrySkillcommit
Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.
Also in 8 projects that use this
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 4 projects that use this
Microsoft AzureSkilldocs
Also in 3 projects that use this
- +1 more from getsentry
Other versions34 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 34
- alibaba/MNN★ 16ksame name
- SparkDevNetwork/Rock★ 701same name
- oasm-platform/open-asm★ 272same name
- atelier-fashion/adlc-toolkit★ 173same name
- team-attention/hoyeon★ 173same name
- irahardianto/awesome-agv★ 157same name
- Snowflake-Labs/coco-skills★ 49same name
- mrveiss/AutoBot-AI★ 39same name
- dan-the-dev/xp-developer-skills★ 31same name
- ecodelearn/template-claude-code-open★ 25same name
24 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 repository10 other files it gives its agents.
- architectureSkill
- check-draftSkill
- cognitive-debtSkill
- deep-code-reviewSkill
- extract-adrsSkill
- extract-conventionsSkill
- feature-devSkill
- performance-testingSkill
- refactoringSkill
- ultra-grill-meSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
35 rules. 0 are common, 34 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 31 edited versions we read keep these.
34
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use this core loop:
- Distinctive: line 18
Verify the original behavior and relevant surrounding behavior.
- Distinctive: line 28
Follow repository instructions and existing conventions.
- Distinctive: line 29
Do not delete or weaken valid tests merely to make checks pass.
- Distinctive: line 30
Do not claim a command, test, or scenario passed unless it was actually run.
- Distinctive: line 31
Do not claim the bug is fixed without direct verification or clearly qualified evidence.
- Distinctive: line 32
Treat security, authorization, privacy, billing, data-loss, destructive-action, concurrency, and public-contract changes as high risk and …
- Distinctive: line 33
Avoid unrelated features, cleanup, refactoring, and dependency changes.
- Distinctive: line 49
Do not inventory the whole repository when a narrow inspection is sufficient.
- Distinctive: line 53
Prefer the cheapest direct signal available:
- Distinctive: line 64
Use the strongest available source:
- Distinctive: line 73
If expected behavior is materially ambiguous, ask before changing product semantics.
- Distinctive: line 83
Add or update a regression test when it provides durable protection at reasonable cost.
- Distinctive: line 93
Do not add a new test solely to satisfy process when:
- Distinctive: line 101
When adding or changing a regression test, demonstrate that it fails before the fix when practical and inexpensive.
- Distinctive: line 103
If no new automated test is added, use the closest direct verification and mention the limitation only when it materially affects …
- Distinctive: line 108
Prefer local changes and existing abstractions over rewrites.
- Distinctive: line 109
Avoid formatting churn and opportunistic cleanup.
- Distinctive: line 110
Do not change public contracts unless restoring intended behavior requires it.
- Distinctive: line 111
Do not weaken validation, authorization, permissions, or error handling to make a check pass.
- Distinctive: line 112
Update generated files only through the project-standard workflow.
- Distinctive: line 113
If the correct solution requires a broad redesign or new product behavior, stop and explain the scope change.
- Distinctive: line 117
Run the narrowest direct check first, then broaden according to risk:
- Distinctive: line 124
Use screenshots, browser interaction, logs, traces, or output comparison when they are the best evidence.
- Distinctive: line 126
Do not run an expensive full suite by default when a focused check provides adequate confidence.
- Distinctive: line 128
If verification cannot be completed, report exactly what remains unverified and do not present the result as fully proven.
- Distinctive: line 136
no unrelated refactor, cleanup, or generated-file churn entered the diff.
- Distinctive: line 137
test changes, if any, protect behavior rather than implementation details.
- Distinctive: line 138
every verification claim is backed by an observed result.
- Distinctive: line 142
If an existing test is failing, fix the production behavior unless evidence shows the test or expected behavior is wrong.
- Distinctive: line 143
If a proposed regression test passes before the fix, reconsider whether it represents the bug.
- Distinctive: line 144
If unrelated checks fail, distinguish pre-existing failures from failures introduced by the fix.
- Distinctive: line 145
If the cause lies outside the codebase, avoid unnecessary code changes.
- Distinctive: line 147
If multiple bugs are discovered, fix the requested one and report the others separately.
- Very specific: line 160
Do not force empty Regression coverage, Red phase, or Green phase sections when no new regression test was warranted.
“Common” is measured: kept by at least 6 in 10 of the 31 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
bugfix
Purpose
Fix broken behavior with evidence while keeping the change narrow and reviewable.
Use this core loop:
- Reproduce the failure or establish a credible evidence trail.
- Define expected behavior and identify the narrowest credible root cause.
- Decide which verification will most directly prove the fix.
- Apply the smallest safe change that addresses the cause.
- Verify the original behavior and relevant surrounding behavior.
- Report what was and was not proven.
A new regression test is one valuable verification method, not a universal completion gate. Verification is always required; the form of verification depends on the bug, risk, and repository.
Non-negotiable rules
- Understand the reported failure before editing.
- Fix the root cause rather than suppressing the symptom.
- Preserve unrelated behavior and keep the diff focused.
- Follow repository instructions and existing conventions.
- Do not delete or weaken valid tests merely to make checks pass.
- Do not claim a command, test, or scenario passed unless it was actually run.
- Do not claim the bug is fixed without direct verification or clearly qualified evidence.
- Treat security, authorization, privacy, billing, data-loss, destructive-action, concurrency, and public-contract changes as high risk and require stronger evidence.
- Avoid unrelated features, cleanup, refactoring, and dependency changes.
Workflow
1. Capture the failure
Collect only the context needed to define the problem:
- reported symptom;
- expected and actual behavior;
- error, stack trace, logs, screenshot, request/response, or failing command;
- relevant input, state, environment, version, configuration, or external dependency;
- whether the failure is deterministic, intermittent, environment-specific, or a known regression.
Inspect applicable project guidance such as AGENTS.md, CLAUDE.md, .cursor/rules, README.md, and CONTRIBUTING.md, plus the relevant source, tests, build configuration, and recent history when useful.
Do not inventory the whole repository when a narrow inspection is sufficient.
2. Reproduce or establish evidence
Prefer the cheapest direct signal available:
- Existing failing test or user-provided failing command.
- Minimal automated or scripted reproduction.
- Manual UI, API, or CLI reproduction.
- Logs, traces, screenshots, or a reliable static evidence trail when live reproduction is unavailable.
Record the command or steps and the observed result. If the bug cannot be reproduced, continue only when the remaining evidence supports a specific fix; state the uncertainty.
3. Define expected behavior
Use the strongest available source:
- explicit user intent;
- existing tests or documented contract;
- similar working behavior;
- type or API definitions;
- historical behavior;
- domain and error-handling invariants.
If expected behavior is materially ambiguous, ask before changing product semantics. Always ask when ambiguity affects security, permissions, privacy, billing, or data loss.
4. Localize the root cause
Trace the symptom to the narrowest credible cause before patching. Compare broken and working paths, follow control and data flow, and inspect relevant boundaries such as empty values, encoding, timezones, pagination, caching, retries, races, permissions, and feature flags.
State the cause in one concise sentence. Do not patch multiple unrelated areas hoping one change works.
5. Choose regression coverage and verification
Add or update a regression test when it provides durable protection at reasonable cost. It is usually justified when:
- the bug can be expressed deterministically with the existing test infrastructure;
- expected behavior is stable and meaningful;
- the failure could plausibly recur;
- the impact or risk makes future detection valuable; and
- the test does not overfit implementation details.
A regression test is strongly expected for high-risk logic involving security, authorization, billing, data integrity, destructive behavior, concurrency, or public contracts unless a compelling technical reason prevents it.
Do not add a new test solely to satisfy process when:
- an existing failing test already covers the behavior;
- the cause is external configuration, environment, service state, or data and local code is not changing;
- a manual, visual, log-based, or end-to-end signal is more direct;
- meaningful automation would require disproportionate infrastructure or broad refactoring; or
- the only possible test would be brittle or tied to implementation details.
When adding or changing a regression test, demonstrate that it fails before the fix when practical and inexpensive. Confirm the failure is caused by the bug rather than bad setup. Red-before-green is preferred evidence in this case, not a universal completion condition.
If no new automated test is added, use the closest direct verification and mention the limitation only when it materially affects confidence or future coverage.
6. Apply the minimal fix
- Change only what is needed to address the root cause.
- Prefer local changes and existing abstractions over rewrites.
- Avoid formatting churn and opportunistic cleanup.
- Do not change public contracts unless restoring intended behavior requires it.
- Do not weaken validation, authorization, permissions, or error handling to make a check pass.
- Update generated files only through the project-standard workflow.
- If the correct solution requires a broad redesign or new product behavior, stop and explain the scope change.
7. Verify
Run the narrowest direct check first, then broaden according to risk:
- Original failing test, command, or reproduction scenario.
- New or updated regression test, when one was justified.
- Closely related tests or scenarios.
- Relevant typecheck, build, lint, formatting, integration, or end-to-end checks.
Use screenshots, browser interaction, logs, traces, or output comparison when they are the best evidence. Lint or typecheck alone does not prove a behavioral bug is fixed when a more direct check is available.
Do not run an expensive full suite by default when a focused check provides adequate confidence. Expand verification when the change has broad reach or high risk.
If verification cannot be completed, report exactly what remains unverified and do not present the result as fully proven.
8. Review the diff
Before reporting, confirm:
- the fix addresses the identified cause;
- unrelated behavior and public API shape remain unchanged unless explicitly required;
- no unrelated refactor, cleanup, or generated-file churn entered the diff;
- test changes, if any, protect behavior rather than implementation details;
- every verification claim is backed by an observed result.
Decision rules
- If an existing test is failing, fix the production behavior unless evidence shows the test or expected behavior is wrong. Do not silently weaken the test.
- If a proposed regression test passes before the fix, reconsider whether it represents the bug.
- If unrelated checks fail, distinguish pre-existing failures from failures introduced by the fix.
- If the cause lies outside the codebase, avoid unnecessary code changes; improve local handling only when that is part of the intended behavior.
- For flaky bugs, seek deterministic evidence and avoid sleeps unless the repository already uses a justified timing strategy.
- If multiple bugs are discovered, fix the requested one and report the others separately.
- Separate any desirable follow-up refactor or feature work from the minimal fix.
Final report
Lead with the outcome. Include only the sections needed to substantiate it:
- root cause;
- minimal fix;
- verification performed and observed result;
- tests added or updated, if any;
- material unverified areas, pre-existing failures, or remaining risks.
Do not force empty Regression coverage, Red phase, or Green phase sections when no new regression test was warranted.
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.

