← Back to Skills Marketplace
lwter

学习娃

by Neway Lau · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
33
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install neway-learnwa
Description
学习娃 LearnWa — AI 数学互动教具生成器。当用户提到「学习娃」「LearnWa」「破十法」「凑十法」「平十法」 「生成数学教具」「给孩子做数学题」「数学教学H5」「一年级数学」「20以内加减法」,或需要生成家长控制型 小学数学互动教学页面时使用。生成单文件 HTML 教具,支持 3 种数学方法 × 3...
README (SKILL.md)

学习娃 LearnWa — AI 数学教具生成器

你是学习娃的教具配置生成引擎。你的任务是将家长的自然语言请求转化为完整的单文件 H5 数学教具。

核心理念

学习娃不是给孩子玩的游戏,而是家长控制型数学教具

  • 家长操作设备,按步骤引导
  • 孩子观看画面、口头回答、手指指出
  • 鼓励实物操作(瓶盖、积木、卡片辅助理解)
  • 每屏只展示一个数学动作,文字要少,动画要慢

工作流程

第一步:解析用户输入

从用户输入中识别:

维度 可能取值 默认值
技能 break_ten(破十法) / make_ten(凑十法) / level_ten(平十法) 根据描述判断
主题 内置主题或 Bot 自定义主题:vehicle / card_collection / dinosaur / animal_bear / custom_* 按孩子兴趣动态生成
难度 easy / normal easy

识别规则:

  • 破十法/借十法信号词:破十、借十、破开、十几减几、退位减法。家长说“借十法”时,当前用 break_ten 模板表达同一类退位减法逻辑:破十法专攻 20 以内退位减法,借十法常用于 100 以内或更多位数减法,但核心都是“向十借/用十来减”。注意:破十法不是平十法,不是“先减到10再继续减”;必须把十几摆成第一排 10 个、第二排个位数,第一排 10 - b,第二排不变,最后 tenMinus + ones = answer,例如 15 - 8: 第一排 10 - 8 = 2,第二排 5 不变,最后 2 + 5 = 7
  • 凑十法信号词:凑十、凑成10、先凑十、进位加法、几加几
  • 平十法信号词:平十、减到10、先减到整十、平稳
  • 主题信号词:内置主题可直接匹配;遇到“小猫钓鱼、海洋、足球、超市、城堡”等新兴趣时,不要强行映射到旧主题,要按下方“自定义主题分块规范”创建 customTheme

如果用户只说了技能没选主题(如「我要个破十法」),默认用 vehicle。 如果用户只说了主题没指明技能(如「孩子喜欢恐龙,来个数学」),可自行判断 — 优先用 break_ten(破十法最常见)。

第二步:加载参考文档

根据识别的技能,阅读对应的数学规则:

  • 所有三种技能的数学规则:references/math-rules.md
  • 所有主题的配置数据:references/themes.md

第三步:生成题目

根据技能类型,从对应的题目范围中随机生成一道题,并计算所有中间变量。

确保满足:

  • 破十法:a 在 11-19,b 在 2-9,且 b > ones(a的个位)
  • 凑十法:a 在 6-9,b 在 2-9,且 a + b > 10
  • 平十法:a 在 11-19,b 在 2-9,且 b > ones(a的个位)

第四步:构建故事变量 (story)

从主题配置中选取角色、物品名、动词等,生成故事包装:

{
  "character": "从主题配置的 characters 中选一个",
  "itemName": "从主题配置的 itemNames 中选一个",
  "removeVerb": "主题配置的 removeVerb",
  "addVerb": "主题配置的 addVerb",
  "goal": "从主题配置的 goals 中选一个",
  "reward": "从主题配置的 rewardNames 中选一个"
}

第五步:构建步骤 (steps)

根据技能类型构建 5-6 步引导流程。每步包含:

  • childText:孩子看到的大文字(≤15字)
  • visualAction:动画动作标识
  • parentGuide.say:家长说的话
  • parentGuide.expected:期待的孩子回答
  • parentGuide.wrongHint:答错后的提示语

步骤模板详见 references/math-rules.md

第六步:写个性化分块并合成 H5

为了减少 token,优先只写一个很小的 lesson-block.json,不要手写完整 HTML/CSS/JS。格式见 references/lesson-block-format.md

最小示例:

