MCPInstall

agentation-visual-feedback

Agent-agnostic visual feedback tool for AI coding agents to identify and annotate UI elements with structured selectors

Installs
165
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/reason-machines/ai-agent-skills --skill agentation-visual-feedback
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads agentation-visual-feedback automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Agentation Visual Feedback

Skill by ara.so — AI Agent Skills collection.

Agentation is an agent-agnostic visual feedback tool that helps developers capture precise UI element references for AI coding agents. It provides click-to-annotate functionality with automatic selector identification, text selection, multi-select, and structured markdown output that includes selectors, positions, and context.

Installation

npm install agentation -D

For other package managers:

yarn add agentation -D
# or
pnpm add agentation -D

Basic Usage

React Integration

Add the Agentation component to your app:

import { Agentation } from 'agentation';

function App() {
  return (
    <>
      <YourApp />
      <Agentation />
    </>
  );
}

Next.js Integration

For Next.js apps, wrap in a client component:

// components/AgentationWrapper.tsx
'use client';

import { Agentation } from 'agentation';

export function AgentationWrapper() {
  return <Agentation />;
}

Then add to your layout or page:

// app/layout.tsx
import { AgentationWrapper } from '@/components/AgentationWrapper';

export default function RootLayout({ children }) {
  return (
    <html>
      <body>
        {children}
        <AgentationWrapper />
      </body>
    </html>
  );
}

Conditional Loading (Development Only)

Only load Agentation in development:

import { Agentation } from 'agentation';

function App() {
  return (
    <>
      <YourApp />
      {process.env.NODE_ENV === 'development' && <Agentation />}
    </>
  );
}

Configuration

Basic Props

<Agentation
  position="bottom-right"  // 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'
  theme="auto"            // 'auto' | 'light' | 'dark'
  defaultOpen={false}     // Start with toolbar expanded
/>

Custom Styling

<Agentation
  style={{
    zIndex: 10000,
    bottom: '20px',
    right: '20px'
  }}
/>

Features & Usage Patterns

Click to Annotate

  1. Click the Agentation toolbar button (bottom-right by default)
  2. Click any element on the page
  3. Add your feedback/note in the modal
  4. Copy the structured output with selectors

Example output format:

## Element: .sidebar > button.primary

**Selector:** `.sidebar > button.primary`
**Position:** x: 120, y: 340
**Note:** This button should be blue (#0066FF) instead of green

Text Selection Mode

Select specific text content for annotation:

  1. Activate Agentation
  2. Click and drag to select text
  3. Add annotation
  4. Get selector + text content in output

Multi-Select Mode

Select multiple related elements at once:

  1. Activate Agentation
  2. Hold Shift (or use multi-select button)
  3. Drag across multiple elements
  4. Annotate all selected elements together

Area Selection

Annotate regions or empty space:

  1. Activate Agentation
  2. Enable area mode
  3. Drag to create a selection box
  4. Annotate the entire region

Animation Pause

Freeze animations to capture specific states:

  1. Click the pause button in the toolbar
  2. All CSS animations, transitions, JS animations, and videos freeze
  3. Click elements in their paused state
  4. Resume animations when done
// Agentation automatically pauses:
// - CSS animations and transitions
// - requestAnimationFrame loops
// - Video playback
// - GIF animations

Working with AI Agents

Using Structured Output

When you copy annotations, Agentation provides:

## Feedback Report

### Element 1: Navigation Button
**Selector:** `nav.header > button[aria-label="Menu"]`
**Position:** x: 24, y: 16
**Classes:** `.btn-menu`, `.mobile-only`
**Note:** Button should have hover state with 0.2s transition

### Element 2: Card Title
**Selector:** `.card-container > .card-header > h3`
**Position:** x: 340, y: 280
**Text Content:** "Featured Product"
**Note:** Font size should be 24px, currently 18px

Providing Feedback to AI Agents

Best practices when using Agentation output with AI agents:

  1. Copy the full structured output - includes selectors agents can grep for
  2. Add specific requirements - color values, spacing, behavior
  3. Reference multiple elements - select related components together
  4. Capture animation states - pause animations at the exact frame you want

Example prompt to AI agent:

Here's feedback from Agentation:

[paste structured output]

Please update these components according to the notes. The selectors provided 
should help you locate the exact code to modify.

TypeScript Support

Agentation is written in TypeScript and includes full type definitions:

import { Agentation } from 'agentation';
import type { AgentationProps } from 'agentation';

const config: AgentationProps = {
  position: 'bottom-right',
  theme: 'dark',
  defaultOpen: false
};

function App() {
  return <Agentation {...config} />;
}

Troubleshooting

Toolbar Not Visible

Issue: Agentation toolbar doesn't appear

Solutions:

  • Check z-index conflicts - default is 999999
  • Verify the component is rendered in the DOM
  • Check for CSS that might hide fixed position elements
// Increase z-index if needed
<Agentation style={{ zIndex: 10000000 }} />

Elements Not Selectable

Issue: Can't click or select certain elements

Solutions:

  • Check for overlays or modals with higher z-index
  • Verify elements aren't hidden by pointer-events: none
  • Try area selection mode for hard-to-click elements

Selectors Too Generic

Issue: Generated selectors like div > div > span aren't useful

Solutions:

  • Add meaningful class names to your components
  • Use semantic HTML elements
  • Add data attributes for better selector generation
// Better markup for Agentation
<div className="product-card" data-testid="product-card">
  <h3 className="product-title">Title</h3>
  <button className="add-to-cart-btn">Add to Cart</button>
</div>

Performance Issues

Issue: App slows down when Agentation is active

Solutions:

  • Only load in development environments
  • Disable animation pause if not needed
  • Check for extremely deep DOM trees
// Load only in development
{process.env.NODE_ENV === 'development' && <Agentation />}

Dark Mode Not Matching

Issue: Agentation theme doesn't match app theme

Solutions:

  • Manually set theme prop
  • Ensure prefers-color-scheme is set correctly
  • Check for theme overrides in CSS
// Force specific theme
<Agentation theme="dark" />

Browser Support

Agentation requires:

  • Modern desktop browser (Chrome, Firefox, Safari, Edge)
  • JavaScript enabled
  • No mobile support (desktop only)

Common Integration Patterns

With Vite

// main.tsx
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { Agentation } from 'agentation';
import App from './App';

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <App />
    {import.meta.env.DEV && <Agentation />}
  </StrictMode>
);

