agentleFS
flurdyflurdy/agent-skills/skills/image-studio/SKILL.md

image-studio

Skill9 starsChanged 3 months agoMITView on GitHub

Generate, compare, refine, and export image assets from a single creative brief. Recraft-first; uses other configured image providers only with explicit user approval.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 12 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never infer that OpenAI, Google, or another provider is configured, available, or free.

    line 28
  2. Distinctive:

    When a provider reports exhausted credits or quota, stop and report it.

    line 31
  3. Distinctive:

    Keep one shared brief across providers.

    line 32
  4. Distinctive:

    Do not claim outputs are equivalent.

    line 33
  5. Distinctive:

    Do not use third-party logos, characters, or living-artist imitation unless the user confirms they have the necessary rights.

    line 34
  6. Distinctive:

    Do not alter source code or commit assets unless the user explicitly asks.

    line 35
  7. Distinctive:

    Ask for confirmation if the user has not already specified the providers and variant count.

    line 60
  8. Distinctive:

    Use an adapter only when its tools are configured.

    line 65
  9. Distinctive:

    If an adapter cannot meet a hard requirement, exclude it from the run and explain why.

    line 74
  10. Very specific:

    Use recraft_suggest_model when model, speed, quality, or style compatibility is unclear.

    line 78
  11. Distinctive:

    After the user chooses a candidate, use only the operation suited to the requested outcome:

    line 92
  12. Very specific:

    Use predictable names: lowercase kebab-case, purpose first (for example, environment-leaf-icon.svg).

    line 119
  13. Very specific:

    Verify the downloaded file exists and inspect its type with file.

    line 120
  14. Distinctive:

    If a requested format cannot be produced, say so and offer the available format or a post-processing option.

    line 123
  15. Distinctive:

    After each run, report:

    line 127

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Image Studio

Generate project-ready icons, illustrations, backgrounds, and raster imagery from one creative brief. Use Recraft when it is configured. Other image providers are optional adapters, not a requirement. Claude Code uses the Sonnet hint for this workflow; Pi routes by model-tier. Image-provider models are selected separately.

Usage

/image-studio "A friendly green leaf icon for an environmental dashboard"
/image-studio icon "A green leaf" --vector
/image-studio illustration "A product onboarding scene" --providers recraft,openai --variants 2
/image-studio refine <image-url> "use a dark background and retain the subject"

Guardrails

  • Do not generate or call a provider until the user has confirmed the provider set and number of variants for this run. Treat provider billing as unknown unless the runtime proves otherwise. An explicit current-run command such as --providers recraft --variants 2 is confirmation; otherwise ask immediately before generation.
  • Never infer that OpenAI, Google, or another provider is configured, available, or free. Use only tools actually available in the current runtime, and do not perform hidden retries or extra generations.
  • Billing routes differ per provider; see providers. The Recraft hosted MCP server spends Studio subscription credits, not API Units. A tool that needs no API key is still subscription-billed and usage-limited.
  • Refinements (upscale, vectorize, background, variations, edits) are billed operations. Run one only when the user asks for it in this run, and name the operation before calling it; a confirmed generation does not cover later refinements.
  • When a provider reports exhausted credits or quota, stop and report it. Never fall back to another provider, an API-key route, or a top-up without fresh confirmation.
  • Keep one shared brief across providers. State unavoidable provider-specific changes before generating.
  • Do not claim outputs are equivalent. Compare them against the brief, not against each other as a technical benchmark.
  • Do not use third-party logos, characters, or living-artist imitation unless the user confirms they have the necessary rights. Flag uncertainty rather than making a legal claim.
  • Do not alter source code or commit assets unless the user explicitly asks. Do not overwrite an existing asset without confirmation.

1. Build the creative brief

Extract or ask for the minimum missing details:

FieldRequired guidance
AssetIcon, logo, illustration, background, or photorealistic image
Subject and compositionMain subject, must-have and must-avoid details
DestinationProduct surface and intended path, if known
FormatSVG/vector for scalable icons; PNG/WebP/JPEG for raster assets
Size and ratioPixel dimensions or ratio; request target sizes for raster
TransparencyRequired, forbidden, or irrelevant
StyleReference, palette, lighting, line weight, and accessibility constraints
VariantsProvider set and variants per provider

