| name | weightlogr-cli |
| description | 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. |
weightlogr-cli
Weight tracking CLI. All output is machine-parseable.
Installation
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
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
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
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
Binary location
/usr/local/bin/weightlogr-cli
Global flags
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.
Commands
insert — Log a weigh-in
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:
weightlogr-cli insert 185.2 --format json
weightlogr-cli insert 184.0 --timestamp 2026-04-03T08:00:00-07:00 --notes "after gym" --source gym-check --format json
list — Query weigh-ins
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:
weightlogr-cli list --limit 5 --format json
weightlogr-cli list --since 2026-03-31 --until 2026-04-07 --format json
weightlogr-cli list --source gym-check --order asc --format json
update — Update a weigh-in
weightlogr-cli update <id> <weight> [flags]
| Flag | Default | Description |
|---|
--source | daily-check | Source label |
--notes | | Optional notes |
Examples:
weightlogr-cli update 1 190.0 --source corrected --notes "re-weighed" --format json
delete — Soft-delete a weigh-in
weightlogr-cli delete <id>
Soft-deletes the entry. It will no longer appear in list results.
Examples:
weightlogr-cli delete 2 --format json
version — Print build info
weightlogr-cli version
AI integration notes
- Timestamps are always RFC3339 — all commands produce and consume RFC3339 formatted timestamps
- Default output format is
json — all commands produce structured output by default
created_at is UNIQUE — two entries at the same second will conflict
- The
--source flag is useful for distinguishing manual vs automated entries
updated_at is always present — set to created_at on insert, updated to current time on update
delete is a soft-delete — entries are hidden from list but not removed from the database
- Empty
notes returns "" in JSON (not null)
- The database auto-migrates on first use — no setup needed
- Logs go to file by default, keeping stdout clean for output parsing