免费

雨天练习册

说出年龄和主题,就得到一本能直接打印的练习册:真能走通的迷宫、田字格描红、找词语,还带答案。封面图上的蜡笔痕是后加的,用来示意使用效果,书里没有。

安装

把“雨天练习册”技能安装到 ~/.claude/skills/rainy-day-book。
下载下面每个文件,保存到这个文件夹:
https://skilllift.pages.dev/packs/rainy-day-book/SKILL.zh.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
然后读一遍 SKILL.md,告诉我它是做什么的,并提醒我开一个新会话。

解压到 ~/.claude/skills

同一个技能,不同的需求

左边是预览。右边由另一个 Agent 按不同需求制作,它只有安装好的技能,没看过预览。

预览
预览
新需求,由另一个 Agent 制作
新需求,由另一个 Agent 制作

这是按虚构需求做的一次测试。系统字体不同时,字形可能略有差异。

用孩子的年龄和一个主题,生成一本真正能打印的儿童练习册 PDF。8 到 16 页,包含能走通的迷宫、找词语、找规律、连点成画、描红和数一数,全部是省墨水的手绘风黑白线稿,后面附答案。中文版有田字格描红、笔顺和拼音,也可以出英文版。支持 A4 和美式 Letter 纸。家长、老师想要 3 到 10 岁孩子的练习册、假期小册子、雨天活动包时使用。

交付前必须通过

  • check.mjs 输出 OK
  • print-test.mjs 输出 OK
  • 每一页图片我都打开看过,每张画都认得出
  • 封面名字和对方给的一字不差,只用小名
  • 纸张大小符合对方所在地
  • 没有现成画的主题,已告诉对方成品较朴素
  • 新加的词语和事实都是真实的
  • 每个描红字都对,笔顺小图是按顺序的
  • 给对方的话里没有技术词,并且说了怎么打印
阅读完整 SKILL.md
---
name: rainy-day-book
description: 用孩子的年龄和一个主题,生成一本真正能打印的儿童练习册 PDF。8 到 16 页,包含能走通的迷宫、找词语、找规律、连点成画、描红和数一数,全部是省墨水的手绘风黑白线稿,后面附答案。中文版有田字格描红、笔顺和拼音,也可以出英文版。支持 A4 和美式 Letter 纸。家长、老师想要 3 到 10 岁孩子的练习册、假期小册子、雨天活动包时使用。
version: 1.1.0
---

# 雨天练习册

版式和题目都在代码里。你要做的是问几个简单的问题,跑一条命令,把每一页看一遍,然后把 PDF 交出去。不要自己画,也不要手写题目:答案之所以靠得住,靠的就是这些生成器。

## 对方只想要一本练习册时

来要这个的人,多半没用过命令行,也不该让他们碰。安装之类的事你全部自己做。不要对他们提 Node、Playwright、JSON、HTML 或脚本。他们只收到一个 PDF,和两句怎么打印的话。

用家常话,一条消息问完:

1. 孩子几岁?(老师就问班上孩子多大。)
2. 孩子喜欢什么?现成的主题有:深海动物、小花园、太空。别的主题也能做,但要先说清楚效果(见「哪些主题有现成的画」)。
3. 封面要写孩子的名字吗?(可以不写,写的话用小名就好。)
4. 要中文还是英文?
5. 要几页?8 页、12 页或 16 页。12 页差不多够玩一个下午。

纸张你自己判断:在美国或加拿大用 Letter,其他地方用 A4。实在判断不了再问。

**信息很少时:**把对方说的复述一遍,绝不编造孩子的情况,并列出你替他们做的决定。**没人能回答时:**按 6 岁、深海动物、不写名字、12 页、A4 直接做,并且说明。**超过 16 页:**用不同的 `--seed` 做两本。**不到 8 页:**少于 8 页放不下所有活动,建议 8 页。**两个不同年龄的孩子:**做两本。

## 哪些主题有现成的画

说到主题时,就照实讲。

- **有整套现成的画:** 深海动物、小花园、太空。只有这三个主题的画是逐页看过的。深海和太空各有十张左右。小花园是一个普通的小花园:蜗牛、蜜蜂、瓢虫、蝴蝶、毛毛虫、小花、叶子、蘑菇。它不是专门讲虫子的书,没有蚂蚁、甲虫、蜘蛛和蚯蚓。
- **其他主题(恐龙、火车、小马):** 没有现成的画。谜题照样能用,也照样验证过,但图要么借用上面这些,要么由你给这本书现画几张简单的,所以成品更朴素,也没那么可爱。词语和知识点是你写的,要你自己核对。动手之前就告诉对方:「火车主题没有现成的图,我会现画几张简单的,比海洋、花园、太空那几本朴素一些。可以吗?还是换这三个主题里的一个?」没人能回答时,就按对方要的主题做,并说明这是较朴素的那种。
- **中文版:** 田字格的字只能从核对过的字表里选,所以自定义主题里能描红的主题字可能不多,其余用通用字表补足。

## 交付时怎么说

大概这样说:「小雨的练习册做好了,一共 12 页。打印时选实际大小(100%),黑白就可以。最后一页是答案,可以先抽出来。」

## 安装(默默做好)

需要 Node 18 或更新的版本,没有就替他们装好。然后在临时文件夹里:

```
mkdir -p "$TMPDIR/rdb" && cd "$TMPDIR/rdb"
npm install playwright && npx playwright install chromium
```

下面的命令都在这个文件夹里运行,脚本写本技能 `scripts/` 的完整路径。Playwright 从当前文件夹找(或把 `NODE_PATH` 设到它的 `node_modules`)。做一本不到 20 秒。第一次安装要几分钟,提前说一声。