With Create React App

// index.tsx
import { Agentation } from 'agentation';
import App from './App';

root.render(
  <React.StrictMode>
    <App />
    {process.env.NODE_ENV === 'development' && <Agentation />}
  </React.StrictMode>
);

With Remix

// app/root.tsx
import { Agentation } from 'agentation';

export default function App() {
  return (
    <html>
      <head>
        <Meta />
        <Links />
      </head>
      <body>
        <Outlet />
        <ScrollRestoration />
        <Scripts />
        <LiveReload />
        {process.env.NODE_ENV === 'development' && <Agentation />}
      </body>
    </html>
  );
}

License

PolyForm Shield 1.0.0 - Free for non-commercial use. Check the license for commercial usage terms.

FAQ

What does the agentation-visual-feedback skill do?

Agent-agnostic visual feedback tool for AI coding agents to identify and annotate UI elements with structured selectors

How do I install agentation-visual-feedback?

Run npx skills add https://github.com/reason-machines/ai-agent-skills --skill agentation-visual-feedback in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/agentation-visual-feedback/ (personal) or .claude/skills/agentation-visual-feedback/ (project).

Which AI agents can use agentation-visual-feedback?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is agentation-visual-feedback safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains agentation-visual-feedback?

It is published by reason-machines in reason-machines/ai-agent-skills. It has 165 recorded installs.

More from reason-machines/ai-agent-skills

View all →

agency-agents-zh-skill

reason-machines/ai-agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents322 installs

agent-reach-internet-access

reason-machines/ai-agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents228 installs

agent-sprite-forge-2d-game-assets

reason-machines/ai-agent-skills

Open the skill to read its SKILL.md instructions.

Media & Creative216 installs

agentmemory-persistent-memory

reason-machines/ai-agent-skills

Add persistent memory to AI coding agents using agentmemory - remembers context, preferences, and decisions across sessions

AI & Agents216 installs

awesome-agent-skills

reason-machines/ai-agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents214 installs

oh-my-openagent-orchestration

reason-machines/ai-agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents211 installs

Popular ai & agents skills

View category →

google-agents-cli-publish

google/agents-cli

This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).

AI & Agents513.9K installs

google-agents-cli-eval

google/agents-cli

This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).

AI & Agents513.5K installs

skill-creator

anthropics/skills

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

OfficialAI & Agents416.4K installs

codex-pet

prime-skills/runcomfy-agent-skills

Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.

AI & Agents402.1K installs

full-output-enforcement

leonxlnx/taste-skill

Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.

AI & Agents401K installs

executing-plans

obra/superpowers

Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available

AI & Agents245.7K installs