ElizaOS Plugin

Turn any ElizaOS agent into a health-aware companion.

Setup

import { createVitalClawPlugin } from "@vitalclaw/sdk";

const plugin = createVitalClawPlugin({
  userId: "user-001",
  providers: [
    {
      provider: "fitbit",
      credentials: { /* ... */ },
    },
  ],
});

// Add to your ElizaOS agent's character file
// plugins: ["plugin-vitalclaw"]

Actions

ActionTriggersDescription
CHECK_VITALS"check my vitals", "health status", "vital signs"Returns latest vital signs with wellness score
DAILY_HEALTH_SUMMARY"daily summary", "today's health", "how did I do today"Comprehensive daily report by metric category
WEEKLY_HEALTH_SUMMARY"weekly summary", "how was my week", "weekly recap"Weekly report with trends and auto-generated insights
LOG_VITALS"log blood pressure 120/80", "log weight 74", "log heart rate 75"Parses natural language and records measurements
HEALTH_TRENDS"show my trends", "am I improving", "progress report"Trend analysis over 7/14/30/90 days
SET_HEALTH_ALERT"alert me if heart rate goes above 100", "notify me when glucose drops below 70"Creates custom alert rules from natural language

Context Provider

The plugin injects a health data context into the agent's memory on every message, so the agent always has access to the user's current health state:

// Automatically injected into agent context:
[VitalClaw Health Context]
Date: 2026-02-12
Data points: 1,247
Connected providers: fitbit, manual
Wellness score: 78/100
Resting HR: 62 bpm
SpO2: 97%
Steps today: 8,432
Sleep last night: 7.5h

Safety Evaluator

Every agent response passes through a safety evaluator that detects potential medical diagnoses or treatment recommendations:

// The evaluator scans for patterns like:
// - "you have [condition]" → flagged as diagnosis
// - "take this medication" → flagged as treatment
// - "increase your dosage" → flagged as treatment

// Returns:
{ safe: false, reason: "Response contains medical diagnosis",
  suggestion: "Rephrase to present data and recommend consulting a professional" }

Pre-built Characters

Vita — Health Companion

General-purpose health agent. Calm, precise, covers all metric categories. System prompt includes reference ranges for all vitals and strict instructions to never diagnose or prescribe.

import { healthCompanionCharacter } from "@vitalclaw/sdk";
// Use as your agent's character file

Rex — Fitness Coach

Activity-focused agent. Energetic, tracks steps/calories/VO2 max, celebrates milestones and streaks.

import { fitnessCoachCharacter } from "@vitalclaw/sdk";

Luna — Sleep Analyst

Sleep-focused agent. Gentle, analyzes duration, stages (deep/light/REM/awake), efficiency, latency, and consistency. Provides evidence-based sleep hygiene recommendations grounded in NSF guidelines.

import { sleepAnalystCharacter } from "@vitalclaw/sdk";

Custom Character

Build your own health-focused agent by combining VitalClaw actions with your own system prompt:

const myCharacter = {
  name: "DocBot",
  system: `You are a health assistant powered by VitalClaw.
Present data clearly. Never diagnose. Always recommend consulting
a healthcare professional for medical concerns.`,
  plugins: ["plugin-vitalclaw"],
  settings: {
    secrets: {
      VITALCLAW_CONFIG: JSON.stringify({
        userId: "user-001",
        providers: [{ provider: "fitbit", credentials: { /* ... */ } }],
      }),
    },
  },
};

Full Plugin Structure

const plugin = createVitalClawPlugin(config);

console.log(plugin.name);        // "plugin-vitalclaw"
console.log(plugin.actions);      // 6 actions
console.log(plugin.providers);    // 1 context provider
console.log(plugin.evaluators);   // 1 safety evaluator