Frog and toad illustration style
Skill CathyErer/frog-and-toad-studio/skills/frog-and-toad-illustration-style
Claude & Codex skill that generates per-chapter teaching materials for Arnold Lobel's Frog and Toad series — interactive keyword-map HTML, student workbook & answer key (I Can Read L2, ESL Grade 1)
npx -y skills add CathyErer/frog-and-toad-studio --skill frog-and-toad-illustration-styleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 19 days oldThe repository was created 19 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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".
SKILL.md
6.4 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
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:
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:
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
- Read the user's source prompt file completely.
- Identify each requested image slot, usually headings like
A1,B5, orC3. - 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
- use case:
- Generate one image per slot. Do not combine distinct slots into one generation request.
- Save finished images into the relevant chapter folder under
illustrations/. - Name files consistently:
<chapter-id>-<slot>-<short-kebab-description>.png
Example:
01-Tomorrow-B5-watered.png
- If the source prompt asks to paste images into an Obsidian Sidecar, create or update that Sidecar with Obsidian embeds:
![[relative/path/to/image.png]]
- 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:
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:
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:
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:
- 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. - Add these CSS rules once (skip if already present):
.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.
- 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.
- A slots (Problem board) → the matching problem card's icon
- Give every
<img>a short Englishaltdescribing the scene. - Bump the
<!-- contentVersion: ... -->comment near the top of the HTML (e.g.2026-07-20-illustrations-v2) so stale cached views refresh. - Self-check before finishing: run an HTML tag-balance check (Python HTMLParser) and verify every
srcpath 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.
What ships with it: 21 files
133.8 KB alongside SKILL.md
agents/
- openai.yaml287 B
prompts/
- 01-tomorrow.md9.3 KB
- 02-the-kite.md3.9 KB
- 03-shivers.md5.3 KB
- 04-the-hat.md7.9 KB
- 05-alone.md7.2 KB
- 06-down-the-hill.md6.1 KB
- 07-the-corner.md7.6 KB
- 08-ice-cream.md6.4 KB
- 09-the-surprise.md5.0 KB
- 10-christmas-eve.md5.4 KB
- 11-a-list.md4.9 KB
- 12-the-garden.md9.7 KB
- 13-cookies.md6.8 KB
- 14-dragons-and-giants.md8.1 KB
- 15-the-dream.md5.5 KB
- 16-spring.md6.7 KB
- 17-the-story.md6.9 KB
- 18-a-lost-button.md7.4 KB
- 19-a-swim.md7.2 KB
- 20-the-letter.md6.4 KB