## 步骤

1. 生成:
   ```
   node <技能目录>/scripts/build.mjs --age 6 --theme deep-sea --lang zh --name 小雨 --pages 12 --paper a4 --out ./book --base xiaoyu
   ```
   `--theme` 可选 `deep-sea`、`garden`、`space`,或用 `--theme-file 我的主题.json`。`--lang` 是 `zh` 或 `en`。`--paper` 是 `a4` 或 `letter`。`--seed 2` 换一套新题。
2. 查题目:`node <技能目录>/scripts/check.mjs ./book/xiaoyu.html`。它会把所有题重新解一遍,必须输出 OK。
3. 查画出来的页面:`node <技能目录>/scripts/print-test.mjs ./book/xiaoyu.html`。它按像素走一遍迷宫,量墨水用量,并检查有没有内容太靠近纸边。
4. 亲眼看:`node <技能目录>/scripts/preview.mjs ./book/xiaoyu.html ./book/pages`,然后打开**每一页**的图片。不能跳过,版面别不别扭,测试是看不出来的。
5. 只交 `xiaoyu.pdf`,除非对方要别的。

## 其他主题

先看现成主题够不够接近,够就推荐现成的。不够,就复制 `assets/themes/puddle-walk.json` 来改。这里没有自动生成图画的功能:`--theme` 只接受三个现成的名字,其他主题都要用 `--theme-file`。

- 尽量用现成的画,写名字就行:octopus(章鱼)、whale(鲸鱼)、turtle(海龟)、crab(螃蟹)、jellyfish(水母)、starfish(海星)、fish(小鱼)、shell(贝壳)、seahorse(海马)、submarine(潜水艇)、snail(蜗牛)、bee(蜜蜂)、ladybird(瓢虫)、butterfly(蝴蝶)、flower(小花)、mushroom(蘑菇)、leaf(叶子)、can(水壶)、caterpillar(毛毛虫)、rocket(火箭)、moon(月亮)、planet(行星)、star(星星,画太空时用它,海星是另一张 starfish)、sun(太阳)、earth(地球)、astronaut(宇航员)、ufo(飞碟)、comet(彗星)、satellite(卫星)、umbrella(雨伞)、drop(雨滴)。
- 新画放在 `customArt` 里,用 100×100 的坐标写:`S` 封闭曲线、`C` 开口曲线、`L` 折线、`P` 封闭多边形、`O` 圆、`D` 实心点。画得简单些,放大看一看。**如果画不到一眼认得出,就别画,换一个你画得好的。**孩子不看标签就能叫出名字才算过关。受版权保护的卡通形象和品牌形象一律不画,就算对方要求也不画,可以改成原创主题,比如「勇敢的小机器人」。
- 连点成画用现成的轮廓(fish、starfish、star、whale、leaf、butterfly、mushroom、rocket、moon),也可以用 `customOutlines` 和 `customDetails` 加新的。
- 中文词语:每个字和拼音都要核对,多音字不要猜。词语之间不能互相包含(比如「海星」和「大海星」),否则会出现两次。
- 描红只能用已核对的字表,因为每个字都要有笔顺数据。不写 `traceChars` 时,会用这个年龄的通用字表。

## 每个年龄做什么

| 年龄 | 迷宫 | 词语 | 连点 | 数数 | 规律 | 描红 |
|---|---|---|---|---|---|---|
| 3-4 | 5×5,路很宽 | 找相同的字 | 12 个以内,一个一个数 | 5 以内,圈数字 | AB、AAB | 基本笔画,再加 4 画以内的字 |
| 5-6 | 8×8 | 6×6,横竖,5 个词 | 20 个 | 8 以内 | ABC、AABB | 8 画以内,带拼音 |
| 7-8 | 13×13 | 9×9,加斜向,8 个词 | 32 个,两个两个数 | 12 以内,加法 | ABBC,2、5、10 个一数 | 11 画以内,带拼音 |
| 9-10 | 19×19 | 12×12,任意方向,10 个词 | 46 个,五个五个数 | 16 以内,比多少,几行几列 | 数字规律,中间缺一个 | 16 画以内,只在描红处标拼音 |

3-4 岁不要求写字,所以先描笔画。孩子觉得难,就把 `--age` 往下调,不要为了一本书去改引擎里的数字。

## 交付前检查

- [ ] `check.mjs` 输出 OK
- [ ] `print-test.mjs` 输出 OK
- [ ] 每一页图片我都打开看过,每张画都认得出
- [ ] 封面名字和对方给的一字不差,只用小名
- [ ] 纸张大小符合对方所在地
- [ ] 没有现成画的主题,已告诉对方成品较朴素
- [ ] 新加的词语和事实都是真实的
- [ ] 每个描红字都对,笔顺小图是按顺序的
- [ ] 给对方的话里没有技术词,并且说了怎么打印

## 不适合的情况

- 考试或打分。这是用来玩和练的。
- 要严格对应某一册课本的生字表。字表按《通用规范汉字表》一级字和笔画数核对过,但不是某本教材的字表。老师需要时要说明这一点。
- 3 岁以下或 10 岁以上:难度不合适。
- 想要彩色印刷:这本书故意做成省墨水的线稿,留给孩子自己涂。

## 需要什么

Node 18 以上,以及生成 PDF 用的 Playwright 和 Chromium(免费,不用注册)。其余的都在技能里:原创线稿、开源字体、笔顺数据,详见 `NOTICE.txt`。装好 Playwright 后不需要联网。

用在这些流程里

相似技能