Source and generate images for slides with Assets-owned style grounding and provenance. Use when a slide needs a new visual, logo, or approved media.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add BuilderIO/agent-native --skill slide-images --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Slide Images?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/builderio-slide-images)More formats (shields.io, HTML) on the badges page.
---
name: slide-images
description: >-
Source and generate images for slides with Assets-owned style grounding and
provenance. Use when a slide needs a new visual, logo, or approved media.
---
# Slide Images
Images for slides are generated or sourced through the Slides actions and the
Assets app. The runtime agent must use the Assets-grounded path described below;
the local CLI is only a developer entry point.
## Scripts
| Script | Purpose | Example |
|--------|---------|---------|
| `generate-image` | Local helper for the Assets-grounded generation action | `pnpm action generate-image --prompt "hero image" --count 3` |
| `search-images` | Search Google Images via the configured provider | `pnpm action search-images --q "Acme logo transparent" --count 5` |
| `search-logos` | Resolve company domains and canonical logo URLs | `pnpm action search-logos --q "Acme"` |
| `image-gen-status` | Check configured image providers | `pnpm action image-gen-status` |
## Image Generation Flow
For agent or editor generation, call `generate-image-api`, not a provider or
legacy image action directly:
1. Resolve the deck's active design system, its `imageStyle`, the current slide
role, and any approved Creative Context references.
2. Call `generate-image-api` with the prompt plus bounded deck and slide
context. Assets chooses the library, preset, style anchors, model, and
fallback behavior while preserving provenance.
3. Show each returned variation as an inline rendered preview using markdown
image syntax (``), not a plain link (`[Variation 1](url)`)
— the chat renders `![]()` as an actual image but `[]()` as a bare link.
4. Preserve the returned `assetId`, `runId`, `previewUrl`, and `downloadUrl`.
5. For direct insertion, call `generate-image-api` with `insertIntoSlide: true`,
`deckId`, and `slideId`. Only say the image was added when it returns
`inserted: true`; a preview URL is not proof of a slide write.
6. For preview-only variations, place the chosen URL with `update-slide`, then
re-read the deck with `get-deck` using `compact=false` and confirm the
persisted HTML contains the image source before reporting success.
7. For feedback, refine the same asset rather than starting an unrelated run.
### Context to pass
The image brief should include the visual role, subject, composition/crop,
format, must-preserve content, and exclusions. Pass `deckId`, `slideId`, and
`slideContent` so Assets can ground the result in the actual slide. Do not use
generic style references to override a linked design system or preset.
`search-images` and `search-logos` remain bounded lookup tools for finding
existing media. They are not a substitute for the active design system or a
style-generation brief.
## Logo Lookup
Two options for company logos:
**Option 1: canonical logo search** (uses Logo.dev search when configured and a bounded domain fallback otherwise):
```bash
pnpm action search-logos --q "Acme"
```
Use a returned `logoUrl` directly. Do not call a second logo-provider action for
each result.
**Option 2: Google Image Search** (fallback):
```bash
pnpm action search-images --q "Acme logo transparent" --count 5
```
## Important Rules
- Use the active design system, library, preset, and approved style anchors for
visual consistency; do not invent a second style language in the prompt
- Use `.fmd-img-placeholder` divs in slides before real images are generated
- Use one canonical provider action per conceptual search; do not loop legacy
provider scripts or manually guess provider URLs
- Never claim image insertion from a generation response alone; require the
verified `inserted: true` response, or an `update-slide` plus `get-deck`
`compact=false` verification for preview-only placement
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!