
Rainy Day Book
Give an age and a theme. Get a printable activity book with real mazes, word searches and answers, in hand-inked black and white. Crayon marks on the poster were added to show the book in use.
Install
Install the "Rainy Day Book" skill into ~/.claude/skills/rainy-day-book. Download each file and save it under that folder: https://skilllift.pages.dev/packs/rainy-day-book/SKILL.md → SKILL.md https://skilllift.pages.dev/packs/rainy-day-book/NOTICE.txt → NOTICE.txt https://skilllift.pages.dev/packs/rainy-day-book/references/style.md → references/style.md https://skilllift.pages.dev/packs/rainy-day-book/assets/engine/ink.mjs → assets/engine/ink.mjs https://skilllift.pages.dev/packs/rainy-day-book/assets/engine/art.mjs → assets/engine/art.mjs https://skilllift.pages.dev/packs/rainy-day-book/assets/engine/puzzles.mjs → assets/engine/puzzles.mjs https://skilllift.pages.dev/packs/rainy-day-book/assets/engine/letters.mjs → assets/engine/letters.mjs https://skilllift.pages.dev/packs/rainy-day-book/assets/engine/book.mjs → assets/engine/book.mjs https://skilllift.pages.dev/packs/rainy-day-book/assets/data/themes.json → assets/data/themes.json https://skilllift.pages.dev/packs/rainy-day-book/assets/data/hanzi-bands.json → assets/data/hanzi-bands.json https://skilllift.pages.dev/packs/rainy-day-book/assets/data/hanzi.json → assets/data/hanzi.json https://skilllift.pages.dev/packs/rainy-day-book/assets/data/hanzi-LICENSE.txt → assets/data/hanzi-LICENSE.txt https://skilllift.pages.dev/packs/rainy-day-book/assets/themes/puddle-walk.json → assets/themes/puddle-walk.json https://skilllift.pages.dev/packs/rainy-day-book/assets/fonts/PlaypenSans.woff2 → assets/fonts/PlaypenSans.woff2 https://skilllift.pages.dev/packs/rainy-day-book/assets/fonts/Grandstander.woff2 → assets/fonts/Grandstander.woff2 https://skilllift.pages.dev/packs/rainy-day-book/assets/fonts/Andika.woff2 → assets/fonts/Andika.woff2 https://skilllift.pages.dev/packs/rainy-day-book/assets/fonts/LXGWWenKai-subset.woff2 → assets/fonts/LXGWWenKai-subset.woff2 https://skilllift.pages.dev/packs/rainy-day-book/assets/fonts/LICENSES.txt → assets/fonts/LICENSES.txt https://skilllift.pages.dev/packs/rainy-day-book/scripts/build.mjs → scripts/build.mjs https://skilllift.pages.dev/packs/rainy-day-book/scripts/check.mjs → scripts/check.mjs https://skilllift.pages.dev/packs/rainy-day-book/scripts/print-test.mjs → scripts/print-test.mjs https://skilllift.pages.dev/packs/rainy-day-book/scripts/stress.mjs → scripts/stress.mjs https://skilllift.pages.dev/packs/rainy-day-book/scripts/preview.mjs → scripts/preview.mjs Then read SKILL.md, tell me what it does, and remind me to start a new session.
Unpack it into ~/.claude/skills
Same skill, different brief
The left is the preview. The right was made by a separate agent from a different brief, using only the installed skill and without seeing the preview.
One test run on a fictional brief. Letterforms can differ on systems without the same fonts.
Makes a real, printable children's activity book as a PDF from an age and a theme. 8 to 16 pages of mazes that are proven solvable, word searches, spot-the-pattern, join-the-dots, tracing and counting, drawn in ink-saving hand-inked black and white, with answer pages. English or Chinese (田字格描红 with stroke order and pinyin). A4 or US Letter. Use when a parent, carer or teacher wants a worksheet pack, activity book, rainy-day pack or holiday booklet for a child aged 3 to 10.
What it must pass before delivery
check.mjsprinted OKprint-test.mjsprinted OK- I opened every page image and each drawing is recognisable
- Name on the cover is spelled as they gave it, first name only
- Paper size is right for where they live
- For a theme without ready art, I told them it is the plainer kind
- Any new words and facts are real and true
- Chinese book: each traced character looks right and its stroke-order strip reads in order
- The message to them has no technical words and says how to print
Read the full SKILL.md
--- name: rainy-day-book description: Makes a real, printable children's activity book as a PDF from an age and a theme. 8 to 16 pages of mazes that are proven solvable, word searches, spot-the-pattern, join-the-dots, tracing and counting, drawn in ink-saving hand-inked black and white, with answer pages. English or Chinese (田字格描红 with stroke order and pinyin). A4 or US Letter. Use when a parent, carer or teacher wants a worksheet pack, activity book, rainy-day pack or holiday booklet for a child aged 3 to 10. version: 1.1.0 --- # Rainy Day Book The look and the puzzles live in code. Your job is to ask a few plain questions, run one command, look at the pages and hand over a PDF. Never draw the book from scratch and never write puzzles by hand: the generators are what makes the answers right. ## For someone who just wants the book Most people asking for this have never used a command line, and they should not have to. Do all the setup yourself. Never mention Node, Playwright, JSON, HTML or scripts to them. They receive a PDF and two lines on how to print it. Ask once, in one short message, in everyday words: 1. How old is the child? (Or the class, for a teacher.) 2. What are they into? Offer the ready themes: deep-sea animals, the garden, outer space. Any other theme is possible, but say what they get (see "Which themes have ready art"). 3. Should the cover have a first name on it? (Optional. First name only.) 4. English or Chinese? 5. How many pages? 8, 12 or 16. Say 12 is a good afternoon. Work out the paper yourself: US Letter if they are in the US or Canada, otherwise A4. Ask only if you cannot tell. **When the brief is thin:** restate what they told you, never invent details about the child, and list anything you assumed. **When nobody can answer:** go ahead with age 6, deep-sea animals, no name, 12 pages, A4, and say so. **Over 16 pages:** make two books with different `--seed` values. **Under 8:** the book needs 8 to fit every kind of activity; offer 8. **Two children of different ages:** make two books. ## Which themes have ready art Say this plainly when the theme comes up. - **Ready, with a full set of drawings:** deep-sea animals, the garden, outer space. These are the only three themes drawn and looked at page by page. Deep sea and space have about ten pictures each. The garden is a small general garden: snail, bee, ladybird, butterfly, caterpillar, flower, leaf, mushroom. It is not a bugs book, and it has no ant, beetle, spider or worm. - **Any other theme (dinosaurs, trains, ponies):** there is no ready art. The puzzles still work and are still proven, but the pictures are either reused from the drawings above or simple new ones you draw for that book, so the result is plainer and less charming. Words and facts come from you, so they need your own checking. Tell the person this before building: "I don't have ready pictures for trains, so I'd draw a few simple ones. It'll be plainer than the sea, garden or space books. Shall I go ahead, or would one of those suit?" If nobody can answer, build the theme they asked for and say it is the plainer kind. - **Chinese:** the 田字格 characters come from the checked list, so a custom theme may trace only a few words that match its theme, and the general list fills the rest. ## What to hand over Say something like: "Here is Mina's book, 12 pages. Print at actual size (100%), black and white is fine. The last page has the answers, so you may want to keep that one back." ## Setup (do this quietly) Needs Node 18 or newer. If it is missing, install it for them. Then, in a temporary folder: ``` mkdir -p "$TMPDIR/rdb" && cd "$TMPDIR/rdb" npm install playwright && npx playwright install chromium ``` Run every command below from that folder, using the full path to this skill's `scripts/`. Playwright is found from the current folder (or set `NODE_PATH` to its `node_modules`). A book takes under 20 seconds. The first install takes a few minutes, so warn them once. ## Steps 1. Build: ``` node <skill>/scripts/build.mjs --age 6 --theme deep-sea --lang en --name Mina --pages 12 --paper a4 --out ./book --base mina ``` `--theme` is `deep-sea`, `garden` or `space`, or use `--theme-file my-theme.json`. `--lang` is `en` or `zh`. `--paper` is `a4` or `letter`. `--seed 2` gives a fresh set of puzzles. `--spelling us|uk` overrides the default (US spelling on Letter, UK on A4). 2. Check the puzzles: `node <skill>/scripts/check.mjs ./book/mina.html`. It solves everything again from scratch. It must print OK. 3. Check the drawn pages: `node <skill>/scripts/print-test.mjs ./book/mina.html`. It walks each drawn maze pixel by pixel, measures ink and checks nothing sits too near the paper edge. 4. Look: `node <skill>/scripts/preview.mjs ./book/mina.html ./book/pages`, then open **every** page image. Do not skip this. Tests do not see an awkward page. 5. Hand over `mina.pdf`. Only the PDF, unless they ask. ## Other themes If they ask for something else, first see whether a ready theme is close enough and offer it. Otherwise copy `assets/themes/puddle-walk.json` and change it. There is no generator for pictures: `--theme` accepts only the three ready names, and everything else goes through `--theme-file`. - Reuse drawings by name wherever you can: octopus, whale, turtle, crab, jellyfish, starfish, fish, shell, seahorse, submarine, snail, bee, ladybird, butterfly, flower, mushroom, leaf, can, caterpillar, rocket, moon, planet, star, sun, earth, astronaut, ufo, comet, satellite, umbrella, drop. Use `star` for the sky and `starfish` for the sea: they are different drawings. - New drawings go in `customArt`, as points in a 100 by 100 box: `S` closed smooth shape, `C` open curve, `L` straight lines, `P` closed polygon, `O` circle, `D` solid dot. Keep them simple, then look at them large. **If you cannot make a subject instantly recognisable, leave it out and use something you can draw.** A child should name it without the label. Never draw a copyrighted or branded character, even when asked; offer an original look-alike theme such as "brave little robots". - Join-the-dots uses named outlines (fish, starfish, star, whale, leaf, butterfly, mushroom, rocket, moon), or add your own with `customOutlines` and `customDetails`. - Words: real words, spelled right, none sitting inside another. Facts in `sentences` must be true: only use what you are sure of. - Chinese words: check each character and its pinyin. Do not guess at multi-sound characters. Tracing characters come only from the checked list, because each needs stroke data. If you leave out `traceChars`, the checked general list for that age is used. ## What each age gets | Age | Maze | Words | Dots | Counting | Pattern | Tracing (en) | Tracing (zh) | |---|---|---|---|---|---|---|---| | 3-4 | 5×5, wide paths | letter or character hunt | up to 12, by 1s | up to 5, circle the number | AB, AAB | rain lines, big letters | basic strokes, then chars up to 4 strokes | | 5-6 | 8×8 | 8×8, across and down, 5 words | 20, by 1s | up to 8 | ABC, AABB | letters, words | up to 8 strokes, pinyin | | 7-8 | 13×13 | 11×11, adds slants, 8 words | 32, by 2s | up to 12, adding | ABBC, counting in 2s, 5s, 10s | words, sentences | up to 11 strokes, pinyin | | 9-10 | 19×19 | 14×14, any way, 12 words | 46, by 5s | up to 16, differences, rows times columns | number rules, missing middle | sentences | up to 16 strokes, pinyin on tracing only | Round down if the child finds things hard: pass a lower `--age`. Do not change the numbers in the engine for one book. ## Before delivering - [ ] `check.mjs` printed OK - [ ] `print-test.mjs` printed OK - [ ] I opened every page image and each drawing is recognisable - [ ] Name on the cover is spelled as they gave it, first name only - [ ] Paper size is right for where they live - [ ] For a theme without ready art, I told them it is the plainer kind - [ ] Any new words and facts are real and true - [ ] Chinese book: each traced character looks right and its stroke-order strip reads in order - [ ] The message to them has no technical words and says how to print ## When not to use it - Assessment or graded tests. This is for fun and practice. - A set school curriculum. The Chinese list is checked against the national Level 1 character table and stroke limits, but it is not a textbook's list. Say so if a teacher needs a specific grade's list. - Under 3, or over 10: the puzzles will not fit. - Colour printing. It is deliberately ink-saving line art for children to colour. ## Requirements Node 18+. Playwright with Chromium to make the PDF (free, no account). Everything else is in this skill: original drawings, open-licensed fonts, and stroke data. See `NOTICE.txt`. No internet is needed once Playwright is installed.
Used in these workflows
- Make something for the kids step 1



