feat(image-gen): add image-artist skill for generation workflow
This commit is contained in:
@@ -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`.
|
||||
Reference in New Issue
Block a user