Generate consistent Frog and Toad course illustrations in the established square watercolor storybook style. Use when the user asks to generate images, 插画, 画图, sidecar illustrations, workbook icons, emotion cards, or courseware visuals for Frog and Toad chapters, especially from a chapter prompt markdown file such as "*画图.md".
Scanned 9/6/2026
Install to Claude Code
npx -y skills add CathyErer/frog-and-toad-studio --skill frog-and-toad-illustration-style --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Frog And Toad Illustration Style?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cathyerer-frog-and-toad-illustration-style)More formats (shields.io, HTML) on the badges page.
---
name: frog-and-toad-illustration-style
description: Generate consistent Frog and Toad course illustrations in the established square watercolor storybook style. Use when the user asks to generate images, 插画, 画图, sidecar illustrations, workbook icons, emotion cards, or courseware visuals for Frog and Toad chapters, especially from a chapter prompt markdown file such as "*画图.md".
---
# Frog and Toad Illustration Style
## Bundled Prompt Library
`prompts/` ships ready-made prompt lists for all 20 chapters, named in teaching order:
`01-tomorrow.md` … `05-alone.md` (Days with Frog and Toad), `06-down-the-hill.md` … `10-christmas-eve.md` (All Year), `11-a-list.md` … `15-the-dream.md` (Together), `16-spring.md` … `20-the-letter.md` (Are Friends).
When the user asks for a chapter's illustrations without supplying their own prompt file, use the matching bundled file as the source prompt list. A user-supplied `*画图.md` file always takes priority over the bundled copy.
Generating images requires the agent to have an image-generation capability (built-in tool, MCP image server, or API). If none is available, tell the user instead of silently skipping.
## Core Style
Use the built-in image generation workflow by default. Generate raster PNG illustrations, not SVGs.
Apply this style base to every prompt unless the user explicitly changes it:
```text
Square 1:1 children's storybook illustration. Clean white background with lots of empty space. Hand-drawn slightly wobbly black outlines filled with soft warm watercolor colors: olive green, warm brown, tan, cream, soft orange. Simple, uncluttered, friendly, gentle. No text, no words, no labels.
```
Keep the drawings classroom-friendly: readable action, clear facial expression, minimal props, and generous white space.
## Character Model
Keep the two characters visually consistent:
```text
FROG: a tall slim green frog with a friendly face, wearing a green jacket and white-and-green striped trousers.
TOAD: a short plump brown toad with a round belly and big expressive eyes, wearing a brown-and-tan suit jacket and trousers.
```
Use Frog for problem-pointing scenes unless the prompt says otherwise. Use Toad for solution-action scenes and emotion cards unless the prompt says otherwise.
## Workflow
1. Read the user's source prompt file completely.
2. Identify each requested image slot, usually headings like `A1`, `B5`, or `C3`.
3. Preserve the user's scene intent and action verb. Normalize each prompt into a structured image-generation prompt that includes:
- use case: `illustration-story`
- asset type: square storybook courseware illustration, workbook icon, or reusable emotion card
- primary request and scene
- subject, style, composition, palette, constraints, and avoid list
4. Generate one image per slot. Do not combine distinct slots into one generation request.
5. Save finished images into the relevant chapter folder under `illustrations/`.
6. Name files consistently:
```text
<chapter-id>-<slot>-<short-kebab-description>.png
```
Example:
```text
01-Tomorrow-B5-watered.png
```
7. If the source prompt asks to paste images into an Obsidian Sidecar, create or update that Sidecar with Obsidian embeds:
```text
![[relative/path/to/image.png]]
```
8. If a workbook small image is meant to reuse an existing slot, embed the same image again and label it as reused.
## Prompt Rules
Never put readable text inside the image unless the user explicitly asks for it. For quoted emotions such as `"Drat!"` or `"Now I feel better!"`, show the emotion visually and omit the words.
For Problem boards:
```text
Frog points with one finger at the messy or unfinished item. Frog looks mildly concerned. Keep the problem object visually obvious and remove unrelated room clutter.
```
For Solution boards:
```text
Toad performs the target action. Make the verb visible through pose, motion lines, before/after contrast, arrows, bubbles, dust clouds, water drops, or other small visual cues.
```
For emotion cards:
```text
Toad is the main focus. Use a simple portrait or full-body pose with one small symbolic cue, such as a red scribble cloud, sweat drop, rain cloud, lightning spark, or heart.
```
## Insert Illustrations into the Keyword-Map HTML
After saving the PNGs, inject them into the chapter's 关键词地图 HTML when it exists. This layout is LOCKED — copy the pattern exactly, never invent a new one:
1. Keep images as separate files in `illustrations/` next to the HTML and reference them with relative paths (`illustrations/<chapter-id>-<slot>-<short-kebab-description>.png`). Do NOT base64-embed.
2. Add these CSS rules once (skip if already present):
```css
.mini .ic img{width:100%;max-width:112px;aspect-ratio:1/1;object-fit:cover;mix-blend-mode:multiply;display:block;margin:0 auto;border-radius:10px;}
.feel-stop .emo img{width:100%;height:100%;object-fit:cover;border-radius:50%;mix-blend-mode:multiply;display:block;}
```
If the chapter's cards use a different grid class (e.g. `.mishap .m .ic`), add an equivalent rule with the same properties. `mix-blend-mode:multiply` is what melts the white image background into the cream paper — never omit it.
3. Placement by slot group:
- **A slots (Problem board)** → the matching problem card's icon `<div class="ic">`: replace the emoji with `<img src="illustrations/..." alt="...">`, keep the keyword text beside it.
- **B slots (Solution board)** → same pattern in the matching action card's `.ic`.
- **C slots (emotion cards)** → inside the matching `<div class="emo">` circle on the feelings line, replacing the emoji.
4. Give every `<img>` a short English `alt` describing the scene.
5. Bump the `<!-- contentVersion: ... -->` comment near the top of the HTML (e.g. `2026-07-20-illustrations-v2`) so stale cached views refresh.
6. Self-check before finishing: run an HTML tag-balance check (Python HTMLParser) and verify every `src` path exists on disk.
## Quality Check
Before finishing, verify:
- Every requested slot exists as one PNG.
- Each image is square and has no text.
- Frog remains tall/slim/green; Toad remains short/plump/brown.
- A scenes clearly show Frog pointing.
- B scenes clearly show Toad doing the action.
- C scenes clearly show the intended emotion.
- Files are saved inside the project, not only in the default generated-images folder.
- Sidecar embeds point to the saved project files.
Report the saved folder, the Sidecar path if created, and any reused image such as `B5` for workbook use.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!