A Claude Code skill that turns a screen recording + feedback into an annotated HTML report — with red-boxed screenshots highlighting exactly what was discussed.
The HTML output is self-contained (images embedded) and imports directly into Notion. A plain-text summary is also copied to your clipboard for easy pasting into tickets or PRs.
- Extracts frames from the recording
- Transcribes audio feedback via Whisper, or uses written feedback you provide
- Matches feedback to the relevant frames and draws red annotation boxes
- Smartly chooses between stacked (multiple boxes on one frame) or individual annotated images
- Assembles everything into a single
.htmlfile in your current directory - Copies a feedback summary to your clipboard
One-liner:
curl -fsSL https://raw.githubusercontent.com/nomativ/claude-ui-feedback/main/install.sh | bashOr clone first:
git clone https://github.com/nomativ/claude-ui-feedback.git && bash claude-ui-feedback/install.shThe installer will:
- Copy the skill and helper script to
~/.claude/ - Check for required dependencies (
ffmpeg,Pillow,openai-whisper) and offer to install them - Remind you to restart Claude Code
After restarting, /ui-feedback will appear automatically.
/ui-feedback path/to/recording.mov
Or with written feedback instead of audio:
/ui-feedback path/to/recording.mov "the save button is hard to find and the modal closes too fast"
Output lands in your current working directory as <video-name>-feedback.html.
The skill automatically picks the best annotation style:
- Stacked — multiple boxes layered on a single frame. Used when all feedback targets the same screen and there are 3+ annotations.
- Individual — one annotated image per feedback point. Used when feedback spans different screens or there are fewer annotations.
After running the skill, open Notion → Settings → Import → HTML and select the generated .html file.
rm -rf ~/.claude/skills/ui-feedback ~/.claude/scripts/ui_feedback.py