mcpbeat

Media Processor

avibebuilder/media-processor

Specialized visual and multimedia processing tools. Use this skill whenever a task involves complex visual content — UI mockups, dense screenshots, design images, charts, artwork — where precise details like spacing, hex colors, font sizes, and component hierarchy need to be extracted accurately. Also use for: reviewing or auditing existing UI against designs, comparing screenshots for visual regressions, transcribing audio/video, extracting data from PDFs with complex layouts, and generating images. Trigger whenever the user wants to implement from a design, review or compare UI screenshots, analyze visual details precisely, describe artwork or aesthetic content, or process any media file (audio, video, PDF).

10k tokens
context cost
the whole folder, loaded on every use
9
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
111
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/avibebuilder/claude-prime --skill media-processor

What comes with it

34 794 bytes besides the instruction
.env.example
references/api-gotchas.md
references/media-optimization.md
references/model-routing.md
scripts/document_converter.py
scripts/gemini_batch_process.py
scripts/image_gen.py
scripts/requirements.txt

The instruction itself

7 sections, as written by the author

Media Processor

Specialized tools for extracting precise visual details (exact colors, spacing, hierarchy), processing audio/video, and generating images.

Tools

All scripts live in scripts/ relative to this skill's directory. They auto-select the best model per task and handle retries, large file uploads, and error reporting.

| Script | Purpose |

|--------|---------|

| gemini_batch_process.py | Analyze images, transcribe audio/video, extract data from PDFs |

| image_gen.py | Generate and edit images (paid plan required) |

| document_converter.py | Convert PDF, DOCX, XLSX, PPTX to Markdown; extract page ranges and images |

Requires GEMINI_API_KEY in environment or .env in this skill's directory. Run any script with --help for setup details and available parameters.

Quick start — image analysis:

python <skill-dir>/scripts/gemini_batch_process.py \
  --files <image-path> \
  --task analyze \
  --prompt "<tailored prompt>" \
  --output <output-path>.md

Prompt Quality Matters

The prompt sent to the processing model is the single biggest factor in output quality. Tailor prompts to what the task actually needs — generic prompts produce generic results.

What makes a good analysis prompt:

  • Ask for the specific details the task requires (hex colors, spacing in px, component hierarchy) rather than "describe this image"
  • Structure the ask as a numbered list — the model mirrors the structure back, making output easy to parse
  • Name the desired output format ("as a markdown table", "as JSON", "as a component tree")
  • Include implementation context when relevant ("for React with Tailwind") so the model emphasizes useful details

Example prompt patterns:

UI implementation: *"Extract component hierarchy, layout type, exact hex colors, typography (sizes/weights), spacing in px, interactive states, icons and decorative elements"*

Chart data: *"Extract chart type, axes with units, every data point with exact values, legend entries with colors. Output as a markdown table"*

Design review: *"Compare this screenshot against the design. Flag differences in spacing, colors, alignment, missing elements, and visual inconsistencies. Note exact values for each discrepancy"*

Pasted Images

When a user pastes images in chat, they are auto-saved to:

$CLAUDE_DIR/image-cache/<current_session_id>/<image_number>.png

Use ls "$CLAUDE_DIR/image-cache/" to discover the session ID, then list its contents to find available images.

Model Overrides

Scripts auto-select models per task (see model-routing.md). Override with --model <model-id> when the default isn't enough — for example, --model gemini-3.1-pro-preview for complex visual analysis where the pro model catches more detail than flash.

References

| Reference | When to read |

|-----------|-------------|

| api-gotchas.md | Before using image generation, video processing, or raw API calls — prevents common failures |

| model-routing.md | When choosing or overriding the default model for a task |

| media-optimization.md | When files are too large to upload — ffmpeg compression recipes |

Gotchas

  • Rate limits — scripts retry up to 3 times with backoff. If still rate-limited after retries, stop and ask the user to check their API key quota or provide a new key.
  • Model IDs change — Google frequently rotates preview model IDs. If you get a 404, the model was likely superseded — check the models page for current IDs.
  • Safety filters — the API may refuse some content. Report clearly to the user rather than retrying.
  • Large files auto-upload — files >20MB automatically use the File API (2GB max, 48h retention). No action needed.

How to use it

Copy the folder

Take avibebuilder/media-processor 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.