Bug Bash Update
Automatically update docs/BUG_BASH_GUIDE.md after completing a task. Adds testable checklist items for new features, annotates bug fixes, and verifies fixes in the browser before marking them as verified.
Key principle: Browser verification is the ultimate test. Code review alone isn't enough to mark something verified.
Workflow
Phase 1: Discover what changed
- Analyze the git diff to understand what changed. Try these in order until one produces results:
git diff --cached (staged changes)
git diff main...HEAD (branch diff)
git log -1 --format="%H" | xargs git diff HEAD~1 (last commit)
- Read the changed files to understand the scope of the change.
- Note the commit prefix (
feat:, fix:, refactor:, docs:, chore:, test:, ci:).
- Summarize: what area of the app changed, and what's the user-visible impact?
If no meaningful changes are detected (e.g., only CI, docs, or config changes with no user-visible impact), report "No bug bash updates needed" and stop.
Phase 2: Map changes to BUG_BASH_GUIDE sections
- Read
docs/BUG_BASH_GUIDE.md in full.
- Map changed files to BUG_BASH_GUIDE sections:
- Read the existing section headings in
docs/BUG_BASH_GUIDE.md
- Match changed file paths to the section that covers that area of the app
- Use directory structure and component names as signals (e.g.,
components/auth/ → an "Authentication" section)
- If no section matches, check if a new section is warranted for an entirely new feature
Phase 3: Generate updates
Based on the commit prefix and type of change:
feat: — New feature
- Add
- [ ] checklist items to the appropriate section
- Each item must be specific, testable, and include the expected result
- Format:
- [ ] [Action to take] → [Expected result]
- Add 2-5 items per feature, covering the happy path and key edge cases
- Example:
- [ ] Click "Register" with valid X handle → Token created, redirected to profile page
fix: — Bug fix
- Find the matching
[!] item in the guide that describes the bug
- Change
[!] to [!] FIXED and append the PR/commit reference
- Format:
- [!] FIXED (PR #XX) Original bug description → Fix: [brief description of fix]
- If no matching
[!] item exists, add a new [x] item describing what was fixed (since it was never tracked as a bug)
refactor: — Refactoring
- Only update if user-visible behavior changed
- If purely internal, report "No bug bash updates needed" and stop
test:, ci:, docs:, chore: — Non-user-facing
- Typically no updates needed. Only update if there's a user-visible side effect.
Phase 4: Verify in browser
This phase applies only to fix: commits that changed items from [!] to [!] FIXED.
- Read the deployment URL from
docs/BUG_BASH_GUIDE.md (look in "Test Environment" or "Prerequisites" section).
- If no URL is listed, stop and ask the user for the deployed URL.
- NEVER use localhost. Bug bash verification must happen on a deployed build.
- Open the deployment in the browser using browser automation tools.
- Navigate to the relevant page/feature for the fix.
- Visually confirm the fix works as expected:
- Check that the bug behavior is no longer present
- Check that the correct behavior is now shown
- Take a screenshot as evidence.
If verified successfully:
- Change
[!] FIXED to [x] with verification notes
- Format:
- [x] Original description → Verified: [what was confirmed, date]
If NOT verified:
- Leave as
[!] FIXED — do NOT mark [x]
- Report what's still broken and what was observed
- The orchestrator should loop back to fix the issue before re-verifying
If browser verification is not possible (no deployment available, page requires auth that can't be automated, etc.):
- Leave as
[!] FIXED
- Note why verification couldn't be completed
- The item will be verified in the next manual bug bash
Guidelines
- Never remove existing checklist items — only add or modify status markers
- Keep checklist items concise but specific enough to be independently testable
- When adding items for a new feature, look at existing items for style/format consistency
- Group related items together under the same section
- If a section doesn't exist for a new feature area, create it following the existing heading hierarchy
- Always include the PR or commit reference when annotating fixes
- Screenshots from browser verification should be saved with descriptive names (e.g.,
history-tab-fix-verified.png)
Verification Rules (MANDATORY)
These rules apply to ALL bug bash verification — both Phase 4 fix verification and general checklist testing.
DO: Test in the browser — ALL verification must happen via Claude in Chrome MCP tools (navigate, click, screenshot, read page). DO NOT use unit tests, cast, forge test, contract calls, or code review as verification. If the browser extension is not connected, stop and tell the user.
DO: Test on a deployed build — Read the deployment URL from docs/BUG_BASH_GUIDE.md. NEVER use localhost. Bug bash tests deployed code, not local dev servers.
DO: Act autonomously in the browser — Click buttons, navigate pages, scroll, take screenshots without asking user permission. Browser interactions during testing are routine actions. Only purchases, entering personal data, and account creation need explicit user approval.
DO: Ask the user to unblock, never skip — When blocked (wallet not connected, insufficient funds, auth required, extension not responding), tell the user exactly what's needed and wait. DO NOT silently skip items or mark them "cannot test" without first asking the user if they can resolve the blocker.
DO: Follow marking conventions exactly:
[ ] = unverified (not yet tested)
[!] = bug found (describe inline)
[!] FIXED = fix applied but NOT yet verified in browser
[x] = verified working in browser with screenshot evidence
- NEVER mark
[x] without having taken a browser screenshot confirming the behavior. Code review or test output is not sufficient.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: bug-bash-update3description: Update docs/BUG_BASH_GUIDE.md after implementing features or fixing bugs. Adds checklist items for new features, annotates fixes, and verifies fixes in the browser before marking them complete. Triggers on "bug bash update", "update bug bash", "update testing checklist". Use when this capability is needed.4---56# Bug Bash Update78Automatically update `docs/BUG_BASH_GUIDE.md` after completing a task. Adds testable checklist items for new features, annotates bug fixes, and verifies fixes in the browser before marking them as verified.910**Key principle:** Browser verification is the ultimate test. Code review alone isn't enough to mark something verified.1112## Workflow1314### Phase 1: Discover what changed15161. Analyze the git diff to understand what changed. Try these in order until one produces results:17 - `git diff --cached` (staged changes)18 - `git diff main...HEAD` (branch diff)19 - `git log -1 --format="%H" | xargs git diff HEAD~1` (last commit)202. Read the changed files to understand the scope of the change.213. Note the commit prefix (`feat:`, `fix:`, `refactor:`, `docs:`, `chore:`, `test:`, `ci:`).224. Summarize: what area of the app changed, and what's the user-visible impact?2324If no meaningful changes are detected (e.g., only CI, docs, or config changes with no user-visible impact), report "No bug bash updates needed" and stop.2526### Phase 2: Map changes to BUG_BASH_GUIDE sections27281. Read `docs/BUG_BASH_GUIDE.md` in full.292. Map changed files to BUG_BASH_GUIDE sections:30 - Read the existing section headings in `docs/BUG_BASH_GUIDE.md`31 - Match changed file paths to the section that covers that area of the app32 - Use directory structure and component names as signals (e.g., `components/auth/` → an "Authentication" section)33 - If no section matches, check if a new section is warranted for an entirely new feature3435### Phase 3: Generate updates3637Based on the commit prefix and type of change:3839**`feat:` — New feature**40- Add `- [ ]` checklist items to the appropriate section41- Each item must be specific, testable, and include the expected result42- Format: `- [ ] [Action to take] → [Expected result]`43- Add 2-5 items per feature, covering the happy path and key edge cases44- Example: `- [ ] Click "Register" with valid X handle → Token created, redirected to profile page`4546**`fix:` — Bug fix**47- Find the matching `[!]` item in the guide that describes the bug48- Change `[!]` to `[!] FIXED` and append the PR/commit reference49- Format: `- [!] FIXED (PR #XX) Original bug description → Fix: [brief description of fix]`50- If no matching `[!]` item exists, add a new `[x]` item describing what was fixed (since it was never tracked as a bug)5152**`refactor:` — Refactoring**53- Only update if user-visible behavior changed54- If purely internal, report "No bug bash updates needed" and stop5556**`test:`, `ci:`, `docs:`, `chore:` — Non-user-facing**57- Typically no updates needed. Only update if there's a user-visible side effect.5859### Phase 4: Verify in browser6061This phase applies **only to `fix:` commits** that changed items from `[!]` to `[!] FIXED`.62631. Read the deployment URL from `docs/BUG_BASH_GUIDE.md` (look in "Test Environment" or "Prerequisites" section).642. If no URL is listed, stop and ask the user for the deployed URL.653. NEVER use localhost. Bug bash verification must happen on a deployed build.664. Open the deployment in the browser using browser automation tools.675. Navigate to the relevant page/feature for the fix.686. Visually confirm the fix works as expected:69 - Check that the bug behavior is no longer present70 - Check that the correct behavior is now shown717. Take a screenshot as evidence.7273**If verified successfully:**74- Change `[!] FIXED` to `[x]` with verification notes75- Format: `- [x] Original description → Verified: [what was confirmed, date]`7677**If NOT verified:**78- Leave as `[!] FIXED` — do NOT mark `[x]`79- Report what's still broken and what was observed80- The orchestrator should loop back to fix the issue before re-verifying8182**If browser verification is not possible** (no deployment available, page requires auth that can't be automated, etc.):83- Leave as `[!] FIXED`84- Note why verification couldn't be completed85- The item will be verified in the next manual bug bash8687## Guidelines8889- Never remove existing checklist items — only add or modify status markers90- Keep checklist items concise but specific enough to be independently testable91- When adding items for a new feature, look at existing items for style/format consistency92- Group related items together under the same section93- If a section doesn't exist for a new feature area, create it following the existing heading hierarchy94- Always include the PR or commit reference when annotating fixes95- Screenshots from browser verification should be saved with descriptive names (e.g., `history-tab-fix-verified.png`)9697## Verification Rules (MANDATORY)9899These rules apply to ALL bug bash verification — both Phase 4 fix verification and general checklist testing.1001011. **DO: Test in the browser** — ALL verification must happen via Claude in Chrome MCP tools (navigate, click, screenshot, read page). DO NOT use unit tests, `cast`, `forge test`, contract calls, or code review as verification. If the browser extension is not connected, stop and tell the user.1021032. **DO: Test on a deployed build** — Read the deployment URL from `docs/BUG_BASH_GUIDE.md`. NEVER use `localhost`. Bug bash tests deployed code, not local dev servers.1041053. **DO: Act autonomously in the browser** — Click buttons, navigate pages, scroll, take screenshots without asking user permission. Browser interactions during testing are routine actions. Only purchases, entering personal data, and account creation need explicit user approval.1061074. **DO: Ask the user to unblock, never skip** — When blocked (wallet not connected, insufficient funds, auth required, extension not responding), tell the user exactly what's needed and wait. DO NOT silently skip items or mark them "cannot test" without first asking the user if they can resolve the blocker.1081095. **DO: Follow marking conventions exactly:**110 - `[ ]` = unverified (not yet tested)111 - `[!]` = bug found (describe inline)112 - `[!] FIXED` = fix applied but NOT yet verified in browser113 - `[x]` = verified working in browser with screenshot evidence114 - NEVER mark `[x]` without having taken a browser screenshot confirming the behavior. Code review or test output is not sufficient.115116---117> Converted and distributed by [TomeVault](https://tomevault.io/claim/cryptofish7) — claim your Tome and manage your conversions.118<!-- tomevault:4.0:skill_md:2026-04-13 -->