Skip to main content
Glama
marvkr

Better Design

Cut a Screen Recording into Beats

cut-screen-recording
Read-onlyIdempotent

Crops browser chrome from a screen recording and splits it into timed beats for RecordingShot scenes, returning the crop, beat timings, and camera targets.

Instructions

Cut a screen recording of the product into beats for the recording-shot video component: the browser chrome to crop, the source second each beat opens on, its length, and where to point the camera.

Workflow:

  1. Call with no measurements. It returns a Node script that measures the recording with Remotion's bundled ffprobe and ffmpeg, so nothing else needs installing.

  2. Save it in the Remotion project, run it on the recording and pass its JSON output back as measurements, with the src the film loads the recording from.

  3. The second call returns the crop, the beats and a of RecordingShot scenes to paste in.

The script reads the file and prints numbers. It writes nothing and sends nothing anywhere. It crops only the top chrome it can see a hard edge under; check a still before you trust it.

Input Schema

NameRequiredDescriptionDefault
fpsNoFrame rate of the film.
srcNoHow the film loads the recording, for example /recordings/take.mp4 under public/.
contextNoOptional. One sentence on WHY you are calling this and what the user asked for (e.g. 'adding nav icons for the fintech dashboard'). Used only for usage analytics; does not change the result.
maxBeatsNo
measurementsNoThe JSON the probe script printed. Omit to get the script.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior. The description adds valuable context: the first call returns a Node script that reads and prints numbers but 'writes nothing and sends nothing anywhere,' and it warns that cropping only works when a hard edge is visible. This goes beyond the annotations by detailing the script's safety profile and a key limitation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by a numbered workflow and a safety note. It is front-loaded and every sentence serves a purpose, though it is slightly longer than strictly necessary for the core message.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (two-call workflow, nested measurements object, no output schema), the description explains what each call returns (a Node script, then crop/beats/Series) and notes safety constraints. It is nearly complete, though it could mention error handling or what to do if the script fails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (80%), so the schema itself documents most parameters. The description adds some meaning (e.g., 'src the film loads the recording from', passing script output as 'measurements'), but it does not explain maxBeats, fps, or the context parameter, relying on the schema for those. Baseline 3 is appropriate given the high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Cut a screen recording of the product into beats for the recording-shot video component.' It also lists the outputs (browser chrome crop, source second, length, camera target), making the tool's purpose unambiguous. However, it does not differentiate from any sibling tools, which is required for a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a detailed procedural workflow (call with no measurements, run the script, pass JSON back), which implies when and how to use the tool. But it never explicitly states when to choose this tool versus alternatives (e.g., plan-video or render-video-frames) or any when-not conditions. Usage context is clear but decision guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.