← ClaudeAtlas

image-slotslisted

Fill the empty image slots of an existing Google Slides deck with AI-generated pictures: find the frames the template reserves for a picture, generate one composed for each frame's shape, and place it so it fills the frame. Runs on any accessible deck URL, including decks slide-forge did not generate. Use for: 表紙に絵を入れて, 章扉の画像枠を埋めて, 空いている画像枠に画像を生成, fill the image placeholders. Not: decks still being generated (put aiImage in the spec instead); shape-drawn diagrams; replacing pictures already in place; verification (slide-qa).
wfukatsu/slide-forge · ★ 2 · Testing & QA · score 66
Install: claude install-skill wfukatsu/slide-forge
*[日本語](SKILL.ja.md)* # Fill Image Slots on an Existing Deck Working directory: the slide-forge root — `${CLAUDE_PLUGIN_ROOT}` when running from an installed plugin, `/path/to/slide-forge` on a local clone. ## Important - **Prefer the spec path when the deck is still being generated.** If the deck comes from a slide-forge deck spec, add an `aiImage` figure with `x`/`y`/`w`/`h` omitted and regenerate — `build_deck.py` puts it in the slot. That keeps the spec the source of truth, which is the repo's standing rule (see slide-qa: *fixes happen in the source, not the artifact*). **This skill is for decks that have no spec behind them**, or for adding imagery to a deck that already exists and must keep its URL. - **This writes to a live deck.** Take a version snapshot first and report the revision ID: `.venv/bin/python scripts/snapshot_version.py <URL>` - **Always `--dry-run` first** and show the user which slides and frames will be filled, with the prompt each one will use, before generating anything. - **Slots that already hold a picture are never touched.** Replacing an existing picture is out of scope — delete it by hand first if that is the intent. - **`GEMINI_API_KEY` is required** and the image model has **zero free-tier quota**; the key must belong to a billing-enabled project (`references/images.md`). - **Image generation can be switched off for the whole toolkit** (`imageGeneration: false` in `config/settings.json`). Check it before proposin