Health Auto Log
Overview
Automatically detect health metrics from user messages and record them to AX3 Personal system. Supports weight, blood sugar, and exercise time tracking with flexible input formats.
When to Use This Skill
Trigger this skill when user messages contain:
- Weight measurements (e.g., "體重69.8公斤", "69.8kg", "69.8")
- Blood sugar readings (e.g., "血糖120", "120 mg/dL")
- Exercise time (e.g., "跑步機30分", "跑步30")
Quick Start
Use the record_health_data.py script to process any message:
python3 scripts/record_health_data.py "體重69.8公斤"
The script will:
- Extract health metrics from the message
- Validate the values are within reasonable ranges
- Record to AX3 using mcporter
- Return confirmation with record IDs
Supported Metrics
1. Weight (體重)
Habit ID: 1
Unit: kg
Range: 40-200 kg
Supported formats:
體重69.8公斤69.8kg69.8(plain number)
2. Blood Sugar (血糖)
Habit ID: 4
Unit: mg/dL
Range: 50-500 mg/dL
Supported formats:
血糖120120 mg/dL
3. Running Time (跑步機)
Habit ID: 2
Unit: minutes
Supported formats:
跑步機30分跑步30
Workflow
Automatic Detection Flow
- Receive message from WhatsApp or other channel
- Run script with message text:
python3 scripts/record_health_data.py "<message>" - Extract metrics using regex patterns
- Validate values are in reasonable ranges
- Record to AX3 via mcporter call to
ax3-personal.record_habit - Confirm with user showing what was recorded
Example Usage
# Single metric
python3 scripts/record_health_data.py "體重69.8公斤"
# Output: ✅ 體重 69.8 kg 已記錄
# Multiple metrics in one message
python3 scripts/record_health_data.py "體重69.8公斤 血糖120"
# Output:
# ✅ 體重 69.8 kg 已記錄
# ✅ 血糖 120 mg/dL 已記錄
Integration Pattern
When a user sends a health-related message:
- Call the script with the message text
- Parse the JSON output to check if data was detected
- If detected, respond with confirmation (e.g., "收到!69.8 kg 已記錄 📝")
- If not detected, reply normally without mentioning the skill
Error Handling
The script includes validation:
- Out of range values are ignored (e.g., weight of 500kg won't be recorded)
- Invalid formats are silently skipped
- mcporter failures are captured and returned in the JSON output
Resources
scripts/record_health_data.py
Python script that handles:
- Pattern matching for various health data formats
- Value validation and range checking
- AX3 API calls via mcporter
- JSON output for programmatic integration
The script can be called directly or integrated into message handling workflows.