← All docs

Claude Code · Design · AI

Give design feedback by clicking on your site with Agentation

Agentation is an open-source tool that lets you click the part of your site you want changed, leave a note, and turn those notes into a prompt Claude Code understands directly. Installing it in a React project, the first three notes, Copy Feedback and an optional MCP connection.

Time
15 min
Level
Beginner
Steps
6
Prompts
3

You want to change something on your site: a button colour, a heading's width, where a menu sits. Explaining that to an AI is hard. You end up writing "the three links next to the logo, the ones on the right", and it changes the wrong thing. Agentation removes the describing: you click the spot on the page, write your note, and Agentation turns it into a prompt that says exactly where in the code to look. In this guide I go through the flow I tried on my own site, dec5.tech. Press Copy at the top right of each command and prompt, paste, carry on.

What we're making

We'll install Agentation in a React project, leave three notes on the page, and hand them to Claude Code to make the changes.

What is Agentation? Agentation is a React component that adds a small toolbar to the bottom-right corner of your site. Turn it on and you can select any element on the page. You write a note on the element; Agentation attaches its CSS selector, its position and the React component it belongs to.

Why does it work? An AI does much better with an address like .sidebar > button.primary than with "the blue button". It searches the code for that address and finds the right file. Agentation works out that address for you.

At the end you'll have three things:

  1. A feedback toolbar in your project that only shows on your own machine
  2. A prompt, built from the notes you left on the page, that Claude can apply directly
  3. The changes made according to your notes
  1. Install Agentation

    Give Claude Code the repo link and ask it to install:

    Prompt
    I want to install https://github.com/benjitaylor/agentation in this project.
    
    1. Open a new branch first (e.g. feat/agentation); don't touch main.
    2. Install the package as a dev dependency: npm install agentation -D
    3. Add the <Agentation /> component to the app's outermost layout, but only render it in development (process.env.NODE_ENV === "development").
    4. Show me the changes, then commit. Don't push.
    5. Start the dev server and give me the local link to open.
    

    To do it yourself, in the terminal:

    Terminal
    npm install agentation -D
    

    Then add the component to the layout. In the Next.js App Router that's app/layout.tsx (in my project, app/[locale]/layout.tsx):

    TSX
    import { Agentation } from "agentation";
    
    // ...
          <body>
            {children}
            {process.env.NODE_ENV === "development" && <Agentation />}
          </body>
    

    In a Vite or Create React App project, put it at the end of your App component. The component ships its own "use client" directive, so in Next.js you can add it straight to a server layout without a wrapper.

    When I did this, Claude first asked which project to install it in, then offered to open a new branch. The install came down to the package itself and two lines in the layout.

  2. Leave notes on the page

    1. Click the icon in the bottom-right corner (or Ctrl+Shift+F, ⌘⇧F on a Mac). Feedback mode turns on.
    2. Hover over the element you want to change. Agentation outlines it and shows which component it is.
    3. Click it, type your note in the box and press Add.
    4. Repeat for your other notes. Each note stays on the page as a numbered marker.

    I left these three notes on the dec5.tech home page:

    • The three header links (Posts, About, Instagram): "move these three to the left, next to the logo"
    • The language switcher (TR EN): "make TR EN country flags"
    • The heading of the posts section: "make this heading span the whole row"

    To select several elements at once, hold Ctrl (⌘ on a Mac) while clicking, or drag to select an area. You can mark empty space too, for notes like "put a button here".

  3. Copy Feedback, then paste into Claude

    When you're done, press Copy Feedback in the toolbar (or the C key). Something like this lands on your clipboard:

    text
    ## Page Feedback: /tr
    **Viewport:** 1280×633
    
    ### 1. <Header> hidden items
    **Location:** .fixed > .mx-auto > .hidden
    **React:** <Header>
    **Feedback:** bu 3 lü sol tarafa logoya yanaşsın
    
    ### 2. <Header> flex items
    **Location:** .fixed > .mx-auto > .flex
    **React:** <Header>
    **Feedback:** TR EN ülke bayrağı OLSUN
    

    (My notes were in Turkish; yours will be in whatever language you write them.) Paste it into Claude Code as it is. You can add a sentence or two in front:

    Prompt
    I left the notes below on the page with Agentation. Apply each note in the relevant file using its Location and React component. When you're done, list which file you changed and how, and tell me if there's anything I should check in the browser.
    
    [paste the Copy Feedback output here]
    

    Had I tried to explain the same three changes by hand, I'd have been writing sentences like "move the three links to the right of the logo over to the left, next to the logo". And for "make this text 2 pixels smaller" in the middle of a section, describing where it is becomes nearly impossible. In Agentation's output every note comes with a component name and a CSS address; nothing needs describing.

  4. Check the result

    For me, Claude applied all three notes in about a minute and a half and reported that type checking and lint passed with no errors:

    1. The three header links moved next to the logo.
    2. The TR / EN text became Turkish and British flags.
    3. The posts heading widened to fill the whole row.

    Refresh the page and look at the changes. If something isn't right, leave a new note the same way and copy again. If you like it, merge the branch into main; if not, delete the branch and the main project stays untouched.

  5. Optional: skip the copy-paste (MCP)

    If you don't want to copy and paste every time, you can connect Agentation to Claude Code over MCP. Your notes then go straight to Claude.

    Add the server to Claude Code:

    Terminal
    claude mcp add agentation -- npx -y agentation-mcp server
    

    Quit and reopen Claude Code. Then give the component the server's address:

    TSX
    {process.env.NODE_ENV === "development" && <Agentation endpoint="http://localhost:4747" />}
    

    To test the connection, leave a test note on the page and ask Claude:

    Prompt
    Read the pending Agentation notes (agentation_get_all_pending). Tell me the exact text of the note and which page it was left on, then apply it.
    

    If the note doesn't arrive, npx agentation-mcp doctor shows whether the server is running. Make sure the address in the component and the server's port (4747 by default) match.

