nudge

Drag on the running page, then hand the measurements to Claude Code.

In Claude Code

/plugin install nudge --marketplace g1d30nB/nudge

Type that into a terminal session of Claude Code, answer y to add the marketplace, and choose the user scope. Then open your dev server in the browser pane and run /nudge. No bookmark, no paste: /nudge batch puts your changes in the prompt box, and after Claude applies them the plugin checks the page and prints what it found.

nudge

In any other browser: drag this button to your bookmarks bar. Click it on the page you are working on, copy the batch, paste it into your agent.

Use it

  1. Open the page you are working on, in Claude Code's browser pane or your own browser, and run /nudge or click the bookmark. A panel appears in the bottom right corner.
  2. Click an element, then drag it, resize it from its handles, or press Backspace to remove it. Double-click text to edit it; with text selected, adjust its type and colour in the panel.
  3. Hold Option and press the up arrow to select the parent of what you clicked, for wrappers you cannot click directly. Option and the down arrow comes back. Command-Z undoes.
  4. Click the panel's header to fold it out of the way while you work, or drag it elsewhere.
  5. In Claude Code, run /nudge batch and press Enter. Elsewhere, press Copy for Claude Code and paste the batch into your agent as the whole message. It edits your source; nudge never does.
  6. When your agent has applied it, press Clear preview to see the page as your code now renders it. nudge tells you what was applied and what was not.
  7. Run /nudge or click the bookmark again to close the panel.

Commands, in Claude Code

/nudgeOpen nudge on the page in the pane. Again to close.
/nudge batchPull the batch into the prompt box.
/nudge batch sendSend it straight away.
/nudge at 390Resize the pane. Also at 1024x768, at mobile, tablet, desktop.
/nudge darkDark colour scheme; /nudge light back.
/nudge verifyReport what the page shows of the last batch.
/nudge historyList every batch sent this page load.

After a batch is sent, the plugin checks the page when Claude's turn ends and prints the verdict under the answer. When the pane navigates to another page of your site, the plugin loads nudge there again.

New in v1.4.0, 12 October 2026

New in v1.3.1, 12 October 2026

New in v1.3.0, 11 October 2026

The biggest release since launch. The plugin follows the current release; installed bookmarks are pinned to the release they came from, so reinstall the bookmark above to get it.

Keys

ClickSelect. Inside a selection, select what was clicked.
DragMove. Release on a pink guide to record the alignment.
HandlesResize from any edge. Option locks the ratio, Command resizes from the centre.
Shift + dragNo snapping; a move keeps to one axis.
ArrowsNudge 1px, 10px with Shift.
Option + ↑ / ↓Select the parent, and come back down.
BackspaceRemove.
⌘Z, ⇧⌘ZUndo and redo any change. Control-Z and Control-Y on Windows and Linux.
Double-clickEdit text in place.
Panel fieldsWidth, height, size, line height, spacing, weight. Type, or step with ↑ ↓ (Shift 10, Option fine).
Option + hoverMeasure the distance to another element.
Option + drag another elementChange the gap between it and the selection.
p, mPin an element; make the selection match the pin. Also the Pin and Match buttons under the header.
aApply the change to matching siblings. Also the Siblings button.
Measure buttonRulers and the gap drag without holding Option.
xOutline every container. Also the x-ray button in the header.
Header badgeDraw the breakpoint lines.
Header crumbsSelect an ancestor.
Header, draggedMove the panel.
EscapeDeselect.

The full list, with the buttons and the page API, is in the README.

If you cannot drag the button

Create a new bookmark by hand and paste this line as its URL.

javascript:(function(){if(window.__nudge){window.__nudge.destroy();return}var s=document.createElement('script');s.src='https://cdn.jsdelivr.net/gh/g1d30nB/nudge@v1.4.0/nudge.js?t='+Date.now();document.documentElement.appendChild(s)})();

In your project, as a script tag

The third way, for a project the whole team works on: put nudge in the project itself and it loads as a small blue dot in the bottom left corner while you develop, in Claude Code's browser pane or any browser pointed at the dev server. Click the dot to open it. It is the same file, and it cannot reach your live site: the tag only exists in development, and nudge refuses to run anywhere but a local address.

Paste this into Claude Code as one message, in the project you are building:

Add nudge to this project so that it loads only while I am developing.

nudge is a design-correction tool: https://github.com/g1d30nB/nudge. It is one script file. Add this tag to the layout or entry point that every page shares, so it is present when I run the dev server and absent from any production build:

<script src="https://cdn.jsdelivr.net/gh/g1d30nB/nudge@v1.4.0/nudge.js" data-nudge-dormant></script>

Rules:
- Keep the data-nudge-dormant attribute exactly as written. Without it nudge opens a panel on every page load.
- Guard the tag with this framework's own development flag (for example import.meta.env.DEV, process.env.NODE_ENV === 'development', or import.meta.dev), so it cannot reach a production build. Do not rely on a runtime check instead.
- If this project has a Content-Security-Policy that blocks outside scripts, download nudge.js from https://github.com/g1d30nB/nudge/releases/tag/v1.4.0 into the public folder and point the tag at /nudge.js instead.
- Change nothing else.
- When you are done, start the dev server, tell me which file you changed, and remind me that the small blue dot in the bottom left corner of the page opens nudge.

To take it out again: Remove nudge from this project: delete the script tag and any code you added to load it. Details and snippets for each framework are in the README.