Cat Food Tracker
Use this skill to process cat feeding tracker data reliably. Prefer the bundled scripts for validation, daily summaries, and CSV output instead of doing arithmetic manually.
Workflow
- Identify the input shape. Supported input is a JSON object with optional
settings, pets, feed_records, weight_records, and water_records arrays. If the user provides CSV or free-form data, first convert it into this shape.
- Validate JSON backups with
scripts/validate-backup.mjs before calculating or transforming records.
- Generate daily summaries with
scripts/daily-summary.mjs when the user asks for totals, dry-equivalent food, water intake, daily history, or CSV export.
- Read the focused reference files only when needed:
references/domain-model.md for accepted fields and enums.
references/calculations.md for formulas, rounding, and grouping behavior.
references/import-export.md for backup validation and CSV expectations.
Commands
Run validation:
node {baseDir}/scripts/validate-backup.mjs backup.json --pretty
Read backup JSON from stdin:
cat backup.json | node {baseDir}/scripts/validate-backup.mjs - --pretty
Create daily JSON summaries:
node {baseDir}/scripts/daily-summary.mjs backup.json --pretty
Create daily CSV summaries:
node {baseDir}/scripts/daily-summary.mjs backup.json --format csv
Filter by pet or date range:
node {baseDir}/scripts/daily-summary.mjs backup.json --pet-id pet-1 --from 2026-04-01 --to 2026-04-30 --format csv
Public Data Handling
Treat cat names and feeding histories as private user data. Do not include real backup files, pet names, or feeding history in examples, logs, commits, or published skill packages unless the user explicitly asks.
If an input has unsupported fields, validate first and explain that this skill keeps only the supported CatFoodCalculator-style schema. If records reference missing pets, report the warnings from the scripts and still summarize using the pet_id.
When Editing Or Extending
Keep formulas in scripts/cat-food-core.mjs and references/calculations.md aligned. If adding a field to the backup schema, update references/domain-model.md, references/import-export.md, validation in cat-food-core.mjs, and the self-test examples.