Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Memory
Health Mate
Try itExecutable OpenClaw health-report skill with Chinese, English, and Japanese report flows. It reads Markdown logs only from an explicitly configured MEMORY_DI...
What it does
Health-Mate is an executable OpenClaw skill, not a prompt-only package.
The skill document
Health-Mate
Health-Mate is an executable OpenClaw skill, not a prompt-only package.
It reads structured Markdown logs from MEMORY_DIR, generates localized PDF reports, and can optionally deliver the final message to external services.
What It Does
- Parses meals, hydration, exercise, symptoms, medication, and custom monitoring sections
- Generates daily reports with scoring, detail sections, AI insight, risk alerts, and next-day actions
- Generates weekly reports with rings, paired trend charts, audience-specific insight modules, weekly review, and next-week plan
- Generates monthly reports with radar, branch-aware heatmaps, 30-day weight and BMR trend, specialty charts, follow-up reminders, and clinic suggestions
- Supports explicit report routing through
report_preferences.population_branch, while the setup wizard still auto-suggests lifestyle vs disease mode from the primary goal - Switches
balanced/fat_lossreports into a lifestyle-review path with activity heatmaps, energy-balance, habit-progression, and lean-mass/fat-mass charts while skipping hospital lookup - Supports multi-condition management in both LLM and local fallback paths
- Keeps core parsing, scoring, and PDF rendering local
Installation
pip install -r requirements.txt
Dependencies:
reportlabpillowmatplotlib
Required Runtime Setup
Required:
MEMORY_DIR
Optional:
NVM_DIRCRON_PATHOPENCLAW_BINTAVILY_API_KEYDINGTALK_WEBHOOKFEISHU_WEBHOOKTELEGRAM_BOT_TOKENTELEGRAM_CHAT_IDLOG_FILEREPORT_WEB_DIRREPORT_BASE_URLALLOW_RUNTIME_FONT_DOWNLOAD
For ClawHub manual folder upload:
config/.env.examplemay be missing from the uploaded package- use the top-level
envblock insideconfig/user_config.example.jsonas the upload-safe reference template - the setup wizard can create a commented project-local
config/.envtemplate if the file does not already exist - runtime scripts still read project-local
config/.env - keep only the keys you intend this skill to read inside project-local
config/.env
Upgrade And Backup Notice
Before upgrading or reinstalling this skill, back up:
config/user_config.jsonconfig/.env- any local font file you manually placed under
assets/
Important:
- some platform upgrade or reinstall flows may overwrite, reset, or remove local configuration files
- after an upgrade, re-check
MEMORY_DIR, report preferences, scoring modules, webhook settings, and Tavily settings before running scheduled jobs again - if needed, also verify
report_preferences.population_branchinconfig/user_config.json
Local And Network Behavior
Expected local file I/O:
- reads Markdown logs from
MEMORY_DIR - reads project-local
config/.envwhen shell runners are used and the file exists - the setup wizard may create a commented project-local
config/.envtemplate when the file is missing - may rely on
config/user_config.example.jsonas the upload-safe env reference during manual installation - writes PDFs into
reports/ - writes logs into
logs/ - may create a temporary English memory mirror for rendering fallback
Expected network I/O:
- Tavily only when
TAVILY_API_KEYis configured - webhook delivery only when the matching delivery credentials are configured
- runtime font download only when
ALLOW_RUNTIME_FONT_DOWNLOAD=true
Important:
- there is no implicit default
MEMORY_DIRfallback in the shell runners - the skill exits if
MEMORY_DIRis missing - shell runners use
NVM_DIRandCRON_PATHfrom the environment or project-localconfig/.env, with built-in defaults when those keys are missing - the Python local-LLM resolver uses
OPENCLAW_BINfirst and then tries common install paths without hardcoding a single fixed cronPATH
Commands
-
/healthDaily report -
/health summaryWeekly report -
/health monthMonthly report
Memory Write Protocol
When writing into MEMORY_DIR, the model must act like a strict recorder.
Hard rules:
- Never write commentary, advice, summaries, emoji, or chat filler into the file.
- Meals, hydration, medication events, and exercise events must use level-3 headings with time markers.
- Hydration blocks must remain minimal and structured.
- Step totals must stay in one dedicated level-2 block.
- Monitoring modules must use stable level-2 headings.
- Use one language per block.
Core template:
# 2026-03-20 Health Log
## Meals
### Breakfast (around 08:30)
- Oatmeal 50g -> approx. 190kcal
- Skim milk 250ml -> approx. 87kcal
## Hydration
### Morning (around 09:45)
- Water intake: 300ml
- Cumulative: 300ml/2000ml
## Exercise
### Afternoon Cycling (around 17:17)
- Distance: 10km
- Duration: 47min
- Burn: approx. 300kcal
## Today Steps
- Total steps: 8500 steps
Chinese core template:
# 2026-03-20 健康记录
## 体重记录
- 晨起空腹:64.4kg
## 饮水记录
### 上午(约 08:45)
- 饮水量:300ml
- 累计:300ml/2000ml
## 饮食记录
### 早餐(约 08:50)
- 燕麦片 50g -> 约 190kcal
- 脱脂牛奶 250ml -> 约 87kcal
## 运动记录
### 下午骑行(约 17:10)
- 距离:10.2km
- 耗时:42min
- 消耗:约 290kcal
## 今日步数
- 总步数:8200 步
## 用药记录
- 胆舒胶囊:1 粒
Chinese monitoring-module constraints:
## 血压记录/## 血糖记录/## 体成分/## 生化记录must stay as stable level-2 titles- numeric monitoring blocks should use stable item labels such as
- 血压:128/82 mmHg,- 血糖:7.1 mmol/L,- ALT:34 U/L - do not mix commentary into monitoring blocks
- do not turn monitoring blocks into tables
- do not rename the same monitoring module on different days unless the user intentionally changed the module name
Recommended LLM instruction:
- paste the English or Chinese template above directly into your system prompt,
soul.md, or memory-write policy so the model stays inside the parser-safe structure - if custom modules are enabled in
user_config.json, add their exact section titles to the LLM write protocol and keep those titles stable across days
Expandable monitoring modules:
## Blood Pressure
### Morning (around 08:00)
- Blood Pressure: 128/82 mmHg
- Heart Rate: 72 bpm
## Glucose Record
### After Breakfast (around 10:10)
- Glucose: 7.1 mmol/L
- Timing: 2h after breakfast
## Body Composition
- Weight: 64.4kg
- Body Fat: 18.6%
## Biochemistry
- ALT: 34 U/L
- AST: 28 U/L
Forbidden content:
AssessmentStatusSummary- motivational filler
- debug notes
- system logs
- tables inside daily memory files
Monthly Report Expectations
The monthly report now includes:
- macro adherence radar
- healthy-day donut chart based on the full calendar month
- symptom and medication heatmap
- 30-day weight and BMR trend
- condition-specific specialty charts
- lifestyle-mode specialty charts for
balanced/fat_loss: energy balance, four-week habit progression, and lean-mass/fat-mass composition - AI monthly review
- follow-up reminders or periodic screening suggestions, depending on the active monthly mode
- residence-aware hospital-and-doctor suggestions with grouped recommendations, grades, booking hints, and optional fee / schedule fields for disease-management modes
If the user manages multiple conditions, the monthly report should combine them instead of collapsing to a single narrow perspective.
Font Fallback
Preferred CJK font paths:
assets/NotoSansSC-VF.ttfassets/NotoSansJP-VF.ttf
If one of them is missing:
- the skill may switch to an English-compatible rendering path
- the output adds a rendering notice
- users who need Chinese PDF output should place
NotoSansSC-VF.ttfintoassets/ - users who need Japanese PDF output should place
NotoSansJP-VF.ttfintoassets/
Changelog
v1.5.4 - 2026-04-01
- Enhanced PDF visual styling with refined layout and improved readability
- Fixed minor formatting issues in daily, weekly, and monthly report generators
- Optimized symbol rendering for better cross-platform compatibility
v1.5.3 - 2026-03-29
- Sanitized local-LLM stdout before AI commentary is embedded into push text or PDFs, preventing OpenClaw plugin-registration logs from leaking into reports
- Added a second daily-PDF commentary filter as a defensive fallback for unexpected plugin log fragments
- Aligned direct Python execution with the shell runners by auto-loading project-local config/.env when variables are not already exported
v1.5.2 - 2026-03-25
- Updated the upload-safe env example with OpenClaw default
MEMORY_DIR, sanitized web-publish placeholders, and the sharedLOG_FILEexample - Extended
init_config.pyso first-time setup can create a commented project-localconfig/.envtemplate without overwriting an existing one - Clarified SKILL metadata and runtime notes around project-local
.env, cron PATH helpers, and optional-network behavior - Verified that the setup wizard really creates the commented
config/.envtemplate when the file is missing - Added a monthly lifestyle-review split for
balanced/fat_loss, including new charts, renamed section titles, screening suggestions, and hospital-lookup bypass
v1.5.1 - 2026-03-24
- Optimized Cron environment configuration for reliable LLM invocation in scheduled tasks
- Embedded the upload-safe env reference into
config/user_config.example.json - Kept
daily_health_report_pro.sh,weekly_health_report_pro.sh, andmonthly_health_report_pro.shloading environment variables from.env - Changed all shell script comments to English for better internationalization
- Ensures scheduled daily/weekly/monthly reports can successfully call local LLM for AI insights
v1.5.0 - 2026-03-23
- Removed the legacy
scripts/health_report_pro.pyandscripts/pdf_generator.pywrappers - Extended
init_config.pyto coverja-JP - Clarified env-first local LLM resolution through
OPENCLAW_BINand common-path auto-discovery - Added explicit Japanese font fallback guidance and English-fallback notice behavior
v1.4.0 - 2026-03-21
- Added monthly reporting
- Added weekly and monthly symptom and medication heatmaps
- Added monthly weight and BMR trend output
- Added residence-aware monthly medical planning
- Refreshed README, README_ZH, SKILL metadata, and package metadata
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from tankeito
Browse all skillsPersonalized workout plans, fitness meals, and recovery tracking driven by your stored profile.
Collect Linux host and web logs, query metrics, send alerts, and schedule PDF reports with guarded remediation.
通过自然语言配置健康档案,主动引导录入体重、饮食、饮水、运动数据,生成专业健康报告并多端推送。
Google Docs API integration with managed OAuth via Maton. Create documents, read full text, write/append content, search and replace, apply paragraph styles...
Fetch global news from RSS/API sources, auto-generate articles with images, and publish to WordPress or custom CMS platforms
Connects to IMAP mailboxes using built-in provider routing to filter, normalize, extract data via regex, and push matching emails with precise time window co...