healthcheck
3 versionsSummary
TL;DR: Track water and sleep with JSON file storage
Healthcheck is a personal wellness tracker that stores your water intake and sleep data in simple JSON files. Tell your agent how much water you drank or when you went to bed, and it logs everything locally.
It is intentionally minimal. No cloud accounts, no subscriptions, no complex dashboards. Just a straightforward way to track two of the most important daily health habits.
Over time, you build a local history of your hydration and sleep patterns. See more lifestyle skills for habit tracking and smart home. Your agent can reference past data to spot trends or remind you to drink more water.
Use cases
- Logging daily water intake throughout the day
- Recording sleep times and tracking your sleep pattern over weeks
- Asking your agent to review your hydration trends from the past week
- Setting up simple health habit tracking without any cloud service
Installation
Run this command to install the skill on your OpenClaw agent:
npx clawhub@latest install healthcheckSecurity scan
Skill's stated purpose (local JSON health tracking) matches its instructions, but there are inconsistencies and a command-injection risk from the one-line node -e shells and an undeclared Node runtime requirement.
SKILL.md
---
name: healthcheck
description: Track water and sleep with JSON file storage
version: 1.0.2
tags: health, tracking
---
# Health Tracker
Simple tracking for water intake and sleep using JSON file.
## Data Format
File: `{baseDir}/health-data.json`
```json
{
"water": [{"time": "ISO8601", "cups": 2}],
"sleep": [{"time": "ISO8601", "action": "sleep|wake"}]
}
```
## Add Water Record
When user says "uống X cốc" or "uống nước X cốc":
```bash
node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.water.push({time:new Date().toISOString(),cups:CUPS});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: '+CUPS+' coc')"
```
Replace `CUPS` with number from user input.
## Add Sleep Record
When user says "đi ngủ":
```bash
node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.sleep.push({time:new Date().toISOString(),action:'sleep'});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: di ngu')"
```
## Add Wake Record
When user says "thức dậy" or "dậy rồi":
```bash
node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}const last=d.sleep.filter(s=>s.action==='sleep').pop();d.sleep.push({time:new Date().toISOString(),action:'wake'});fs.writeFileSync(f,JSON.stringify(d));if(last){const h=((new Date()-new Date(last.time))/3600000).toFixed(1);console.log('Da ngu: '+h+' gio')}else{console.log('Da ghi: thuc day')}"
```
## View Stats
When user says "thống kê" or "xem thống kê":
```bash
node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}console.log('Water:',d.water.length,'records');console.log('Sleep:',d.sleep.length,'records');const today=d.water.filter(w=>new Date(w.time).toDateString()===new Date().toDateString());console.log('Today:',today.reduce((s,w)=>s+w.cups,0),'cups')"
```
## Update Record
To update last water entry:
```bash
node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water[d.water.length-1].cups=NEW_CUPS;fs.writeFileSync(f,JSON.stringify(d));console.log('Updated')"
```
## Delete Record
To delete last water entry:
```bash
node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water.pop();fs.writeFileSync(f,JSON.stringify(d));console.log('Deleted')"
```
## Notes
- Uses Node.js built-in modules only
- File auto-created if missing
- All timestamps in ISO8601 format
Version history
- Renamed skill from "health-tracker" to "healthcheck" - Simplified and rewrote documentation for conciseness and clarity - Shortened all Node.js one-liners for recording and managing water and sleep data - Updated data format: renamed fields (e.g., "timestamp" → "time"), edited usage examples - Removed metadata and some advanced examples (e.g., reminders, detailed stats) - Focused on essential file operations: add, update, delete, and stats for water/sleep records
- updated 1, removed 3 file(s). - Updated SKILL.md and bundle contents.
Initial release of health-tracker. - Track daily water intake with smart, habit-based reminders. - Log sleep and wake times; automatically pause/resume water reminders during sleep. - View day-by-day and 7-day health stats, including averages. - Supports Vietnamese commands for easy logging. - Stores data locally in `health-data.json`.
Frequently asked questions
All data is stored in local JSON files on your machine. Nothing is sent to any cloud service or external server. Your health data stays private.
Installation method
Send this prompt to your agent to install the skill
npx clawhub@latest install healthcheckSkill info
Files
Skill data sourced from ClawHub