xiaoyi-health CLI Skills Index

0 0 Updated: 2026-07-28 18:19:44

Query personal exercise and health data for analysis and interpretation. Coverage areas include: heart rate, resting heart rate, HRV, heart rhythm (atrial fibrillation/premature beats), blood pressure; sleep duration/stages/quality, naps; steps, activity level, exercise duration, exercise records (running/cycling/fitness), VO2Max, fitness trends, training load, recovery status; stress, mood, anxiety, fatigue; blood oxygen (SpO2); blood glucose, postprandial blood glucose; body temperature, fever; weight, BMI, body fat percentage; nutrient intake, dietary calories; menstrual cycle, menstruation, basal body temperature (BBT), ovulation; daily health overview, weekly health summary; weight management, fat loss, muscle gain; diet records, diet tracking, noting what was eaten, consuming XX, drinking XX in the morning, photo-based diet recording, food image recognition, photo check-in. Use this index to determine the specific skills to load, and then load them as needed; do not load all skills at once.

Install
bunx skills add https://github.com/18816132863/xiaoyi-claw-omega-final --skill xiaoyi-health
Skill Details readonly

🧭 Are you still troubled by too much health data? Learn about this "road sign" skill

In the morning, you open your wristband and see that your deep sleep duration last night was insufficient, your HRV was low, and your blood pressure was a bit high in the morning... You want to check all these data at once, but you don't want to load a bunch of skills you never use (for example, if you don't run, why load running analysis?). At this moment, you need a Xiaoyi Health CLI skill index. It acts like a "road sign" for health data—it only takes you to the corresponding sub-skill based on the question you ask.

🚀 How does it work?

Here is its routing table (from the official documentation):

  • If you ask about heart rate, heartbeat, HRV, blood pressure → automatically load the cardiovascular sub-skill
  • If you ask about sleep, deep sleep, REM, insomnia → load sleep-coach
  • If you ask about blood sugar, postprandial blood sugar → load blood-sugar-coach
  • If you ask about weight, body fat, fat loss → load weight-management
  • If you ask about menstruation, ovulation, basal body temperature → load reproductive-health
  • If you take a photo of food to identify calories → load photo-diet-logging
  • ...A total of 16 sub-skills, covering 27+ health domains

So when you input "How was my sleep last night?" the index immediately matches sleep-coach, instead of loading unrelated skills like running, blood oxygen, or nutrition. This is the essence of "on-demand loading"—only take what you need; leave the rest aside.

💡 Practical use case

I am currently in a fat-loss phase, and every morning I must ask two things: "Last night's sleep quality" and "Today's fasting blood sugar." Using this index, I can execute two commands in a row:

node ./skills/xiaoyi-health/bin/pha-claw.js "How long did I sleep last night? What is the deep sleep percentage?"

The system first reads the index, locates sleep-coach, loads its SKILL.md, then calls the related CLI tool to fetch data and returns a sleep analysis conclusion. Then:

node ./skills/xiaoyi-health/bin/pha-claw.js "What is my fasting blood sugar this morning?"

This time it locates blood-sugar-coach, loads it, and returns blood sugar trends and analysis. The whole process is very fast because only one sub-skill is loaded each time. If I want to check both sleep and blood sugar simultaneously, the system even supports parallel loading—loading sleep-coach and blood-sugar-coach at the same time, fetching data concurrently for higher efficiency.

🔧 Installation and configuration

Installation is very simple, just one command:

npx skills add https://github.com/18816132863/xiaoyi-claw-omega-final --skill xiaoyi-health-cli-index

The author is 18816132863, the repository is xiaoyi-claw-omega-final. After installation, you will find the index's SKILL.md file in the skills/xiaoyi-health directory, as well as an execution script bin/pha-claw.js. Then you can directly query using the command line.

📂 List of sub-skills (partial)

Here is a more detailed routing table I compiled from the official documentation, for your convenience:

User intent Loaded sub-skill
Heart rate, blood pressure, HRV, atrial fibrillation cardiovascular
Sleep duration, quality, stages sleep-coach
Naps, power naps naps
Stress, anxiety, mood, burnout mental-health
Steps, activity, exercise, VO2Max fitness
Running ability, pace, cadence running
Blood oxygen (SpO2) blood-oxygen
Blood sugar, postprandial blood sugar blood-sugar-coach
Body temperature, fever body-temperature
Weight, BMI, body fat, fat loss/muscle gain weight-management
Nutrition intake, dietary calories nutrition
Menstrual cycle, period, ovulation, basal body temperature reproductive-health
Weekly health summary weekly-review
Today's health overview health-overview
Text logging of diet (ate something) diet-logging
Photo food recognition photo-diet-logging

⚡ Loading strategy: simple vs complex

Each sub-skill further refines the data retrieval path. For example, if you ask "How many steps did I walk yesterday?" this is a simple query, fetching data from only one tool (steps). But if you ask "What is my fitness trend for this week?" the fitness sub-skill will fetch data from multiple tools in parallel (steps, activity, exercise duration, VO2Max, etc.) and perform a comprehensive analysis. The index itself does not care about these details—it is only responsible for routing. How data is fetched and analyzed is handled by the sub-skills themselves.

🤔 Why design it as an index?

To be honest, when I first saw this design, I thought it was unnecessary—why not just create one big health skill? But after thinking about it, health data is really too complex. Heart rate monitoring and blood sugar monitoring follow completely different logic, and exercise ability analysis has nothing to do with sleep analysis. If you cram everything into one large skill, not only does the code become highly coupled, but every request would require loading all modules...