Install
$ agentstack add skill-zwjbendn-weight-loss-skill-weight-tracking ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Weight Tracking
> ⚠️ SILENT OPERATION: Never narrate internal actions, skill transitions, or tool calls to the user. No "Let me check...", "Now I'll transition to...", "Reading your profile...". Just do it silently and respond with the result.
Manage body weight records with full CRUD operations. All data lives in a single JSON file; display always uses the user's preferred unit.
Data Storage
File: {workspaceDir}/data/weight.json
Format: JSON object keyed by ISO-8601 datetime (with timezone offset):
{
"2026-03-01T08:30:00+08:00": { "value": 80, "unit": "kg" },
"2026-03-04T07:45:00+08:00": { "value": 79.5, "unit": "kg" },
"2026-03-04T21:00:00+08:00": { "value": 79.8, "unit": "kg" }
}
- Each entry stores the original value and original unit as reported by the user
- Multiple entries per day are supported (e.g., morning and evening weigh-ins)
- Keys are sorted chronologically
Unit Preference
Stored in: health-profile.md > Body > Unit Preference
## Body
- **Unit Preference:** kg
- Set during onboarding (inferred from user input: "80kg" →
kg, "165 lbs" →lb, "130斤" →kg) - User can change at any time via
set-unitcommand - All display/output uses this preference, with values rounded to 1 decimal place
Scripts
Script path: python3 {baseDir}/scripts/weight-tracker.py
1. Save — save
python3 {baseDir}/scripts/weight-tracker.py save \
--data-dir {workspaceDir}/data \
--value 79.5 --unit kg \
--tz-offset 28800 \
[--correct]
- Reads
timezone.jsonoffset to generate local datetime key - Auto-detect new vs correction: if the last entry is ≤ 30 minutes ago, overwrite it (treat as correction). Otherwise, create a new entry.
--correctflag: force overwrite the most recent entry regardless of time gap (for when user explicitly says "that was wrong" / "刚才称错了")- Returns:
{ "action": "created" | "updated", "key": "", "value": , "unit": "" }
2. Load — load
python3 {baseDir}/scripts/weight-tracker.py load \
--data-dir {workspaceDir}/data \
--display-unit kg \
[--last 7] \
[--from 2026-02-01 --to 2026-03-06]
- Returns all matching entries converted to
--display-unit, rounded to 1 decimal place --last N: return the N most recent entries--from/--to: filter by date range (inclusive)- Without filters: returns all entries
3. Delete — delete
python3 {baseDir}/scripts/weight-tracker.py delete \
--data-dir {workspaceDir}/data \
--key "2026-03-06T08:30:00+08:00"
- Removes the entry with the exact datetime key
- Returns confirmation or error if key not found
4. Update — update
python3 {baseDir}/scripts/weight-tracker.py update \
--data-dir {workspaceDir}/data \
--key "2026-03-06T08:30:00+08:00" \
--value 75.0 --unit kg
- Updates the value and unit for an existing entry
- Returns confirmation or error if key not found
5. Set Unit Preference — set-unit
python3 {baseDir}/scripts/weight-tracker.py set-unit \
--health-profile {workspaceDir}/health-profile.md \
--unit lb
- Updates
health-profile.md > Body > Unit Preference - Returns confirmation with the new unit
Timezone Handling
The server runs in UTC. To record the correct local datetime:
- Read
timezone.jsonto gettz_offset(seconds) - Pass
--tz-offsetto thesavecommand - The script calculates the user's local time and formats the key as ISO-8601 with offset (e.g.,
2026-03-06T08:30:00+08:00)
Workflow
User Reports Weight
- Read
health-profile.md > Body > Unit Preferencefor display unit - Call
savewith the reported value, unit, and timezone offset - Check the response
actionfield:
"created"→ confirm: "Logged ✓""updated"→ confirm: "Updated ✓"
- Display the saved value in the user's preferred unit
User Asks for Trend / History
- Read
health-profile.md > Body > Unit Preference - Call
loadwith appropriate filters and--display-unit - Present the data (table, summary, or trend description depending on context)
User Wants to Correct an Entry
- If user says "that was wrong" / "刚才称错了" after a recent save → call
savewith--correctand the new value - If user references a specific date → call
updatewith the matching--key
User Changes Unit Preference
- Call
set-unitwith the new unit - Confirm the change to the user
Interaction Guidelines
- Never comment on weight changes unprompted. Just log and confirm. Emotional reactions to weight (positive or negative) are handled by the
emotional-supportskill. - Always display in preferred unit, rounded to 1 decimal place.
- Accept any common unit in user input: kg, lb, lbs, 斤 (catty = 0.5 kg), 公斤. Convert to standard kg or lb for storage.
- Fasting tag: if the user mentions they haven't eaten yet, or it's a morning weigh-in before breakfast, note
fasting: truein the response context (for notification-composer to use). If they've already eaten, notefasting: false.
Used By Other Skills
This skill's script is called by other skills for weight data access:
| Skill | Usage | |-------|-------| | notification-composer | save when user replies to weight reminder; load --last 1 to check if already weighed today | | weekly-report | load --from --to for weekly weight trend | | emotional-support | load --last N for recent weight context | | habit-builder | load for weight trend analysis | | user-onboarding-profile | save to record initial weight during onboarding | | weight-loss-planner | load --last 1 to get current weight for calculations |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: zwjbendn
- Source: zwjbendn/weight-loss-skill
- License: MIT
- Homepage: https://nanorhino.com/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.