First: one install per project

Agentation isn't a Claude Code plugin or skill. It's part of your project: it goes into that project's code, and if you want it in another project you install it there too. Think of it like adding an accessibility widget to your site: you put the widget in the site, and it comes along whenever the site loads.

Take two precautions:

  • Show it in development only. Your visitors shouldn't see the toolbar on the live site. The install below does this with an NODE_ENV check.
  • Try it on a new branch. A branch is like working on a copy of the project: you grow a branch off the trunk (main) without touching it, experiment, merge it if you like the result, and delete it if you don't.

Tips

The toolbar doesn't show. Make sure you started the server in development mode (npm run dev). If you added the component behind NODE_ENV === "development", it's meant to be hidden in production.

My project isn't React. Agentation only officially works with React 18+. On a site without React you'll still need to give your notes with a screenshot and a CSS selector (copied from the browser's "Inspect" menu).

It doesn't work on my phone. Agentation only supports desktop browsers.

Claude changed the wrong thing. Leave the note on a smaller element: just the heading instead of the whole section, just the link group instead of the whole header. The narrower the element, the clearer the address.

I want it in another project too. Agentation is installed per project; repeat step 1 there.

Licence. Agentation is under the PolyForm Shield licence: you can use and modify it in your own projects; you can't use it to build a product that competes with Agentation.

Done?

  • My project is a web project built with React 18+
  • I opened a new branch
  • I installed the package with npm install agentation -D
  • I added <Agentation /> to the layout so it only shows in development
  • I opened the local link and saw the toolbar in the bottom-right corner
  • I left my notes on individual elements
  • I pasted the Copy Feedback output into Claude Code
  • I checked the changes in the browser and merged the branch if I liked them

If you get stuck, message me on Instagram and I'll add it to the guide.