Scrawl skill

A skill that helps an agent inspect Scrawl screen recordings using keyframes, spoken explanations and the user’s drawn marks.

  • 913 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • The app records the screen and microphone; a bundle can contain personal data from open windows.
  • Sending the bundle to an agent exposes its contents to the chosen client and provider.
All reasons and checks

kitlangton/scrawl

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/scrawl-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The app records the screen and microphone; a bundle can contain personal data from open windows.
  • Sending the bundle to an agent exposes its contents to the chosen client and provider.

This is third-party code. Review the repository files before installing.

What it does

The Scrawl skill teaches an agent to read feedback bundles made from screen recordings. It first examines the contact sheet and transcript, then opens selected full-resolution images to match the user’s comment with a recorded moment. For motion or flicker between keyframes, the CLI builds a denser frame sequence around the selected instant. The agent refers to frame numbers and timestamps in its response. Scrawl records the screen, voice and drawings used to create the bundle.

Who it is for. For developers and designers who prefer showing an agent a narrated recording of a UI defect.

Good fit when

  • Show an animation jump that disappears in a single screenshot.
  • Get feedback about the frame a user marked with a drawing.
  • Identify which element a recorded annotation points to.
  • Send a bundle to the selected OpenCode session for follow-up work.

Not a fit when

  • You need a tool that controls the application under test.
  • The work environment forbids screen or voice recording.
  • You need to extract new frames after the source video has been deleted.

Example request

Inspect this Scrawl recording, find the form’s sudden shift and report the problem’s timestamp and frame number.

Limitations

Frame-inspection commands require Scrawl on an Apple Silicon Mac with macOS 15 or later. By default, source video, audio, full-size frames and zoom sheets go to the Trash after seven days, preventing new frame extraction and video export. The `frames/` keyframes, contact sheet and text remain until the whole bundle is trashed after 30 days; Storage settings can change retention. Recordings can contain private windows and voice, so inspect the bundle before giving it to an agent.

How to disable. Remove the skill from the agent’s skill directory. Quit Scrawl to stop capture; saved feedback bundles are managed separately.

FAQ

What if speech recognition is wrong?

Check the image. The skill prioritizes the screen when the transcript disagrees with names or code visible in a frame.

How do I inspect a specific moment?

Use `scrawl zoom <bundle> --at 0:21`. You can also select a spoken phrase or annotation number.

Which files are in a bundle?

A contact sheet, individual images, a text summary and a JSON manifest. Source video and audio allow more detail to be extracted.

Can a recording be sent to another session?

Yes. If the recording is already addressed to an OpenCode session, another recipient requires `--reroute`. Agree the destination session with the user before sending the bundle.

Which macOS version supports live transcription and Liquid Glass?

macOS 26 or later. These are application-feature requirements; the recording-review skill does not add those features on an older Mac.

Discussion

No questions or reviews yet.

Skills

A skill helps an agent capture macOS windows for tests and documentation, choosing sizes, capture tools and output files

SkillBroad access945Repository stars

Caliper runs agent tasks with and without your skill, then shows whether the skill helps and how many tokens it costs

CLIExtended access232Repository stars

A CLI to evaluate and evolve agent skills: declarative YAML cases, runs across engines and structured reports

CLIExtended access1.5KRepository stars

Validates Agent Skills packages: structure, links, token weight and instruction quality, with optional LLM-as-judge scoring

CLIExtended access267Repository stars

A skill and MCP server for the Rhesis platform: the agent designs, runs and analyzes test suites for your own AI agent

SkillExtended access404Repository stars

A Python CLI that measures what a skill changes: runs a case with and without it, lints answer leaks in prompts and diffs reports

CLIExtended access79Repository stars

README in short

User drawings, cursor trails and clicks link the text to the image. MP4 export can burn annotations and clicks into video while retaining synchronized audio.

README badge

Original SKILL.md

---
name: scrawl
description: Read and dig into Scrawl screen captures, where someone recorded their screen while talking, clicking and drawing red marks on it. Use whenever a message contains a Scrawl capture (a line like `[scrawl 0:12 · App “Window” · /path/to/….scrawl]`, a `.scrawl` bundle path, or a contact-sheet.png from one), when the user says "look at my scrawl" or refers to something they just recorded or drew, or when you need the `scrawl` CLI to zoom into a moment, pull frames, send a capture to a session, or export one as video.
---

# Scrawl captures

Scrawl records someone's screen, voice, clicks and red ink, then packs the result into a `.scrawl` folder (a bundle). They send it to show you a problem instead of describing it, so the capture is the bug report. Read it closely before you answer, and don't ask them to explain again what the capture already shows. If something is unclear, look closer with `scrawl zoom` first.

## What a paste looks like

```text
[scrawl 0:33 · OpenCode “Settings” · /Users/me/Library/Application Support/scrawl/captures/scrawl-1792432139176.scrawl]
Open contact-sheet.png and frames/ in that folder before changing anything: the marks and words only make sense on the images, which can show more than the text does.
Cropped to: the activity in OpenCode (full frames in frames-full/)
- #1 (0:04) [clicked “New tab”] “Command T makes a new session, but here it should make a tab.”
- #2 (0:07) “No, it doesn't.”
- #3 (0:10) ⚑ “It says command shift B makes a new tab.”
- #4 (0:18) clicked (x 0.51, y 0.93)
```

- The first line has the length, the app and window recorded, and the bundle path.
- The next line asks you to open the images first. Do: the text is only what was said and done, and a problem can show in a frame without being marked or mentioned.
- Each `#N (M:SS)` line is a keyframe: what they did at that moment in brackets, then what they said while it was on screen. A line with no quote has the action alone.
- `⚑` means they flagged the moment on purpose. `⟨Name⟩` means the app reported a new screen. Lines starting `·` are events or values the app logged.
- Optional lines near the top: `For session:` (where Scrawl sent it), `Screen:` with app context, `Note:`, and `Cropped to:`.
- Coordinates are fractions of the captured area, from the top left (x 0.51 is just right of centre).

When you answer, refer to moments the same way, as in "#3 (0:10)", so the person can find them on the contact sheet.

## Reading a bundle

1. Look at `contact-sheet.png` in the bundle first (it's often attached already). It shows every keyframe in time order, left to right and top to bottom, each with its number `N` in a small white chip in a top corner (the `#N` in `summary.md`).
2. Read the transcript lines next to it. Speech recognition mishears names and code terms, so trust the screen when the two disagree.
3. Open `frames/frame-NN.png` for any keyframe you need at full size (`frame-03.png` is #3). When the summary says `Cropped to:`, the uncropped screens are in `frames-full/`.

What the drawings mean:

- Red strokes, circles, underlines and arrows are the person's marks, and they point at the problem. Marks drawn on the same screen all show on one keyframe. When there are several, the text numbers them in drawing order (`✎① 0:06 …`, `✎② 0:09 …`); the image shows only the ink, so use `scrawl zoom --mark` to see which ink is which.
- A ripple around the cursor shows a click or tap, and a finger trail shows a swipe.
- A glowing red trail that tapers off is the laser pointer, used to point without leaving a mark.

Other files: `scrawl.json` is the full manifest (keyframes, `marks` with shape and box, `events`, `transcript.words` with times, app `context`, and `autocrop`). `recording.mp4` or `recording.mov` and `audio.wav` are the source media. A `.media-pending` file means the video is still being copied from another Mac.

## The scrawl CLI

Report a problem