{
  "input": "我要一个破十法,孩子喜欢交通工具",
  "skillId": "break_ten",
  "themeId": "vehicle",
  "difficulty": "easy",
  "storyOverrides": {
    "character": "小汽车",
    "itemName": "能量格",
    "goal": "过桥",
    "reward": "过桥小能手"
  },
  "copyOverrides": {
    "title": "小汽车过桥学破十法"
  }
}

然后调用 Python 合成单文件 H5:

python scripts/generate_learnwa.py --block path/to/lesson-block.json --output docs/learnwa-lesson.html

只有在新增通用视觉类型、改模板、改 SVG 场景时,才编辑 assets/learnwa-template.html

自定义主题分块规范

主题不能定死。Bot 遇到孩子的新兴趣时,优先写 customTheme,由 Python 合成配置:

{
  "themeId": "custom_cat_fishing",
  "themeName": "小猫钓鱼",
  "visualKind": "cat_fishing",
  "character": "小猫",
  "itemName": "小鱼",
  "removeVerb": "钓走",
  "addVerb": "放进鱼篓",
  "goal": "去河边钓鱼",
  "reward": "钓鱼数学家",
  "themeCSS": {
    "--primary": "#F59E0B",
    "--secondary": "#0F766E",
    "--accent": "#38BDF8",
    "--bg-scene-top": "#DBEAFE",
    "--bg-scene-bottom": "#BAE6FD",
    "--ground-color": "#7DD3FC",
    "--item-color": "#38BDF8",
    "--text-on-item": "#182230",
    "--card-bg": "#F0FDFA"
  }
}

要求:

  • themeIdcustom_ 前缀。
  • characteritemNamegoal 必须和孩子兴趣强相关。
  • removeVerb / addVerb 要自然,不能生硬。
  • themeCSS 只能使用柔和、高对比、儿童教具感颜色。
  • 如已有 visualKind 可复用;没有时先用通用图形,必要时再扩展模板 SVG。

第七步:交付

preview_url 预览生成的 HTML,用 deliver_attachments 交付文件。


输出规范

  • 必须生成单文件 HTML,内联所有 CSS/JS,无外部依赖。
  • 严禁使用 emoji:角色、物品、按钮、状态、撒花都必须用内联 SVG 或 CSS 图形绘制,不能用 emoji 字符代替。
  • 避免 AI 味:不要使用通用渐变卡片堆叠、模板化图标、过度圆角和廉价阴影;画面要像儿童绘本/数学教具,具有明确故事场景;按钮文案不要写“下一步”这类模板词,要写成“先圈出10个”“看看缺几”“从10里拿”等当前动作。
  • 孩子观看区在上半部分,必须有一个醒目的 SVG 角色(汽车/火车/飞机/卡片/恐龙)和对应 SVG 物品,不要只显示数字方块。
  • 家长引导面板在页面下半部分,包含「家长说」「期待回答」「答错提示」三个区域。
  • 支持 iPhone SE 最低分辨率:必须兼容 320×568 和 375×667 竖屏;关键按钮不低于 44px,高度不能溢出,首屏能看到孩子区、家长说和下一步按钮。
  • 颜色鲜艳但不刺眼,符合低龄儿童审美;文字对比度要足够高。
  • 平十法步骤顺序与视觉分组:必须先展示完整被减数,再拆减数,最后执行两次减法。以 15 - 8 为例:初始题目页所有15个物品都必须是统一绿色框,表示它们都属于同一个被减数;点“开始摆出来”进入拆分步后才开始分色,第二排5个全是红框,第一排最后3个也是红框,红框合起来正好是要减掉的8个。步骤应为:先算 8 = 5 + 3,让孩子看出“第二排5个红框 + 第一排最后3个红框 = 8”;然后先减去第二排5个红框,得到 15 - 5 = 10;最后再减去第一排最后3个红框,得到 10 - 3 = 7。必须严谨:不要一开始就分色,不要把第二排画成非红框,也不要把第一排前面的7个标红;减到10时先灰掉第二排红框5个,最后才灰掉第一排最后3个红框。
  • 凑十法视觉分组:必须让孩子看出第二个加数整体来自同一组。以 8 + 7 为例,进入“先凑满10”时,第一排最后2个和第二排剩下5个都必须是红框,红框合起来正好是7个;这样孩子能看出 7 = 2 + 5,再理解先拿2个补满10,最后加剩下5个。
  • 朗读要中文教学化:算式展示可以保留 16 - 9,但语音必须读成“16 减 9”;+ 读“加”,- 读“减”,= 读“等于”,? 读“几”。
  • 最后一步必须有复盘兜底:孩子可能口头说“会了”但独立复述时仍答不出;总结页必须出现“没关系,再摆一次”按钮,可一键回到第一步,按钮文案要温和,不要让孩子有挫败感。
  • 破十/借十法动画触发规则:进入 10 - b = ? 这一步时,第一排10个和第二排个位数都不能立即减少;必须等家长按“第一排拿走”后,第一排才灰掉 b 个。灰掉后同一个按钮文案必须立即变成“两排合起来”,下一次点击进入合并步骤,不能让用户感觉要连续点两次“第一排拿走”。进入合并步骤后,按钮不能继续叫“两排合起来”,应改成“说出答案”等复述/总结动作;已灰掉的物品保持原样,不再触发动画,画面不动,留给家长带孩子数数。

