Guided daily or weekly health check-in workflow with adaptive questioning
This skill provides a structured, interactive health check-in workflow that adapts to the user's active conditions and medications. Use this for daily or weekly health monitoring.
Guide users through a comprehensive health check-in that covers medication adherence, vital measurements, symptoms, and diet. The check-in adapts based on active conditions and produces a summary at the end.
Before starting the check-in, gather context:
condition_list(status="active")medication_list(active_only=true)Follow this structured flow in order. Use progressive disclosure — ask one question at a time and wait for response before proceeding.
If the user has active medications:
For each active medication:
medication_log_dose(medication_id=..., notes=...)Based on active conditions, prompt for relevant measurements:
Standard vitals for everyone:
measurement_log(type="weight", value=..., unit="kg")Condition-specific vitals:
If user has diabetes or "blood sugar" condition:
measurement_log(type="blood_glucose", value=..., unit="mg/dL")If user has hypertension or cardiovascular condition:
measurement_log(type="blood_pressure", value={"systolic": 120, "diastolic": 80}, unit="mmHg")If user has respiratory condition:
measurement_log(type="oxygen_saturation", value=..., unit="%")If user tracks heart rate:
measurement_log(type="heart_rate", value=..., unit="bpm")Progressive approach:
Screen for symptoms based on active conditions:
General screening:
symptom_log(name=..., severity=..., notes=...)Condition-specific screening:
For each reported symptom:
symptom_log(name=..., severity=..., notes=...)Important: Only ask about condition-relevant symptoms. If user has no active conditions, do general screening only.
Ask: "Would you like to log any meals from today?"
If yes:
eaten_at — this is required. Use the user's stated or estimated time. If they say "lunch around noon", use today at 12:00. For planned/future meals, use the expected time.meal_log(type=..., description=..., eaten_at=..., nutrition={...})If user is tracking specific dietary concerns (based on conditions):
nutrition_summary to review calorie intakeAfter completing the check-in, generate a summary using this template:
# Health Check-In Summary
**Date:** [current date]
**Type:** [daily/weekly]
## Medication Adherence
[List each medication with adherence status]
- [Medication name]: ✓ Taken / ✗ Missed [reason if provided]
## Vital Signs
[List measurements logged]
- [Type]: [value] [unit] [trend indicator if available]
## Symptoms
[List symptoms reported]
- [Symptom name]: Severity [1-10] [notes]
[Or "No new symptoms reported" if none]
## Diet
[Summary of meals logged or "No meals logged"]
## Notes
[Any additional observations or concerns]
## Follow-Up Actions
[Suggest any recommended actions based on the check-in]
- [Action item 1]
- [Action item 2]
Trend indicators:
measurement_latest(type=...)Follow-up recommendations:
After presenting the summary to the user:
research_save(topic="Health Check-In [date]", content="[summary text]")research_searchFor daily check-ins:
For weekly check-ins:
trend_report to show weekly trendsmedication_historynutrition_summaryUser preferences:
Bot: "Good morning! Let's do your daily health check-in. First, let's check on your medications."
Bot: "Did you take your Metformin 500mg this morning?" User: "Yes, just took it." Bot: [Logs dose] "Great! Did you take your Lisinopril 10mg?" User: "Not yet, I'll take it with breakfast." Bot: [Notes for reminder] "Okay, I'll note that. Now let's check your vitals."
Bot: "What's your blood glucose reading this morning?" User: "112 mg/dL" Bot: [Logs measurement] "That's within normal range. Would you like to log your blood pressure today?" User: "Yes, it's 128 over 82." Bot: [Logs measurement] "Got it. Any symptoms you'd like to report today?" User: "No, feeling good." Bot: [Generates summary and offers to save]
Bot: "Here's your check-in summary: [displays formatted summary]. Would you like me to save this summary for future reference?"