← 返回 Skills 市场
roseknife520

Healthcheck Rose

作者 roseknife520 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
116
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install healthcheck-rose
功能描述
Track water and sleep with JSON file storage
使用说明 (SKILL.md)

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
安全使用建议
This skill appears to implement exactly what it claims (a local JSON-based water/sleep logger) but has several red flags you should consider before installing or enabling it: (1) Metadata inconsistencies — the ownerId and version in _meta.json don't match the registry metadata/version, which could indicate packaging mistakes or tampering. (2) Undeclared runtime dependency — the SKILL.md runs node -e commands but the skill doesn't declare Node as a required binary; ensure your agent runs Node or these commands will fail or behave unexpectedly. (3) Undefined {baseDir} placeholder — the instructions expect {baseDir} to be substituted; clarify where data will be written (current working directory, a sandboxed location, or a user-specified folder). (4) Inline JS execution — the skill executes arbitrary JavaScript code via node -e; while the provided snippets are benign, inline execution can be abused if the skill is updated or if templating/substitution is incorrect. Recommendations: ask the publisher for corrected metadata and explicit runtime requirements, confirm where files will be stored, run the skill first in a restricted/sandboxed environment, or copy the one-liners into a reviewed local script before enabling autonomous invocation.
功能分析
Type: OpenClaw Skill Name: healthcheck-rose Version: 1.0.0 The skill uses Node.js one-liners in SKILL.md to manage health data in a local JSON file. It is classified as suspicious due to a command injection vulnerability where user-provided values like 'CUPS' and 'NEW_CUPS' are directly inserted into shell commands without sanitization. While the logic is consistent with the stated health-tracking purpose, this pattern allows for potential remote code execution (RCE) if the AI agent does not properly validate the input before execution.
能力评估
Purpose & Capability
The SKILL.md implements a simple local health tracker that reads/writes a JSON file — this aligns with the description. However, the commands are Node.js one-liners while the skill metadata declares no required binaries; an environment with node is needed but not declared. Also the registry metadata/version (1.0.0) differs from SKILL.md and _meta.json (1.0.2), and ownerId in _meta.json differs from the registry metadata ownerId, raising integrity questions.
Instruction Scope
Instructions tell the agent to execute inline Node (-e) code that reads/writes {baseDir}/health-data.json. This is consistent with local storage, but the SKILL.md uses a {baseDir} placeholder that is not defined anywhere — unclear substitution behavior may cause files to be created in unexpected locations (literal '{baseDir}' folder). The one-liners sometimes assume the file exists (update/delete) causing potential runtime errors. No network calls or secret access are requested.
Install Mechanism
There is no install spec (instruction-only skill), which minimizes installation risk. The runtime requires Node.js but no install step or required-binaries declaration documents that dependency.
Credentials
The skill requests no environment variables or credentials, which is proportionate. It does, however, perform filesystem writes in the agent's environment — acceptable for a local tracker but the target path is ambiguous due to the undefined {baseDir} placeholder.
Persistence & Privilege
always:false and no install steps that change other skills or system-wide configuration. The skill will persist data to disk (health-data.json) under the agent's runtime filesystem, which is expected for this purpose.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install healthcheck-rose
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /healthcheck-rose 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of health tracker skill using JSON file storage - Track water intake and sleep/wake times via user commands - Supports adding, updating, and deleting water and sleep records - Simple statistics view: totals and today’s water intake - Data stored in `{baseDir}/health-data.json` with ISO8601 timestamps - Node.js built-in modules only; file is auto-created if missing
元数据
Slug healthcheck-rose
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Healthcheck Rose 是什么?

Track water and sleep with JSON file storage. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 116 次。

如何安装 Healthcheck Rose?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install healthcheck-rose」即可一键安装,无需额外配置。

Healthcheck Rose 是免费的吗?

是的,Healthcheck Rose 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Healthcheck Rose 支持哪些平台?

Healthcheck Rose 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Healthcheck Rose?

由 roseknife520(@roseknife520)开发并维护,当前版本 v1.0.0。

💬 留言讨论