$npx -y skills add avibebuilder/claude-prime --skill media-processorSpecialized 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 extr
| 1 | # Media Processor |
| 2 | |
| 3 | Specialized tools for extracting precise visual details (exact colors, spacing, hierarchy), processing audio/video, and generating images. |
| 4 | |
| 5 | ## Tools |
| 6 | |
| 7 | 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. |
| 8 | |
| 9 | | Script | Purpose | |
| 10 | |--------|---------| |
| 11 | | `gemini_batch_process.py` | Analyze images, transcribe audio/video, extract data from PDFs | |
| 12 | | `image_gen.py` | Generate and edit images (paid plan required) | |
| 13 | | `document_converter.py` | Convert PDF, DOCX, XLSX, PPTX to Markdown; extract page ranges and images | |
| 14 | |
| 15 | Requires `GEMINI_API_KEY` in environment or `.env` in this skill's directory. Run any script with `--help` for setup details and available parameters. |
| 16 | |
| 17 | **Quick start — image analysis:** |
| 18 | ```bash |
| 19 | python <skill-dir>/scripts/gemini_batch_process.py \ |
| 20 | --files <image-path> \ |
| 21 | --task analyze \ |
| 22 | --prompt "<tailored prompt>" \ |
| 23 | --output <output-path>.md |
| 24 | ``` |
| 25 | |
| 26 | ## Prompt Quality Matters |
| 27 | |
| 28 | 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. |
| 29 | |
| 30 | **What makes a good analysis prompt:** |
| 31 | - Ask for the specific details the task requires (hex colors, spacing in px, component hierarchy) rather than "describe this image" |
| 32 | - Structure the ask as a numbered list — the model mirrors the structure back, making output easy to parse |
| 33 | - Name the desired output format ("as a markdown table", "as JSON", "as a component tree") |
| 34 | - Include implementation context when relevant ("for React with Tailwind") so the model emphasizes useful details |
| 35 | |
| 36 | **Example prompt patterns:** |
| 37 | |
| 38 | UI implementation: *"Extract component hierarchy, layout type, exact hex colors, typography (sizes/weights), spacing in px, interactive states, icons and decorative elements"* |
| 39 | |
| 40 | Chart data: *"Extract chart type, axes with units, every data point with exact values, legend entries with colors. Output as a markdown table"* |
| 41 | |
| 42 | 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"* |
| 43 | |
| 44 | ## Pasted Images |
| 45 | |
| 46 | When a user pastes images in chat, they are auto-saved to: |
| 47 | ``` |
| 48 | $CLAUDE_DIR/image-cache/<current_session_id>/<image_number>.png |
| 49 | ``` |
| 50 | Use `ls "$CLAUDE_DIR/image-cache/"` to discover the session ID, then list its contents to find available images. |
| 51 | |
| 52 | ## Model Overrides |
| 53 | |
| 54 | Scripts auto-select models per task (see [model-routing.md](./references/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. |
| 55 | |
| 56 | ## References |
| 57 | |
| 58 | | Reference | When to read | |
| 59 | |-----------|-------------| |
| 60 | | [api-gotchas.md](./references/api-gotchas.md) | Before using image generation, video processing, or raw API calls — prevents common failures | |
| 61 | | [model-routing.md](./references/model-routing.md) | When choosing or overriding the default model for a task | |
| 62 | | [media-optimization.md](./references/media-optimization.md) | When files are too large to upload — ffmpeg compression recipes | |
| 63 | |
| 64 | ## Gotchas |
| 65 | |
| 66 | - **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. |
| 67 | - **Model IDs change** — Google frequently rotates preview model IDs. If you get a 404, the model was likely superseded — check the [models page](https://ai.google.dev/gemini-api/docs/models) for current IDs. |
| 68 | - **Safety filters** — the API may refuse some content. Report clearly to the user rather than retrying. |
| 69 | - **Large files auto-upload** — files >20MB automatically use the File API (2GB max, 48h retention). No action needed. |