feat(image-gen): add image-artist skill for generation workflow

This commit is contained in:
m4
2026-07-24 07:26:23 +08:00
parent 384bc13a5b
commit a57c52c676
+62
View File
@@ -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`.