Skip to content
Back to skills

Image Generation Core

ASecurity

Base rules for generating any channel image — thumbnails, banner, profile picture, graphics. Triggered by "generate an image", "make me a thumbnail", "create the banner", or before any other skill in the visual branch. In Spanish, "genera una imagen", "hazme una miniatura", "créame el banner", o antes de cualquier otra skill de la rama visual.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 7, 2026
ai-agentspythongo

Works with

  • mcp

Security analysis

A100/100

Scanned October 7, 2026

npx -y skills add lorena-bordonaba-pau/youtube-agent --skill image-generation-core --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Image Generation Core?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Image Generation Core
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lorena-bordonaba-pau-image-generation-core/badge)](https://www.skillsdirectory.com/skills/lorena-bordonaba-pau-image-generation-core)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: image-generation-core
description: Base rules for generating any channel image — thumbnails, banner, profile picture, graphics. Triggered by "generate an image", "make me a thumbnail", "create the banner", or before any other skill in the visual branch. In Spanish, "genera una imagen", "hazme una miniatura", "créame el banner", o antes de cualquier otra skill de la rama visual.
---

# Image generation: base rules

## WHEN

Any generation. The other visual skills depend on this one: if
`generate_image.py` is going to be called, these rules apply.

To **edit** an image that already exists, this is not the skill: that is
`image-refinement`. To change only size or weight, neither of them:
`export_image.py`, which is local and free.

## EXECUTION ORDER

1. **Pick the format before the prompt**
   `--type` decides which technical requirements get prepended to the prompt.

   | `--type` | For what | Pixels |
   |---|---|---|
   | `thumbnail` | Video thumbnail | 1280x720 (16:9) |
   | `profile_image` | Profile picture | 800x800 |
   | `banner` | Channel banner | 2560x1440 |
   | `general` | A graphic, an illustration, anything else | 1920x1080 |

   There is **no separate tool for video thumbnails** here: it is
   `generate_image.py --type thumbnail`. Do not go looking for a
   `generate_thumbnail`.

   **Thumbnails are always 16:9** and the tool validates the ratio before
   calling the provider. If your channel publishes vertical, restore the
   `vertical_thumbnail` format from `_retired_formats` in
   `config/image_providers.json`, and check `memory/rules.md` first in case a
   restriction forbids it.

2. **Label every reference with its role — mandatory**
   `--ref SOURCE:ROLE`, with `ROLE` in `likeness`, `style`, `composition`,
   `packaging`. The source can be a local path, a URL or a `video_id`.

   The tool **rejects a reference with no role** on purpose: the role decides
   the order they are handed to the model and whether the facial identity
   clause applies. Guessing it ruins the face.

   The tool imposes the order: people first, style next, composition last.
   Three references maximum; more dilute the result.

3. **If a person appears, load `likeness-preservation` before generating.**
   A badly resolved face is not fixed by iterating the prompt.

4. **Dry run before spending**
   `python3 tools/generate_image.py --prompt "..." --type banner --dry-run --md`
   Returns the composed final prompt without calling the provider. If the final
   prompt does not say what you meant, fix it here rather than after paying.

5. **Generate**
   `python3 tools/generate_image.py --prompt "..." --type thumbnail --ref photo.jpg:likeness`

6. **Look at the result.** Open the returned file with the image reading tool.
   Delivering an image you have not seen is the easiest mistake to make in this
   branch.

7. **Adjust dimensions with `export_image.py`, never by regenerating.**
   `python3 tools/export_image.py --image PATH --type thumbnail`
   It is deterministic, local and costs no credits. YouTube rejects thumbnails
   over 2 MB and this brings them under without repeating the generation.

## PROMPT RULES

- **No text that was not asked for.** The tool already requests this; do not
  contradict it.
- **Fill the frame.** No borders, no frames, no white margin.
- **Large subject**: between 50% and 70% of the frame.
- **Rule of thirds**: the focal point on an intersection, not dead centre.
- **Other people's watermarks and logos out.** The tool asks for this in every
  prompt.
- **When in doubt, no face.** Objects, text, graphics or abstract before an
  invented generic person.

## PROVIDER

No skill names one. It lives in `config/image_providers.json`:

- `provider: "fal"` — calls fal.ai over REST. Needs `FAL_KEY` in the
  environment (put it in `.env`).
- `provider: "mcp"` — the tool **does not generate**: it returns the exact MCP
  call for the agent to run, because a script cannot invoke an MCP tool from
  the session.

Model slots left at `null` in the config make the tool fail with instructions.
**That is deliberate**: an invented slug burns credits and returns 404, or
generates with a different model without saying so.

## SOURCES

`generate_image` returns `source: generated`. It is neither data nor a
measurement: **it says nothing about how it will perform**. When delivering the
image, name the model that produced it. `export_image` is `derived`.

## OUTPUT

1. The file path, after opening it and checking it matches the request.
2. The model that generated it, named explicitly (`source: generated`).
3. The final prompt, when it matters for the next iteration.
4. One concrete adjustment if something is off — not a numbered menu.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.