Use this skill when the user wants to log body weight, check weigh-in history, or analyze weight trends. Triggers on "log my weight", "weigh-in", "weight check", "how much do I weigh", or any mention of tracking body weight over time.
Weight tracking CLI. All output is machine-parseable.
# Linux amd64
curl -sL https://github.com/JulienTant/weightlogr-cli/releases/latest/download/weightlogr-cli_linux_amd64.tar.gz | tar xz -C /usr/local/bin weightlogr-cli
# Linux arm64
curl -sL https://github.com/JulienTant/weightlogr-cli/releases/latest/download/weightlogr-cli_linux_arm64.tar.gz | tar xz -C /usr/local/bin weightlogr-cli
# macOS arm64 (Apple Silicon)
curl -sL https://github.com/JulienTant/weightlogr-cli/releases/latest/download/weightlogr-cli_darwin_arm64.tar.gz | tar xz -C /usr/local/bin weightlogr-cli
# macOS amd64 (Intel)
curl -sL https://github.com/JulienTant/weightlogr-cli/releases/latest/download/weightlogr-cli_darwin_amd64.tar.gz | tar xz -C /usr/local/bin weightlogr-cli
/usr/local/bin/weightlogr-cli
Every command accepts these. Also settable via WEIGHTLOGR_* env vars or .weightlogr.yaml.
| Flag | Env var | Default | Description |
|---|---|---|---|
--db | WEIGHTLOGR_DB | /opt/data/weights.db | SQLite database path |
--format | WEIGHTLOGR_FORMAT | json | Output: json, csv |
--log-file | WEIGHTLOGR_LOG_FILE | /opt/data/weightlogr.log | Log file path (stderr for stderr) |
--log-level | WEIGHTLOGR_LOG_LEVEL | info | debug, info, warn, error |
Default format is json. Use --format csv for CSV output.
weightlogr-cli insert <weight> [flags]
| Flag | Default | Description |
|---|---|---|
--timestamp | now | RFC3339 timestamp (e.g. 2026-04-05T08:00:00-07:00, 2026-04-05T15:00:00Z) |
--source | daily-check | Source label for categorization |
--notes | Free-text notes (commas and special chars are safe) |
Examples:
# Quick log (now, UTC)
weightlogr-cli insert 185.2 --format json
# With timestamp and notes
weightlogr-cli insert 184.0 --timestamp 2026-04-03T08:00:00-07:00 --notes "after gym" --source gym-check --format json
# Output (json):
# {"id":1,"weight":185.2,"created_at":"2026-04-05T15:06:55Z","source":"daily-check","notes":"","updated_at":"2026-04-05T15:06:55Z"}
weightlogr-cli list [flags]
| Flag | Default | Description |
|---|---|---|
--since | Start date/time inclusive (ISO 8601) | |
--until | End date/time exclusive (ISO 8601) | |
--source | Filter by source label | |
--order | desc | Sort: asc or desc |
--limit | 0 | Max rows (0 = unlimited) |
--timezone | Convert output timestamps to this timezone (e.g. America/Phoenix). Defaults to UTC |
Examples:
# Last 5 entries as JSON
weightlogr-cli list --limit 5 --format json
# Date range
weightlogr-cli list --since 2026-03-31 --until 2026-04-07 --format json
# Filter by source, oldest first
weightlogr-cli list --source gym-check --order asc --format json
# Output (json):
# [{"id":1,"weight":185.2,"created_at":"2026-04-05T15:06:55Z","source":"daily-check","notes":"test","updated_at":"2026-04-05T15:06:55Z"}]
weightlogr-cli update <id> <weight> [flags]
| Flag | Default | Description |
|---|---|---|
--source | daily-check | Source label |
--notes | Optional notes |
Examples:
# Update weight and notes
weightlogr-cli update 1 190.0 --source corrected --notes "re-weighed" --format json
# Output (json):
# {"id":1,"weight":190,"created_at":"2026-04-05T15:00:00Z","source":"corrected","notes":"re-weighed","updated_at":"2026-04-05T16:30:00Z"}
weightlogr-cli delete <id>
Soft-deletes the entry. It will no longer appear in list results.
Examples:
weightlogr-cli delete 2 --format json
# Output (json):
# {"id":2,"deleted":true}
weightlogr-cli version
# {"version":"dev","commit":"none","date":"unknown"}
json — all commands produce structured output by defaultcreated_at is UNIQUE — two entries at the same second will conflict--source flag is useful for distinguishing manual vs automated entriesupdated_at is always present — set to created_at on insert, updated to current time on updatedelete is a soft-delete — entries are hidden from list but not removed from the databasenotes returns "" in JSON (not null)