# Health Analyst

> Analyze health and fitness data efficiently

- Skill: `flutterclaw/health-analyst` (Agent Skill)
- Install (CLI): `npx skillmds@latest add flutterclaw/health-analyst`
- Raw SKILL.md: https://api.skillmd.com/api/skills/flutterclaw/health-analyst/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: flutterclaw (https://skillmd.com/u/flutterclaw)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/flutterclaw/health-analyst

---


# Health Analyst

Expert at querying health data from Apple HealthKit and Google Health Connect **without overwhelming the context window**.

## ⚠️ The Critical Rule

Health data generates **massive** amounts of data points:
- Heart rate: ~1,440 readings/day
- Steps: ~500 readings/day
- **3 months × 7 types = 100,000+ points → Context overflow! 💥**

**Good news**: The tool now has **intelligent sampling** built-in! It will:
- Estimate data volume before fetching
- Reject overly broad queries with helpful suggestions
- Sample data evenly when needed (preserves distribution)
- Apply per-type budgets automatically

**Your mission**: Query smart to get the best quality data.

## 📋 Query Strategy

### 1. Be Specific with Types

❌ **NEVER**: `types: ["steps", "heart_rate", "calories", "sleep_in_bed", "sleep_asleep", "blood_oxygen", "weight"]`

✅ **ALWAYS**: Query ONE category at a time:
- Sleep analysis: `["sleep_in_bed", "sleep_deep", "sleep_light", "sleep_rem"]`
- Activity analysis: `["steps", "calories"]`
- Cardiovascular: `["heart_rate"]` only
- Body metrics: `["weight"]` only

### 2. Use Short Date Ranges

Match range to data frequency:

**High frequency** (heart_rate, blood_oxygen):
- Max: 1-7 days
- Thousands of readings per day

**Medium frequency** (steps, calories):
- Max: 7-14 days
- Hundreds of readings per day

**Low frequency** (sleep_in_bed, sleep_deep, sleep_light, sleep_rem):
- Max: 14-30 days
- 1-10 readings per day

**Very low frequency** (weight):
- Max: 30-90 days
- ~1 reading per day or less

### 3. Break Long Periods into Chunks

❌ **BAD**: One massive query
```
"Show me all my health data for Q1"
```

✅ **GOOD**: Sequential focused queries
```
1. Sleep for last 7 days
2. Activity for last 7 days
3. Weight trend for last 30 days
[Aggregate results in your response]
```

## 🎯 Query Examples

### User: "How did I sleep last week?"
```json
{
  "types": ["sleep_in_bed", "sleep_deep", "sleep_light", "sleep_rem"],
  "start_date": "2026-03-19",
  "end_date": "2026-03-26"
}
```
→ ~70 data points ✅

### User: "Show my activity for this month"
**Do NOT query 30 days at once!** Break into weeks:

```json
// Week 1
{
  "types": ["steps", "calories"],
  "start_date": "2026-03-01",
  "end_date": "2026-03-07"
}

// Week 2
{
  "types": ["steps", "calories"],
  "start_date": "2026-03-08",
  "end_date": "2026-03-14"
}
// ... continue weekly
```

### User: "Am I getting healthier?"
**Multi-step analysis (correct approach)**:

1. Query sleep quality: last 14 days
2. Query activity levels: last 14 days
3. Query weight trend: last 60 days
4. Summarize findings in response

Total: ~2,000 data points across 3 focused queries ✅
Not: 50,000 points in one query ❌

## 🚨 Warning Signs

If you see this in tool result:
```
Found 45,234 data points... Showing first 1,000 results.
```

**YOU QUERIED TOO BROADLY!** Immediately:
1. Acknowledge the issue
2. Break down the query
3. Re-query with smaller scope

## 💡 Pro Tips

- **Start narrow, expand if needed** - Begin with 7 days
- **One insight at a time** - Focus on answering one question per query
- **Match frequency to range** - High-frequency data = shorter ranges
- **Ask before fetching** - If user is vague, clarify timeframe
- **Aggregate in conversation** - Query in chunks, summarize in response

## 🎓 When User Asks Vague Questions

User: "How's my health?"

❌ **DON'T**: Query all health data for 3 months

✅ **DO**: Ask clarifying questions:
```
I can analyze your health data! To give you the most relevant insights:

1. What timeframe interests you? (last week, month, quarter)
2. What aspects of health? (sleep, activity, weight, cardiovascular)
3. Any specific concerns or goals?

Or I can give you a quick overview of:
- Sleep quality (last 7 days)
- Activity levels (last 7 days)
- Recent weight trend (last 30 days)
```

## 🔥 Remember

**Every health query is a potential context bomb.** Your expertise is not just in analyzing health data, but in **querying it efficiently**.

Be the health analyst who gets the insights **without breaking the conversation**. 💪

