mcpbeat Sign in

Render Model Comparison Grid Agent Skill

Render a 'model comparison grid' video from a config — a fal-style "same prompt, N contenders" showcase — a dark real-DOM stage where per beat a monospace prompt fades in centered, docks to a small top strip, then a labeled 2-4 panel grid (static images OR muted video clips, mixable per cell) staggers in and holds for comparison, plus a minimal end card — frame-stepped via Playwright (video cells are frame-seeked deterministically) and encoded with FFmpeg. Deterministic assembly, FREE (cell media comes from create-image-fal / create-video-fal, music from create-music-elevenlabs), text stays pixel-crisp. Use for the model-comparison-grid format.

5k tokens
context cost
the whole folder, loaded on every use
6
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
1086
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/gooseworks-ai/goose-skills --skill render-model-comparison-grid

What comes with it

18 322 bytes besides the instruction
scripts/build_composition.py
scripts/config.example.json
scripts/render_seekable_hyperframe.py
skill.meta.json
tests/smoke-test.md

The instruction itself

3 sections, as written by the author

render-model-comparison-grid

Render the 'model comparison grid' format from a config. The signature of this format is a

"Same prompt. N models." gauntlet: a dark stage where, per beat, a PROMPT eyebrow +

the (condensed) prompt fades in centered in monospace and holds readable ~0.8s, then

docks to a small top strip while a grid of 2-4 labeled panels staggers in (0.15s apart)

and holds for side-by-side comparison. A persistent model/variant label sits under each

panel; column order is identical on every beat. Ends on a minimal end card (headline +

column names only — no meta-stats line).

The grid is media-agnostic per cell: any cell is a static image or a **muted video

clip** (i2v outputs, screen recordings), mixable within one beat. Video cells loop during

the hold and are frame-seeked deterministically (the renderer awaits each seek), so the

render never depends on wall-clock playback timing.

The renderer itself is FREE/deterministic (Playwright frame-step + FFmpeg). The paid inputs

are separate capabilities: the cell images come from create-image-fal, the cell

clips from create-video-fal, and the music bed from create-music-elevenlabs.

Prompt text and labels are real DOM — never AI-rendered.

Default shape: 5 beats × 4.5s + 2.5s end card = 25.0s @ 1280×720/30fps, all configurable

from one config.json.

Run

build_composition.py --config config.json --output hyperframe.html ; render_seekable_hyperframe.py hyperframe.html master-silent.mp4 <duration> --fps 30 --width 1280 --height 720 — dark stage, staggered grid, deterministic, $0. The config schema is documented at the top of scripts/build_composition.py; scripts/config.example.json IS the shipped worked example (re-point the cell paths at your own media).

build_composition.py validates every cell path and the column count (2-4), infers each

cell's media type from its extension (.png/.jpg/.jpeg/.webp → image; .mp4/.mov/.webm/.m4v

→ muted video), and emits a self-contained HTML that exposes window.mediaReady() +

window.renderAt(t). render_seekable_hyperframe.py awaits both, so <video> cells seek

to the right frame before each screenshot — never a frozen first frame.

Contract

  • Deterministic + FREE (Playwright frame-step + FFmpeg); no paid calls in this capability.
  • Columns = panels-per-beat (2-4); every beat supplies exactly that many cells, same order.
  • The template recipe (DB) supplies the config; cell images/clips + music are separate

capabilities.

  • State is computed entirely in renderAt(t) — never CSS animation-delay/transitions

(Playwright scrubbing traps delayed animations in pre-state).

  • Video cells must decode in the render Chromium (H.264 yes, ProRes no — transcode .mov

ProRes to H.264 first). An images-only grid has no decode dependency.

Other skills for the same job

different authors, same section of the catalogue
Canvas Design
by anthropics
vendor ×13

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

1388k tokens
Algorithmic Art
by anthropics
vendor ×10

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

15k tokens scripts
Image Enhancer
by frostant
×6

Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.

635 tokens
Video Downloader
by CommandCodeAI
×4

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

671 tokens
Histolab
by christophacham
×3

Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.

18k tokens
Omero Integration
by christophacham
×3

Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.

32k tokens
Pydicom
by christophacham
×3

Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.

13k tokens scripts
Transformers
by christophacham
×3

This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.

13k tokens

How to use it

Copy the folder

Take gooseworks-ai/render-model-comparison-grid from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.