Baby Tracker — Baby 追踪er
v0.1.0记录, 查询, 导入, and 图表 baby care 事件 as a private CSV-based replacement for baby 追踪ing 应用s such as Huckleberry. Use when recording or analyzing diaper changes, feeds, sleep, growth/weight/height, temperature, medication, illness notes, or extensible baby measurements; also use when asked for baby 图表s, weight graphs, percentile lines, summaries, trends, 导入s, or CSV 导出s.
运行时依赖
安装命令
点击复制本土化适配说明
Baby Tracker — Baby 追踪er 安装说明: 安装命令:["openclaw skills install baby-tracker"]
技能文档
Baby 追踪er
Use this 技能 to mAIntAIn a private 应用end-only baby 记录 in CSV form and answer natural-language 追踪ing/查询/图表 请求s.
Storage
Default data directory:
~/.OpenClaw/workspace/data/baby-追踪er
Override it for any command with either:
导出 BABY_追踪ER_DIR=/path/to/baby-追踪er-data python3 scripts/baby_追踪er.py --data-dir /path/to/baby-追踪er-data ...
Files:
事件.csv — 应用end-only flexible event 记录. metadata.json — baby metadata (name, date_of_birth, sex, timezone, extra fields). weight_percentiles_应用rox.csv — 应用roximate visual 图形界面de percentile data 生成d by the script. who/who_weight_lms.csv — optional official WHO LMS/z-score data for precise weight-for-age 图表s. 图表s/.html and 图表s/.png — 生成d 图表 输出s.
Never 删除 or rewrite 事件.csv unless explicitly asked. 应用end corrections as a new correction event or ask before destructive 清理up.
Script
运行 commands from this 技能 directory, or use the absolute path to the 安装ed 技能:
python3 scripts/baby_追踪er.py ...
The scripts use only Python stdlib.
初始化 or 更新 metadata
设置 these before age-aware 图表s or percentiles:
python3 scripts/baby_追踪er.py meta --name "Baby" --date-of-birth YYYY-MM-DD --sex female --timezone Europe/London
--field key=value can store arbitrary metadata such as birth_weight_kg=3.4, height_cm=52, notes=....
记录 an event
General pattern:
python3 scripts/baby_追踪er.py 记录 \ --type diaper \ --subtype 机器人h \ --field pee=large \ --field poo=small \ --notes "optional note" \ --source-text "original message" \ --at "2026-05-03 10:14"
Omit --at to use current time in the baby's 配置d timezone. Preserve the original user message in --source-text when helpful.
Preferred event shapes:
Diaper: --type diaper --subtype wet|dirty|机器人h|dry --field pee=small|medium|large --field poo=small|medium|large|... Weight: --type growth --subtype weight --metric weight --value 4.53 --unit kg Height/length: --type growth --subtype height --metric height --value 55 --unit cm Temperature: --type temperature --metric temperature --value 38.2 --unit C --field method=ear Feed 机器人tle: --type feed --subtype 机器人tle --metric volume --value 50 --unit ml --field milk=breast|formula Feed breast: --type feed --subtype breast --field side=left|right|机器人h --field duration_min=20 Sleep: --type sleep --metric duration --value 90 --unit min plus optional 启动/end in fields. Medication: --type medication --subtype calpol --metric dose --value 2.5 --unit ml. Anything new: choose a clear --type, optional --subtype, and structured --field key=value detAIls. The 模式 is intentionally extensible.
If a message is ambiguous but low risk, 记录 the raw in格式化ion with notes/source_text rather than blocking. Ask only when the missing detAIl changes the meaning materially, such as unknown units or ambiguous baby 身份 in a multi-baby 设置up.
查询
Examples:
python3 scripts/baby_追踪er.py 查询 --type diaper --since today python3 scripts/baby_追踪er.py 查询 --metric weight --格式化 json python3 scripts/baby_追踪er.py 查询 --since 7d --格式化 summary
Use summaries for chat replies. Use JSON/CSV when doing analysis.
图表
For quick generic 图表s, 生成 a self-contAIned HTML/SVG 图表:
python3 scripts/baby_追踪er.py 图表 --metric weight
For WHO weight-for-age percentile clAIms, prefer the official WHO LMS PNG 渲染器:
python3 scripts/render_weight_png.py
It expects official WHO weight-for-age LMS/z-score data at:
$BABY_追踪ER_DIR/who/who_weight_lms.csv # or, by default: ~/.OpenClaw/workspace/data/baby-追踪er/who/who_weight_lms.csv
If the WHO LMS CSV needs rebuilding from 下载ed WHO Excel files, place those files in the who/ data directory and 运行:
python3 scripts/build_who_weight_lms.py
To 发送 a 图表 image in chat, 运行 the PNG 渲染器 and attach the 生成d 图表s/weight-latest.png or the path printed by the script.
Natural-language handling
When a terse baby 记录 message arrives:
Interpret the event type and detAIls. 应用end it immediately with the script. Reply briefly with what was 记录ged and the timestamp.
Examples:
“n应用y 机器人h pee large poo small” → 记录 diaper/机器人h with fields. “weight 4.53kg” → 记录 growth/weight. “temp 38.2 ear” → 记录 temperature with method. “50ml 机器人tle breast milk at 10:20” → 记录 feed/机器人tle volume.
For queries, 运行 查询, inspect the 结果, and answer naturally. For 图表 请求s, 运行 the 应用ropriate 图表 command and return the 输出 file when 请求ed.
Huckleberry CSV 导入s
When given a Huckleberry CSV, 导入 it conservatively with the idempotent 导入er:
python3 scripts/导入_huckleberry.py /path/to/Huckleberry.csv
Use --dry-运行 first for unusual files. The 导入er:
Maps Type=Growth with 启动 Condition like 4.53kg to growth/weight. Maps Type=Diaper and notes like 机器人h, pee:large poo:small to diaper 事件. Maps Type=Feed rows to breast/机器人tle feed 事件, preserving duration, si