Automated summary
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
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/showme-visual-mockup-annotation-tool-mm5t8bsx/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/showme-visual-mockup-annotation-tool-mm5t8bsx' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/showme-visual-mockup-annotation-tool-mm5t8bsx/download' --output '.skill-downloads/showme-visual-mockup-annotation-tool-mm5t8bsx/SKILL.md.part' && mv '.skill-downloads/showme-visual-mockup-annotation-tool-mm5t8bsx/SKILL.md.part' '.skill-downloads/showme-visual-mockup-annotation-tool-mm5t8bsx/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/showme-visual-mockup-annotation-tool-mm5t8bsx/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.