Point at a UI bug.
Get a source-located fix.

Nitpick is a Claude Code plugin for Next.js. Press a hotkey in your running dev app, circle the element that's wrong, say what's off β€” and each report arrives mapped to the exact component & source line, with a screenshot. Then Claude (or your BMAD dev agent) fixes them one by one.

Activate with Ctrl+Shift+. Β· double-tap Shift Β· or the on-screen badge

How it works

Two pieces joined by a file bridge β€” reporting stays separate from fixing.

1 Β· Capture (in the browser)

A dev-only overlay lives in your Next.js app. A draggable toolbox lets you Inspect (element + locators + a cropped image of each element), Snip a region and mark it up, Record a multi-screen action flow, or Fix me (report a problem with Nitpick itself) β€” then add a comment (typed or dictated) and Save.

2 Β· Queue (on disk)

A dev-only API route writes each report to .nitpick/NNN.json + an annotated NNN.png β€” including the component, selector, styles and source line. Nothing leaves your machine.

3 Β· Fix (in Claude Code)

/nitpick:process reads the queue, views each screenshot, opens the source line and fixes it β€” or, in a BMAD project, routes each item to the dev agent / into stories.

Report-only & dev-only: the overlay returns null and the route returns 410 in production β€” it never changes your app's behavior.

Which tool should I use?

Pick by the kind of issue you're reporting.

🎯 Inspect β€” a specific element

Click the exact element(s) that are wrong. Claude gets the component, source line, computed styles, Playwright-style locators β€” and a cropped image of each one.

Ideal for

  • Wrong color / size / spacing / font / copy
  • A known component you can point at
  • Several related elements at once
β†’ 001-1.png, 001-2.png, … + metadata
βœ‚οΈ Snip β€” a region or layout

Drag a box around the area, then mark it up with arrow / line / circle / box / pen / text. Saved as one flat annotated image β€” captured correctly at any scroll position.

Ideal for

  • Alignment / overlap / overflow / uneven spacing
  • Hover-only or hard-to-click UI (menus, tooltips, charts, <canvas>)
  • Explaining visually by drawing on it
β†’ 001.png (annotated)
🎬 Record β€” a bug that takes steps

Hide the overlay and act out the bug. Nitpick logs your clicks, inputs and navigation across screens as an ordered repro script (each step with its route + locator).

Ideal for

  • Multi-step or cross-page flows
  • Form validation / post-submit state
  • "It only breaks on step 3"
β†’ ordered actions (no images)
πŸ›  Fix me β€” Nitpick itself

The overlay misbehaving? Type or dictate what's wrong. The report is flagged meta and the screenshot includes the Nitpick UI β€” so your agent fixes the tool, not your app.

Ideal for

  • Marquee won't drag / badge missing
  • Save fails or captures look wrong
  • Anything broken about the overlay
β†’ 001.png (overlay visible) + diagnostics

Pair any tool with a reference image (paste/drop into the comment box) to show the look you want β€” and remember: one element β†’ Inspect Β· a layout/area β†’ Snip Β· a sequence β†’ Record Β· Nitpick itself β†’ Fix me.

See it (simulated)

A tiny stand-in for the real overlay. Click Activate (or press Ctrl+Shift+. / double-tap Shift), then click an element below, add a comment, and Save.

localhost:3000
ACME.

Welcome back, Sam

Here's what's happening with your projects today.

Promo banner area
πŸ“ click an element Β· Esc to cancel
πŸ“ Report issue
Captured β†’ .nitpick/

Nothing captured yet β€” activate and click an element.

Get started

Pick your workflow. Replace lokkrish with the repo you install from (or use a local path).

1Install
# in Claude Code
/plugin marketplace add lokkrish/nitpick
/plugin install nitpick@nitpick-tools

# in your Next.js project
/nitpick:setup
# scaffolds the overlay + dev API route,
# mounts it in the root layout (all pages),
# gitignores .nitpick/, installs html-to-image

npm run dev   # (re)start the dev server

/nitpick:sanity
# optional: verify the install end-to-end
# (real browser; selection in all 4 corners)
2Usage
  1. Run your app (npm run dev).
  2. Activate the overlay: Ctrl+Shift+., double-tap Shift, or click the badge.
  3. Hover β†’ click the broken element β†’ annotate + comment β†’ optional reference image β†’ Save.
  4. Repeat; reports queue in .nitpick/.
  5. In Claude Code, run /nitpick:process β€” it views each screenshot, opens the source line, fixes it, and marks it resolved.
3Decommission
# remove scaffolded code from the app
/nitpick:remove
# flags: --keep-feedback  --keep-dep

# remove the plugin from Claude Code
/plugin uninstall nitpick@nitpick-tools
/plugin marketplace remove nitpick-tools

Already inert in production, so removal is cleanup, not safety.

Same capture overlay, but fixes are routed through BMAD's agents instead of edited directly. Verified against BMAD-METHOD v6.

1Install
# in Claude Code
/plugin marketplace add lokkrish/nitpick
/plugin install nitpick@nitpick-tools

# overlay (same as standalone)
/nitpick:setup
npm run dev

# add the BMAD-native agent
/nitpick:setup-bmad
# v6 β†’ installs the bmad-nitpick skill
#       (.claude/skills/bmad-nitpick)
# then reload Claude Code
2Usage
  1. Capture issues with the overlay (as standalone).
  2. Run /nitpick:bmad or activate the bmad-nitpick skill (β€œtriage nitpick”).
  3. Triage each item:
    • quick-fix β†’ handed to bmad-quick-dev to implement now.
    • backlog β†’ parked until the epic is done.
  4. After an epic: /nitpick:bmad stories <epic> turns backlog items into BMAD stories (bmad-create-story) for the dev agent.
3Decommission
# remove the BMAD-native agent
# v6:
rm -rf .claude/skills/bmad-nitpick \
       .agents/skills/bmad-nitpick
# v4: delete .bmad-core/agents/nitpick.md

# then the overlay + plugin
/nitpick:remove
/plugin uninstall nitpick@nitpick-tools

Removing the skill leaves your BMAD install otherwise untouched.

Command reference

CommandWhat it doesMode
/nitpick:setupScaffold the overlay + dev API route into a Next.js app (all pages).Both
/nitpick:sanityVerify an install end-to-end: static checks + a real-browser test (four-corner selection, snip pipeline, hostile-CSS regression, Fix me & API round-trips).Both
/nitpick:processFix the .nitpick/ queue directly in Claude (defers to BMAD if detected); meta ("Fix me") items fix the tool itself.Claude
/nitpick:bmadTriage feedback & route it: triage Β· quick-fix <id> Β· backlog <id> Β· stories <epic> Β· status.BMAD
/nitpick:setup-bmadInstall the BMAD-native Nitpick agent (v6 skill / v4 agent).BMAD
/nitpick:removeReverse setup: remove overlay, route, mount, .nitpick/ & dep.Both
nitpick-bmad agentSubagent that detects BMAD & coordinates the handoff.BMAD