Healthcheck Rose
/install healthcheck-rose
Health Tracker
Simple tracking for water intake and sleep using JSON file.
Data Format
File: {baseDir}/health-data.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":
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ủ":
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":
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ê":
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:
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:
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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install healthcheck-rose - After installation, invoke the skill by name or use
/healthcheck-rose - Provide required inputs per the skill's parameter spec and get structured output
What is Healthcheck Rose?
Track water and sleep with JSON file storage. It is an AI Agent Skill for Claude Code / OpenClaw, with 116 downloads so far.
How do I install Healthcheck Rose?
Run "/install healthcheck-rose" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Healthcheck Rose free?
Yes, Healthcheck Rose is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Healthcheck Rose support?
Healthcheck Rose is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Healthcheck Rose?
It is built and maintained by roseknife520 (@roseknife520); the current version is v1.0.0.