diff --git a/EvoScientist/skills/image-artist/SKILL.md b/EvoScientist/skills/image-artist/SKILL.md new file mode 100644 index 0000000..9c8ff28 --- /dev/null +++ b/EvoScientist/skills/image-artist/SKILL.md @@ -0,0 +1,62 @@ +--- +name: image-artist +description: Generate or edit images with the configured dedicated image models. Use when the user asks to draw, illustrate, create a cover/diagram/figure, or modify an existing workspace image. +--- + +# Image Artist + +Workflow for producing AI-generated images. Execution happens through the +`generate_image` and `edit_image` tools — this skill tells you when and how +to call them. + +## When to Use + +- The user asks to create, draw, or generate an image, cover, illustration, + poster, or diagram from a description → `generate_image`. +- The user provides an existing image (in `artifacts/` or another workspace + path) and asks to modify, restyle, or adapt it → `edit_image`. +- The user asks for a chart/plot of **data** → do NOT use this skill; compute + the plot with code (matplotlib) instead. + +## Prompt Construction + +Write the `prompt` as a single dense paragraph covering: + +1. **Subject** — what is in the image, concretely. +2. **Style** — e.g. flat vector, watercolor, photorealistic, line art. +3. **Composition** — layout, perspective, framing. +4. **Palette/lighting** — only when the user cares. +5. **Negative constraints** — what to avoid (text artifacts, extra limbs), + phrased as "no ..." at the end. + +Do not pad with fluff ("masterpiece", "best quality"); describe the image. + +## Parameters + +- `size`: "1024x1024" (default), "1536x1024" (landscape), "1024x1536" + (portrait). Pick from the content: covers/posters often landscape or portrait. +- `model`: omit to use the configured default; the tool description lists the + available image models. Only pass a name from that list. +- `output_path`: suggest a meaningful name like `artifacts/topic_cover.png`; + must start with `artifacts/` and end with `.png`. +- `n`: number of variations (default 1). For "give me a few options" use 2-4. + +## After the Call + +- The tool returns JSON: `{"ok": true, "paths": [...]}` or + `{"ok": false, "error": "..."}`. +- On success, reference the saved paths in your reply. +- On failure, read the error: if it lists available models, retry with one of + them or explain the configuration gap to the user. If the provider rejected + the prompt, rewrite it more concretely and retry once. + +## Variations + +For "make variations", call `generate_image` once with `n>1`, or call +`edit_image` on a previously generated image with a modified prompt. + +## Security Rules + +- Never read, print, or quote the `image_generation` section of config.yaml + or any API key. The tools handle credentials internally. +- Never pass file paths outside the workspace as `image_path`/`mask_path`.