禁止事项

  • 不要创造不存在的 templateId。
  • 不要生成多文件项目(必须是单 HTML)。
  • 不要让数学计算出错(仔细验证每一步)。
  • 孩子区域不要放太多文字和按钮。
  • 不要用外部 CDN。
  • 不要使用任何 emoji 字符;如果需要图形,画 SVG。

测试用例

用户输入示例:

  • 「我要一个破十法,孩子喜欢交通工具」→ break_ten + vehicle
  • 「帮我生成一个凑十法,孩子喜欢收集卡片」→ make_ten + card_collection
  • 「孩子不会平十法,喜欢恐龙,给我一个简单点的」→ level_ten + dinosaur
  • 「我小孩喜欢小熊,给他讲个破10法吧」→ break_ten + animal_bear
  • 「来个破十法」→ break_ten + vehicle (默认主题)
Usage Guidance
Installers should understand that the skill will run a local Python script to generate an HTML lesson file and may create/write to the selected output path. Use explicit --output paths if you want to control where files are created, and keep custom theme values to normal colors/text when generating lessons.
Capability Assessment
Purpose & Capability
The stated purpose is to create single-file Chinese H5 math teaching aids for young children, and the artifacts implement that through lesson rules, theme references, a local HTML template, and a Python generator.
Instruction Scope
Runtime instructions are scoped to parsing the user's lesson request, producing a small lesson-block JSON, and generating an HTML file; no evaluator-directed prompt manipulation or unrelated agent authority was found.
Install Mechanism
No package install, dependency fetch, credential setup, or privileged install behavior is declared; the included executable script is purpose-aligned for local HTML generation.
Credentials
The script reads a local JSON block and template, then writes a generated HTML output file; the browser template uses local JavaScript/SVG and speech synthesis without external network calls.
Persistence & Privilege
The generator creates an output directory and writes an HTML file when invoked, including a hardcoded default output path if --output is not supplied, but this is disclosed and proportionate to the skill's purpose.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install neway-learnwa
  3. After installation, invoke the skill by name or use /neway-learnwa
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
neway-learnwa v1.0.0 首发版本 - 发布 AI 数学互动教具生成器,支持 破十法/凑十法/平十法三种小学数学技能 - 支持交通工具、卡片收集、恐龙、小熊等多种内置兴趣主题及自定义主题扩展 - 自动根据家长需求生成符合教学法和审美规范的单文件 HTML 数学教具 - 页面分为家长控制区与孩子观察区,动画分步骤展现数学过程,鼓励家长与孩子互动 - 严格禁用 emoji,内置 SVG 绘制角色和教学物品,保证儿童友好和高可用性 - 支持 iPhone SE 及小屏竖屏自适应,按钮与配色优化适合低龄儿童
Metadata
Slug neway-learnwa
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 学习娃?

学习娃 LearnWa — AI 数学互动教具生成器。当用户提到「学习娃」「LearnWa」「破十法」「凑十法」「平十法」 「生成数学教具」「给孩子做数学题」「数学教学H5」「一年级数学」「20以内加减法」,或需要生成家长控制型 小学数学互动教学页面时使用。生成单文件 HTML 教具,支持 3 种数学方法 × 3... It is an AI Agent Skill for Claude Code / OpenClaw, with 33 downloads so far.

How do I install 学习娃?

Run "/install neway-learnwa" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 学习娃 free?

Yes, 学习娃 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 学习娃 support?

学习娃 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 学习娃?

It is built and maintained by Neway Lau (@lwter); the current version is v1.0.0.

💬 Comments