Our review
ShowMe lets you create visual mockups with coordinate-tracked annotations across multiple pages, which the Copilot agent can interpret and act on.
Strengths
- Coordinate-tracked annotations that AI can automatically interpret.
- Multi-page support for complex mockups.
- Structured JSON output for easy integration with AI agents.
- Multiple annotation types (pin, area, arrow, highlight).
Limitations
- Requires running a local Bun server.
- Images are saved to temporary files that may be cleaned up.
- Works only with environments that support custom slash commands.
Use ShowMe when you want to provide precise visual feedback on a UI design that your AI agent needs to understand and process.
Do not use it for real-time collaboration sessions or when feedback is too complex for simple annotations (e.g., animations or interactions).
Security analysis
CautionThe skill uses a bash command to launch a third-party server and browser. While the intended functionality is legitimate, executing scripts from an untrusted source is inherently risky, especially given no review of the server code.
- •The skill instructs the agent to execute a bash command (bun run ...) that runs a local server script. This could be exploited if the server code at the specified path is malicious or if an attacker replaces it. The command also opens a browser, which may have security implications.
Examples
/showme Let's create a 2-page mockup for a dashboard: Page 1 - main metrics, Page 2 - chart settings. I'll annotate each component./showme Draw the current login screen and use pin annotations to indicate the color issues on the button./showme I've attached a screenshot of the settings page. Add area annotations around the sections that need reordering.ShowMe - Visual Mockup & Annotation Tool for Copilot Agents
ShowMe lets you create visual mockups with coordinate-tracked annotations across multiple pages. Draw, annotate, and provide component-specific feedback that Copilot can see and act on.
Instructions for Copilot
When the user invokes /showme, execute this command and wait for the result:
bun run ../ai.apps/ShowMe/server/index.ts
The command will:
- Open a browser with a multi-page drawing canvas
- Let the user create pages (blank or from images), draw, and add annotations
- Output JSON with structured page and annotation data
- Images are saved to temp files (paths provided in
imagePathfield)
Processing the Output
The hook output contains structured JSON with:
{
"hookSpecificOutput": {
"decision": { "behavior": "allow" },
"showme": {
"pages": [
{
"id": "...",
"name": "Page 1",
"imagePath": "/tmp/showme-images/page-id.png",
"width": 1200,
"height": 800,
"annotations": [...]
}
],
"globalNotes": "..."
}
}
}
Steps to Process:
- Parse the JSON output - Extract the
showmeobject - Read each page image - Use the
imagePathfield to read the PNG file - Review annotations - Each has coordinates and user feedback
- Address globalNotes - Overall context or questions from the user
- Acknowledge each annotation - Let the user know you saw their specific feedback
Understanding Annotations
Annotations are coordinate-tracked markers. Each has:
number- Display order (1, 2, 3...) - unique across ALL pagestype- The kind of marker (see below)bounds- Location on canvas:{x, y, width, height}feedback- User's specific feedback for that component
| Type | What It Means | Bounds Usage |
| ----------- | ------------------------------ | ------------------------------- |
| pin | Point marker (numbered circle) | x, y = center point |
| area | Rectangle selection | x, y, width, height = full rect |
| arrow | Directional pointer | bounds covers start-to-end |
| highlight | Freehand highlight stroke | bounds covers the stroke area |
Coordinate System: (0, 0) is top-left corner. X increases rightward, Y increases downward.
Example Output Processing
Given this output:
{
"hookSpecificOutput": {
"decision": { "behavior": "allow" },
"showme": {
"pages": [
{
"id": "abc123",
"name": "Login Screen",
"imagePath": "/tmp/showme-images/abc123.png",
"width": 800,
"height": 600,
"annotations": [
{
"id": "ann1",
"type": "pin",
"number": 1,
"bounds": { "x": 452, "y": 128, "width": 28, "height": 28 },
"feedback": "This button should be blue, not gray"
}
]
}
],
"globalNotes": "Please fix the login button styling"
}
}
}
You should:
- Read the image at
/tmp/showme-images/abc123.png - Note that annotation #1 at (452, 128) says "This button should be blue, not gray"
- Address the global notes about button styling
User Instructions
Tools (use toolbar buttons)
Drawing: Pen, Rectangle, Circle, Arrow, Text, Eraser
Annotations: Pin, Area, Arrow, Highlight
Page Management
- Click + to add blank page or import image
- Click page thumbnail to switch pages
- Each page has its own annotations and undo history
Zoom & Pan
- Ctrl + Wheel - Zoom with mouse wheel
- Space + Drag - Pan canvas
- Toolbar buttons: Zoom in, Zoom out, Fit, Reset
Keyboard Shortcuts
- Ctrl+V - Paste screenshot
- Ctrl+Z - Undo
- Ctrl+Y - Redo
- Delete - Remove selected annotation
- Escape - Deselect / close popover
Workflow
- Create pages (blank or from imported images/screenshots)
- Draw your mockup using drawing tools
- Switch to annotation mode and add markers
- Click annotations to add component-specific feedback
- Add global notes at the bottom for overall context
- Click "Send to Copilot" when done
Built with love by Yaron - No Fluff | YouTube
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.