← 返回 Skills 市场
martinzokov

Baby Tracker

作者 Martin Zokov · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ 安全检测通过
104
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install baby-tracker
功能描述
Log, query, import, and chart baby care events as a private CSV-based replacement for baby tracking apps such as Huckleberry. Use when recording or analyzing...
使用说明 (SKILL.md)

Baby Tracker

Use this skill to maintain a private append-only baby log in CSV form and answer natural-language tracking/query/chart requests.

Storage

Default data directory:

~/.openclaw/workspace/data/baby-tracker

Override it for any command with either:

export BABY_TRACKER_DIR=/path/to/baby-tracker-data
python3 scripts/baby_tracker.py --data-dir /path/to/baby-tracker-data ...

Files:

  • events.csv — append-only flexible event log.
  • metadata.json — baby metadata (name, date_of_birth, sex, timezone, extra fields).
  • weight_percentiles_approx.csv — approximate visual guide percentile data generated by the script.
  • who/who_weight_lms.csv — optional official WHO LMS/z-score data for precise weight-for-age charts.
  • charts/*.html and charts/*.png — generated chart outputs.

Never delete or rewrite events.csv unless explicitly asked. Append corrections as a new correction event or ask before destructive cleanup.

Script

Run commands from this skill directory, or use the absolute path to the installed skill:

python3 scripts/baby_tracker.py ...

The scripts use only Python stdlib.

Initialize or update metadata

Set these before age-aware charts or percentiles:

python3 scripts/baby_tracker.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=....

Log an event

General pattern:

python3 scripts/baby_tracker.py log \
  --type diaper \
  --subtype both \
  --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 configured timezone. Preserve the original user message in --source-text when helpful.

Preferred event shapes:

  • Diaper: --type diaper --subtype wet|dirty|both|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 bottle: --type feed --subtype bottle --metric volume --value 50 --unit ml --field milk=breast|formula
  • Feed breast: --type feed --subtype breast --field side=left|right|both --field duration_min=20
  • Sleep: --type sleep --metric duration --value 90 --unit min plus optional start/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 schema is intentionally extensible.

If a message is ambiguous but low risk, log the raw information with notes/source_text rather than blocking. Ask only when the missing detail changes the meaning materially, such as unknown units or ambiguous baby identity in a multi-baby setup.

Query

Examples:

python3 scripts/baby_tracker.py query --type diaper --since today
python3 scripts/baby_tracker.py query --metric weight --format json
python3 scripts/baby_tracker.py query --since 7d --format summary

Use summaries for chat replies. Use JSON/CSV when doing analysis.

Chart

For quick generic charts, generate a self-contained HTML/SVG chart:

python3 scripts/baby_tracker.py chart --metric weight

For WHO weight-for-age percentile claims, prefer the official WHO LMS PNG renderer:

python3 scripts/render_weight_png.py

It expects official WHO weight-for-age LMS/z-score data at:

$BABY_TRACKER_DIR/who/who_weight_lms.csv
# or, by default:
~/.openclaw/workspace/data/baby-tracker/who/who_weight_lms.csv

If the WHO LMS CSV needs rebuilding from downloaded WHO Excel files, place those files in the who/ data directory and run:

python3 scripts/build_who_weight_lms.py

To send a chart image in chat, run the PNG renderer and attach the generated charts/weight-latest.png or the path printed by the script.

Natural-language handling

When a terse baby log message arrives:

  1. Interpret the event type and details.
  2. Append it immediately with the script.
  3. Reply briefly with what was logged and the timestamp.

Examples:

  • “nappy both pee large poo small” → log diaper/both with fields.
  • “weight 4.53kg” → log growth/weight.
  • “temp 38.2 ear” → log temperature with method.
  • “50ml bottle breast milk at 10:20” → log feed/bottle volume.

For queries, run query, inspect the result, and answer naturally. For chart requests, run the appropriate chart command and return the output file when requested.

Huckleberry CSV imports

When given a Huckleberry CSV, import it conservatively with the idempotent importer:

python3 scripts/import_huckleberry.py /path/to/Huckleberry.csv

Use --dry-run first for unusual files. The importer:

  • Maps Type=Growth with Start Condition like 4.53kg to growth/weight.
  • Maps Type=Diaper and notes like Both, pee:large poo:small to diaper events.
  • Maps Type=Feed rows to breast/bottle feed events, preserving duration, side, location, milk, and volume fields where possible.
  • Maps Sleep, Pump, and custom activity rows to extensible event types.
  • Keeps original row text in source_text and structured Huckleberry columns in details_json for auditability.
  • Uses deterministic import event IDs, so rerunning the same CSV skips already-imported rows.
  • Does not overwrite existing manually logged events unless asked for deduplication.
安全使用建议
Before installing, be comfortable with the agent writing baby-care entries, imports, metadata, and generated charts under the configured local data directory. The artifacts do not show network exfiltration or credential use, but the stored records are private health-related information, so protect the folder and review entries when accuracy matters.
功能分析
Type: OpenClaw Skill Name: baby-tracker Version: 0.1.0 The baby-tracker skill bundle is a well-structured, self-contained tool for logging and charting baby care events using a local CSV-based storage system. The scripts (baby_tracker.py, render_weight_png.py, etc.) rely exclusively on the Python standard library, perform no network operations, and contain no evidence of data exfiltration, malicious execution, or prompt injection. The charting logic is implemented from scratch (SVG/HTML and raw PNG generation), and the data import functionality for Huckleberry CSVs is handled safely through deterministic UUID generation and standard CSV parsing.
能力评估
Purpose & Capability
The stated purpose—logging, querying, importing, and charting baby care events—matches the included Python scripts and local CSV/JSON storage, but the data is sensitive personal/health information.
Instruction Scope
The skill tells the agent to append clear baby-log messages immediately, while reserving questions for materially ambiguous cases; this is coherent with the tracker purpose but can mutate the local log without a separate confirmation for each simple entry.
Install Mechanism
There is no install spec, no declared credentials, and the scripts state they use only Python standard library; no network installer or third-party dependency behavior is shown.
Credentials
Default storage is scoped to ~/.openclaw/workspace/data/baby-tracker, with user-directed overrides; this is proportionate, but users should understand where sensitive records and charts are saved.
Persistence & Privilege
The skill is intentionally persistent and append-only for events.csv and metadata.json, and it preserves source text for auditability; this is disclosed and purpose-aligned.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install baby-tracker
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /baby-tracker 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial release
元数据
Slug baby-tracker
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Baby Tracker 是什么?

Log, query, import, and chart baby care events as a private CSV-based replacement for baby tracking apps such as Huckleberry. Use when recording or analyzing... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 104 次。

如何安装 Baby Tracker?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install baby-tracker」即可一键安装,无需额外配置。

Baby Tracker 是免费的吗?

是的,Baby Tracker 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Baby Tracker 支持哪些平台?

Baby Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Baby Tracker?

由 Martin Zokov(@martinzokov)开发并维护,当前版本 v0.1.0。

💬 留言讨论