For a vague brief, ask one grouped question before generation. Default to one Recraft variant only after the user explicitly confirms it. Recommend vector output for simple UI icons and raster output for photographic or textured work.

Convert the brief into a concise provider-neutral prompt. Preserve negative constraints explicitly, for example: no text, no border, transparent background.

2. Select providers and generation plan

  1. Use ToolSearch to discover image-capable MCP tools in the current runtime when they are not already loaded. A missing search result means the provider is unavailable for this run. A runtime-native image tool (for example Codex's built-in one) counts as available only when it is actually exposed in this run; ToolSearch does not find it.
  2. Propose the smallest useful run: provider names, model where relevant, variants per provider, requested ratio, style, and total expected images.
  3. Ask for confirmation if the user has not already specified the providers and variant count.
  4. Record this run's metadata in the response: brief/prompt, provider, model, style, requested ratio, and timestamp. Do not expose credentials or opaque account data.

Provider adapter contract

Use an adapter only when its tools are configured. Each adapter must support, or clearly report it cannot support:

  • text-to-image generation;
  • requested ratio or dimensions;
  • format/transparency capability;
  • model/style selection;
  • output URL or downloadable output;
  • provider and model metadata.

If an adapter cannot meet a hard requirement, exclude it from the run and explain why. Do not invent a common API or add provider configuration while using this skill. Adapter decisions per provider are recorded in providers.

3. Recraft adapter

Use recraft_suggest_model when model, speed, quality, or style compatibility is unclear. Include the asset type, desired output, constraints, and quality/cost trade-off in its request.

Use recraft_generate_image with:

  • prompt: the normalized brief;
  • image_size: requested ratio or compatible dimensions;
  • n: the confirmed count, from 1 to 6;
  • model: the suggested model or the user-selected model;
  • input_style: vector_illustration for scalable illustrations/logos, icon only when its compatible model is selected, or a raster style such as realistic_image/digital_illustration when appropriate.

input_style and input_style_id are mutually exclusive. Only use a custom input_style_id when the user names or selects an available style. Recraft returns output URLs and previews; use recraft_get_image_viewer when visual comparison is needed.

Recraft refinement

After the user chooses a candidate, use only the operation suited to the requested outcome:

NeedRecraft tool
Remove a backgroundrecraft_remove_background
Convert a raster to vectorrecraft_vectorize_image
Preserve detail while enlargingrecraft_crisp_upscale
Creatively enhance while enlargingrecraft_creative_upscale
Produce related alternativesrecraft_variate_image
Change/edit a supplied imagerecraft_image_to_image, recraft_inpaint_image, or region/background tools

These operations require a publicly accessible HTTPS image URL. For a local input, obtain an upload URL with recraft_request_upload_url, upload it as directed, then pass the resulting image URL. Re-check transparency and output type after any transformation.

4. Compare and select

Present variants in a compact table, grouped by provider:

IDProvider / modelFormat or typeRatioNotes
R1Recraft / recraftv4_1vector illustration1:1Meets brief; transparent background requested

Use the viewer or supplied previews for visual inspection. State concrete differences against the brief: composition, readability at target size, transparency, palette, and unwanted artifacts. Ask the user to select an ID, request a refinement, or reject the batch. Never download or place every candidate in the repository by default.

5. Export the selected asset

  1. Confirm the candidate, destination directory, filename, and final format. Inspect the project for established asset conventions before proposing a path.
  2. Download only the selected output using its returned URL. Create the destination directory only after confirmation.
  3. Use predictable names: lowercase kebab-case, purpose first (for example, environment-leaf-icon.svg). Retain the provider's original extension unless the provider explicitly returns a compatible requested format.
  4. Verify the downloaded file exists and inspect its type with file. For raster assets, report actual dimensions when available. For vector assets, confirm it is SVG before claiming it is scalable.
  5. Report provenance: final file path, source candidate ID, provider/model, prompt, style, and transformations. Store a sidecar metadata file only when the user asks or the repository has an established convention.

If a requested format cannot be produced, say so and offer the available format or a post-processing option; do not relabel file extensions.

Report

After each run, report:

  • the confirmed generation plan and providers used;
  • generated candidate IDs and their output URLs;
  • which hard requirements each candidate met or missed;
  • selected asset path and provenance, if exported;
  • any unavailable provider or capability and why.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.