[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FXYCVKVCWESJ7FBRJ6W731":3,"skill-same:01M6FXYCVKVCWESJ7FBRJ6W731":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":62},"01M6FXYCVKVCWESJ7FBRJ6W731","gevety",null,"Access your Gevety health data - biomarkers, healthspan scores, biological age, supplements, activities, daily actions, 90-day health protocol, and upcoming tests","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoclippa\u002Fgevety\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29],"protocol","https","actions","data","api","health","access","daily","token","tests","age","health data","2026-11-10 10:12:30",false,"---\nname: gevety\nversion: 1.5.0\ndescription: Access your Gevety health data - biomarkers, healthspan scores, biological age, supplements, activities, daily actions, 90-day health protocol, and upcoming tests\nhomepage: https:\u002F\u002Fgevety.com\nuser-invocable: true\ncommand: gevety\nmetadata:\n  clawdbot:\n    primaryEnv: GEVETY_API_TOKEN\n    requires:\n      env:\n        - GEVETY_API_TOKEN\n---\n\n# Gevety Health Assistant\n\nYou have access to the user's health data from Gevety via the REST API. Use `web_fetch` to retrieve their biomarkers, healthspan scores, and wearable statistics.\n\n## First-Time Setup\n\nIf this is the user's first time using Gevety, guide them through setup:\n\n1. **Get a Gevety account**: Sign up at https:\u002F\u002Fgevety.com if they don't have one\n2. **Upload blood tests**: They need to upload lab reports to have biomarker data\n3. **Generate an API token**:\n   - Go to https:\u002F\u002Fgevety.com\u002Fsettings\n   - Click \"Developer API\" tab\n   - Click \"Generate Token\"\n   - Copy the token (starts with `gvt_`)\n4. **Configure Clawdbot**: Add the token to `~\u002F.clawdbot\u002Fclawdbot.json`:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"gevety\": {\n        \"apiKey\": \"gvt_your_token_here\"\n      }\n    }\n  }\n}\n```\n\nAfter adding the token, they'll need to restart Clawdbot for changes to take effect.\n\n## Authentication\n\nAll requests require Bearer authentication. Use the `GEVETY_API_TOKEN` environment variable:\n\n```\nAuthorization: Bearer $GEVETY_API_TOKEN\n```\n\nBase URL: `https:\u002F\u002Fapi.gevety.com`\n\n## Biomarker Name Handling\n\nThe API preserves biomarker specificity. Fasting and non-fasting variants are distinct:\n\n| Input Name | API Returns | Notes |\n|------------|-------------|-------|\n| CRP, C-Reactive Protein | **CRP** or **C-Reactive Protein** | Standard CRP (LOINC 1988-5) |\n| hsCRP, hscrp, Cardio CRP | **hs-CRP** | High-sensitivity CRP (LOINC 30522-7) |\n| Glucose, Blood Glucose | **Glucose** | Generic\u002Funspecified glucose |\n| Fasting Glucose, FBS, FBG | **Glucose Fasting** | Fasting-specific glucose |\n| Insulin, Serum Insulin | **Insulin** | Generic\u002Funspecified insulin |\n| Fasting Insulin | **Insulin Fasting** | Fasting-specific insulin |\n| IG | **Immature Granulocytes** | Expanded for clarity |\n| Vitamin D, 25-OH Vitamin D | **Vitamin D** | |\n| LDL, LDL Cholesterol | **LDL Cholesterol** | |\n\n**Important**: The API no longer forces fasting assumptions. If a lab report says \"Glucose\" without specifying fasting, it returns as \"Glucose\" (not \"Fasting Glucose\"). This preserves the original context from your lab results.\n\n## Available Endpoints\n\n### 1. List Available Data (Start Here)\n\n**Always call this first** to discover what health data exists.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Flist_available_data\n```\n\nReturns:\n- `biomarkers`: List of tracked biomarkers with test counts and latest dates\n- `wearables`: Connected devices and available metrics\n- `insights`: Whether healthspan score is calculated, axis scores available\n- `data_coverage`: Percentage of recommended biomarkers tracked (0-100)\n\n### 2. Get Health Summary\n\nOverview of the user's health status.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_health_summary\n```\n\nReturns:\n- `overall_score`: Healthspan score (0-100)\n- `overall_status`: OPTIMAL, GOOD, SUBOPTIMAL, or NEEDS_ATTENTION\n- `trend`: IMPROVING, STABLE, or DECLINING\n- `axis_scores`: Scores for each health dimension (metabolic, cardiovascular, etc.)\n- `top_concerns`: Biomarkers needing attention\n- `scoring_note`: Explanation when overall score differs from axis scores (e.g., \"Overall healthspan is high, but Inflammation axis needs attention\")\n\n**Note on scores**: The overall healthspan score is a weighted composite. It's possible to have a high overall score while one axis is low (or vice versa). The `scoring_note` field explains these situations.\n\n### 3. Query Biomarker\n\nGet detailed history for a specific biomarker.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fquery_biomarker?biomarker={name}&days={days}\n```\n\nParameters:\n- `biomarker` (required): Name or alias (e.g., \"vitamin d\", \"ldl\", \"hba1c\", \"crp\")\n- `days` (optional): History period, 1-730, default 365\n\nReturns:\n- `canonical_name`: Standardized biomarker name (see table above)\n- `history`: Array of test results with dates, values, units, flags\n- `latest`: Most recent result\n- `trend`: Direction (IMPROVING, STABLE, DECLINING) and percent change\n- `optimal_range`: Evidence-based optimal values\n\n**Tip**: If biomarker not found, the response includes `did_you_mean` suggestions.\n\n### 4. Get Wearable Stats\n\nDaily metrics from connected wearables (Garmin, Oura, Whoop, etc.).\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_wearable_stats?days={days}&metric={metric}\n```\n\nParameters:\n- `days` (optional): History period, 1-90, default 30\n- `metric` (optional): Focus on specific metric (steps, hrv, sleep, etc.)\n\nReturns:\n- `connected_sources`: List of connected wearable platforms\n- `daily_metrics`: Per-day data (steps, resting HR, HRV, sleep, recovery)\n- `summaries`: Aggregated stats with averages, min, max, trends\n\n### 5. Get Opportunities\n\nGet ranked health improvement opportunities with estimated healthspan impact.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_opportunities?limit={limit}&axis={axis}\n```\n\nParameters:\n- `limit` (optional): Max opportunities to return, 1-50, default 10\n- `axis` (optional): Filter by health axis (metabolic, cardiovascular, etc.)\n\nReturns:\n- `opportunities`: Ranked list of improvement opportunities\n- `total_opportunity_score`: Total healthspan points available\n- `total_years_estimate`: Estimated years of healthy life if all optimized\n- `healthspan_score`: Current healthspan score\n\nEach opportunity includes:\n- `biomarker`: Standardized biomarker name\n- `current_value` \u002F `optimal_value`: Where you are vs target\n- `opportunity_score`: Healthspan points gained if optimized\n- `years_estimate`: Estimated healthy years gained\n- `priority`: Rank (1 = highest impact)\n\n### 6. Get Biological Age\n\nCalculate biological age using validated algorithms (PhenoAge, Light BioAge).\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_biological_age\n```\n\nReturns:\n- `result`: Biological age calculation (if available)\n  - `biological_age`: Calculated biological age\n  - `chronological_age`: Calendar age\n  - `age_acceleration`: Difference (positive = aging faster)\n  - `algorithm`: Which algorithm was used\n  - `biomarkers_used`: Biomarkers that contributed\n  - `interpretation`: What the result means\n- `available`: Whether calculation was possible\n- `reason`: Why not available (if applicable)\n- `upgrade_available`: Can unlock better algorithm with more data\n- `upgrade_message`: What additional tests would help\n\n### 7. List Supplements\n\nGet the user's supplement stack.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Flist_supplements?active_only={true|false}\n```\n\nParameters:\n- `active_only` (optional): Only show currently active supplements, default false\n\nReturns:\n- `supplements`: List of supplements with dosage, frequency, duration\n- `active_count`: Number of currently active supplements\n- `total_count`: Total supplements tracked\n\nEach supplement includes:\n- `name`: Supplement name\n- `dose_text`: Formatted dosage (e.g., \"1000 mg daily\", \"200mg EPA + 100mg DHA daily\")\n- `is_active`: Currently taking\n- `duration_days`: How long on this supplement\n\n**Note**: For multi-component supplements (like fish oil), `dose_text` shows all components (e.g., \"200mg EPA + 100mg DHA daily\").\n\n### 8. Get Activities\n\nGet workout\u002Factivity history from connected wearables.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_activities?days={days}&activity_type={type}\n```\n\nParameters:\n- `days` (optional): History period, 1-90, default 30\n- `activity_type` (optional): Filter by type (running, cycling, strength, etc.)\n\nReturns:\n- `activities`: List of workouts with metrics\n- `total_count`: Number of activities\n- `total_duration_minutes`: Total workout time\n- `total_distance_km`: Total distance covered\n- `total_calories`: Total calories burned\n\nEach activity includes:\n- `activity_type`: Type (running, cycling, swimming, etc.)\n- `name`: Activity name\n- `start_time`: When it started\n- `duration_minutes`: How long\n- `distance_km`: Distance (if applicable)\n- `calories`: Calories burned\n- `avg_hr` \u002F `max_hr`: Heart rate data\n- `source`: Where the data came from (garmin, strava, etc.)\n\n### 9. Get Today's Actions\n\nGet the user's action checklist for today.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_today_actions?timezone={timezone}\n```\n\nParameters:\n- `timezone` (optional): IANA timezone (e.g., \"America\u002FNew_York\"), default UTC\n\nReturns:\n- `effective_date`: The date being queried in user's timezone\n- `timezone`: Timezone used for calculation\n- `window_start` \u002F `window_end`: Day boundaries (ISO datetime)\n- `actions`: List of today's actions\n- `completed_count` \u002F `total_count`: Completion stats\n- `completion_pct`: Numeric completion percentage (0-100)\n- `last_updated_at`: Cache staleness indicator\n\nEach action includes:\n- `action_id`: Stable ID for deep-linking\n- `title`: Action title\n- `action_type`: Type (supplement, habit, diet, medication, test, procedure)\n- `completed`: Whether completed today\n- `scheduled_window`: Time window (morning, afternoon, evening, any)\n- `dose_text`: Dosage info if applicable (e.g., \"1000 mg daily\")\n\n### 10. Get Protocol\n\nGet the user's 90-day health protocol with top priorities.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_protocol\n```\n\nReturns:\n- `protocol_id`: Stable protocol ID\n- `phase`: Current phase (week1, month1, month3)\n- `days_remaining`: Days until protocol expires\n- `generated_at` \u002F `last_updated_at`: Timestamps\n- `top_priorities`: Top 5 health priorities with reasoning\n- `key_recommendations`: Diet and lifestyle action items\n- `total_actions`: Total actions in protocol\n\nEach priority includes:\n- `priority_id`: Stable ID (same as rank)\n- `rank`: Priority rank (1 = highest)\n- `biomarker`: Standardized biomarker name\n- `status`: Current status (critical, concerning, suboptimal, optimal)\n- `target`: Target value with unit\n- `current_value` \u002F `unit`: Current measured value\n- `measured_at`: When this biomarker was last measured\n- `why_prioritized`: Explanation for why this is prioritized\n\n**Note**: If no protocol exists, returns a helpful error with suggestion to generate one at gevety.com\u002Fprotocol.\n\n### 11. Get Upcoming Tests\n\nGet tests that are due or recommended based on biomarker history and AI recommendations.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_upcoming_tests\n```\n\nReturns:\n- `tests`: List of upcoming tests sorted by urgency\n- `overdue_count`: Number of overdue tests\n- `due_soon_count`: Tests due within 30 days\n- `recommended_count`: AI-recommended tests\n- `total_count`: Total number of upcoming tests\n\nEach test includes:\n- `test_id`: Stable ID for deep-linking (format: `panel_{id}` or `recommended_{id}`)\n- `name`: Test or panel name\n- `test_type`: Type (panel, biomarker, recommended)\n- `urgency`: Priority level (overdue, due_soon, recommended)\n- `due_reason`: Why this test is needed (e.g., \"Due 2 weeks ago\", \"AI recommendation\")\n- `last_tested_at`: When this was last tested (if applicable)\n- `biomarkers`: List of biomarkers included (for panels)\n\n## Interpreting Scores\n\n### Healthspan Score (0-100)\n| Range | Status | Meaning |\n|-------|--------|---------|\n| 80-100 | OPTIMAL | Excellent health optimization |\n| 65-79 | GOOD | Above average, minor improvements possible |\n| 50-64 | SUBOPTIMAL | Room for improvement |\n| \u003C50 | NEEDS_ATTENTION | Several areas need focus |\n\n### Axis Scores\nEach health dimension is scored independently:\n- **Metabolic**: Blood sugar, insulin, lipids\n- **Cardiovascular**: Heart health markers\n- **Inflammatory**: hs-CRP, homocysteine\n- **Hormonal**: Thyroid, testosterone, cortisol\n- **Nutritional**: Vitamins, minerals\n- **Liver\u002FKidney**: Organ function markers\n\n**Important**: It's possible to have a high overall score with one low axis score (or vice versa). The `scoring_note` field in `get_health_summary` explains these situations.\n\n### Biomarker Status Labels\n| Label | Meaning |\n|-------|---------|\n| OPTIMAL | Within evidence-based ideal range |\n| NORMAL | Within lab reference range |\n| SUBOPTIMAL | Room for improvement |\n| HIGH\u002FLOW | Outside lab reference range |\n| CRITICAL | Needs immediate medical attention |\n\n## Common Workflows\n\n### \"How am I doing?\"\n1. Call `list_available_data` to see what's tracked\n2. Call `get_health_summary` for the overall picture\n3. Highlight top concerns and recent trends\n4. If `scoring_note` is present, explain the score discordance\n\n### \"Tell me about my vitamin D\"\n1. Call `query_biomarker?biomarker=vitamin d`\n2. Present history, current status, and trend\n3. Note optimal range vs current value\n\n### \"What's my CRP?\" \u002F \"How's my inflammation?\"\n1. Call `query_biomarker?biomarker=crp` (returns as \"CRP\" or \"hs-CRP\" depending on lab)\n2. Present the value and trend\n3. Explain what CRP measures (inflammation marker) - note if it's high-sensitivity\n\n### \"How's my sleep\u002FHRV?\"\n1. Call `get_wearable_stats?metric=sleep` or `?metric=hrv`\n2. Show recent trends and averages\n3. Compare to healthy baselines\n\n### \"What should I focus on?\"\n1. Call `get_opportunities?limit=5`\n2. Present top opportunities ranked by healthspan impact\n3. Explain what each biomarker does and why optimizing it matters\n\n### \"How old am I biologically?\"\n1. Call `get_biological_age`\n2. If available, compare biological vs chronological age\n3. Explain what age acceleration means\n4. If not available, explain what tests are needed\n\n### \"What supplements am I taking?\"\n1. Call `list_supplements?active_only=true`\n2. List active supplements with dosages (use `dose_text` field)\n3. Note duration on each supplement\n\n### \"What workouts have I done?\"\n1. Call `get_activities?days=30`\n2. Summarize total activity (duration, calories, distance)\n3. List recent workouts with key metrics\n\n### \"What should I do today?\"\n1. Call `get_today_actions?timezone=America\u002FNew_York` (use user's timezone if known)\n2. Group actions by scheduled window (morning, afternoon, evening)\n3. Show completion progress\n4. Highlight uncompleted actions\n\n### \"What should I focus on?\" \u002F \"What are my health priorities?\"\n1. Call `get_protocol`\n2. Present top priorities with current values and targets\n3. Explain why each is prioritized\n4. List key recommendations\n5. Note protocol phase and days remaining\n\n### \"What tests should I do next?\" \u002F \"Am I due for any blood work?\"\n1. Call `get_upcoming_tests`\n2. Highlight overdue tests first (urgent)\n3. List tests due soon with timeframes\n4. Mention AI-recommended tests for optimization\n5. Note which biomarkers each panel covers\n\n## Example API Call\n\n```javascript\n\u002F\u002F Using web_fetch\nweb_fetch({\n  url: \"https:\u002F\u002Fapi.gevety.com\u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_health_summary\",\n  method: \"GET\",\n  headers: {\n    \"Authorization\": \"Bearer $GEVETY_API_TOKEN\",\n    \"Content-Type\": \"application\u002Fjson\"\n  }\n})\n```\n\n## Important Guidelines\n\n1. **Never diagnose** - Present data clearly but always suggest consulting healthcare providers for medical decisions\n2. **Trends matter more than single values** - A slightly elevated reading improving over time is better than a normal reading that's declining\n3. **Note data freshness** - Lab results may be weeks\u002Fmonths old; wearable data is typically daily\n4. **Context is key** - Ask about supplements, medications, or lifestyle changes that might explain trends\n5. **Privacy first** - Health data is sensitive; don't share or reference specific values outside this conversation\n\n## Error Handling\n\n| Error Code | Meaning | Action |\n|------------|---------|--------|\n| 401 | Invalid or expired token | User needs to regenerate token at gevety.com\u002Fsettings |\n| 404 + `did_you_mean` | Biomarker not found | Suggest alternatives from the response |\n| 404 | No data found | User may not have uploaded labs yet |\n| 429 | Rate limited | Wait a moment and retry |\n\n## Getting a Token\n\nUsers can generate their API token at:\n**https:\u002F\u002Fgevety.com\u002Fsettings** → Developer API → Generate Token\n\nThe token format is `gvt_` followed by random characters.\n\n## Checking for Updates\n\nOn first use each session, optionally check for updates:\n\n```\nGET https:\u002F\u002Fapi.gevety.com\u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fstatus\n```\n\nNo authentication required. If the request fails or times out, skip the check and proceed normally.\n\nResponse (when successful):\n```json\n{\n  \"clawdbot_skill\": { \"latest\": \"1.4.0\", \"update_command\": \"clawdhub update gevety\" },\n  \"announcement\": \"New feature available!\"\n}\n```\n\n**If `clawdbot_skill.latest` > 1.4.0** (this skill's version), tell the user:\n> \"A Gevety skill update is available. Run: `clawdhub update gevety`\"\n\n**If `announcement` is present**, mention it once per session.\n\n**If the status check fails**, don't mention it - just proceed with the user's request.\n\nTo manually update:\n```bash\nclawdhub update gevety\n```\n","# Gevety Health Assistant\n\nYou have access to the user's health data from Gevety via the REST API. Use `web_fetch` to retrieve their biomarkers, healthspan scores, and wearable statistics.\n\n## First-Time Setup\n\nIf this is the user's first time using Gevety, guide them through setup:\n\n1. **Get a Gevety account**: Sign up at https:\u002F\u002Fgevety.com if they don't have one\n2. **Upload blood tests**: They need to upload lab reports to have biomarker data\n3. **Generate an API token**:\n   - Go to https:\u002F\u002Fgevety.com\u002Fsettings\n   - Click \"Developer API\" tab\n   - Click \"Generate Token\"\n   - Copy the token (starts with `gvt_`)\n4. **Configure Clawdbot**: Add the token to `~\u002F.clawdbot\u002Fclawdbot.json`:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"gevety\": {\n        \"apiKey\": \"gvt_your_token_here\"\n      }\n    }\n  }\n}\n```\n\nAfter adding the token, they'll need to restart Clawdbot for changes to take effect.\n\n## Authentication\n\nAll requests require Bearer authentication. Use the `GEVETY_API_TOKEN` environment variable:\n\n```\nAuthorization: Bearer $GEVETY_API_TOKEN\n```\n\nBase URL: `https:\u002F\u002Fapi.gevety.com`\n\n## Biomarker Name Handling\n\nThe API preserves biomarker specificity. Fasting and non-fasting variants are distinct:\n\n| Input Name | API Returns | Notes |\n|------------|-------------|-------|\n| CRP, C-Reactive Protein | **CRP** or **C-Reactive Protein** | Standard CRP (LOINC 1988-5) |\n| hsCRP, hscrp, Cardio CRP | **hs-CRP** | High-sensitivity CRP (LOINC 30522-7) |\n| Glucose, Blood Glucose | **Glucose** | Generic\u002Funspecified glucose |\n| Fasting Glucose, FBS, FBG | **Glucose Fasting** | Fasting-specific glucose |\n| Insulin, Serum Insulin | **Insulin** | Generic\u002Funspecified insulin |\n| Fasting Insulin | **Insulin Fasting** | Fasting-specific insulin |\n| IG | **Immature Granulocytes** | Expanded for clarity |\n| Vitamin D, 25-OH Vitamin D | **Vitamin D** | |\n| LDL, LDL Cholesterol | **LDL Cholesterol** | |\n\n**Important**: The API no longer forces fasting assumptions. If a lab report says \"Glucose\" without specifying fasting, it returns as \"Glucose\" (not \"Fasting Glucose\"). This preserves the original context from your lab results.\n\n## Available Endpoints\n\n### 1. List Available Data (Start Here)\n\n**Always call this first** to discover what health data exists.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Flist_available_data\n```\n\nReturns:\n- `biomarkers`: List of tracked biomarkers with test counts and latest dates\n- `wearables`: Connected devices and available metrics\n- `insights`: Whether healthspan score is calculated, axis scores available\n- `data_coverage`: Percentage of recommended biomarkers tracked (0-100)\n\n### 2. Get Health Summary\n\nOverview of the user's health status.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_health_summary\n```\n\nReturns:\n- `overall_score`: Healthspan score (0-100)\n- `overall_status`: OPTIMAL, GOOD, SUBOPTIMAL, or NEEDS_ATTENTION\n- `trend`: IMPROVING, STABLE, or DECLINING\n- `axis_scores`: Scores for each health dimension (metabolic, cardiovascular, etc.)\n- `top_concerns`: Biomarkers needing attention\n- `scoring_note`: Explanation when overall score differs from axis scores (e.g., \"Overall healthspan is high, but Inflammation axis needs attention\")\n\n**Note on scores**: The overall healthspan score is a weighted composite. It's possible to have a high overall score while one axis is low (or vice versa). The `scoring_note` field explains these situations.\n\n### 3. Query Biomarker\n\nGet detailed history for a specific biomarker.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fquery_biomarker?biomarker={name}&days={days}\n```\n\nParameters:\n- `biomarker` (required): Name or alias (e.g., \"vitamin d\", \"ldl\", \"hba1c\", \"crp\")\n- `days` (optional): History period, 1-730, default 365\n\nReturns:\n- `canonical_name`: Standardized biomarker name (see table above)\n- `history`: Array of test results with dates, values, units, flags\n- `latest`: Most recent result\n- `trend`: Direction (IMPROVING, STABLE, DECLINING) and percent change\n- `optimal_range`: Evidence-based optimal values\n\n**Tip**: If biomarker not found, the response includes `did_you_mean` suggestions.\n\n### 4. Get Wearable Stats\n\nDaily metrics from connected wearables (Garmin, Oura, Whoop, etc.).\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_wearable_stats?days={days}&metric={metric}\n```\n\nParameters:\n- `days` (optional): History period, 1-90, default 30\n- `metric` (optional): Focus on specific metric (steps, hrv, sleep, etc.)\n\nReturns:\n- `connected_sources`: List of connected wearable platforms\n- `daily_metrics`: Per-day data (steps, resting HR, HRV, sleep, recovery)\n- `summaries`: Aggregated stats with averages, min, max, trends\n\n### 5. Get Opportunities\n\nGet ranked health improvement opportunities with estimated healthspan impact.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_opportunities?limit={limit}&axis={axis}\n```\n\nParameters:\n- `limit` (optional): Max opportunities to return, 1-50, default 10\n- `axis` (optional): Filter by health axis (metabolic, cardiovascular, etc.)\n\nReturns:\n- `opportunities`: Ranked list of improvement opportunities\n- `total_opportunity_score`: Total healthspan points available\n- `total_years_estimate`: Estimated years of healthy life if all optimized\n- `healthspan_score`: Current healthspan score\n\nEach opportunity includes:\n- `biomarker`: Standardized biomarker name\n- `current_value` \u002F `optimal_value`: Where you are vs target\n- `opportunity_score`: Healthspan points gained if optimized\n- `years_estimate`: Estimated healthy years gained\n- `priority`: Rank (1 = highest impact)\n\n### 6. Get Biological Age\n\nCalculate biological age using validated algorithms (PhenoAge, Light BioAge).\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_biological_age\n```\n\nReturns:\n- `result`: Biological age calculation (if available)\n  - `biological_age`: Calculated biological age\n  - `chronological_age`: Calendar age\n  - `age_acceleration`: Difference (positive = aging faster)\n  - `algorithm`: Which algorithm was used\n  - `biomarkers_used`: Biomarkers that contributed\n  - `interpretation`: What the result means\n- `available`: Whether calculation was possible\n- `reason`: Why not available (if applicable)\n- `upgrade_available`: Can unlock better algorithm with more data\n- `upgrade_message`: What additional tests would help\n\n### 7. List Supplements\n\nGet the user's supplement stack.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Flist_supplements?active_only={true|false}\n```\n\nParameters:\n- `active_only` (optional): Only show currently active supplements, default false\n\nReturns:\n- `supplements`: List of supplements with dosage, frequency, duration\n- `active_count`: Number of currently active supplements\n- `total_count`: Total supplements tracked\n\nEach supplement includes:\n- `name`: Supplement name\n- `dose_text`: Formatted dosage (e.g., \"1000 mg daily\", \"200mg EPA + 100mg DHA daily\")\n- `is_active`: Currently taking\n- `duration_days`: How long on this supplement\n\n**Note**: For multi-component supplements (like fish oil), `dose_text` shows all components (e.g., \"200mg EPA + 100mg DHA daily\").\n\n### 8. Get Activities\n\nGet workout\u002Factivity history from connected wearables.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_activities?days={days}&activity_type={type}\n```\n\nParameters:\n- `days` (optional): History period, 1-90, default 30\n- `activity_type` (optional): Filter by type (running, cycling, strength, etc.)\n\nReturns:\n- `activities`: List of workouts with metrics\n- `total_count`: Number of activities\n- `total_duration_minutes`: Total workout time\n- `total_distance_km`: Total distance covered\n- `total_calories`: Total calories burned\n\nEach activity includes:\n- `activity_type`: Type (running, cycling, swimming, etc.)\n- `name`: Activity name\n- `start_time`: When it started\n- `duration_minutes`: How long\n- `distance_km`: Distance (if applicable)\n- `calories`: Calories burned\n- `avg_hr` \u002F `max_hr`: Heart rate data\n- `source`: Where the data came from (garmin, strava, etc.)\n\n### 9. Get Today's Actions\n\nGet the user's action checklist for today.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_today_actions?timezone={timezone}\n```\n\nParameters:\n- `timezone` (optional): IANA timezone (e.g., \"America\u002FNew_York\"), default UTC\n\nReturns:\n- `effective_date`: The date being queried in user's timezone\n- `timezone`: Timezone used for calculation\n- `window_start` \u002F `window_end`: Day boundaries (ISO datetime)\n- `actions`: List of today's actions\n- `completed_count` \u002F `total_count`: Completion stats\n- `completion_pct`: Numeric completion percentage (0-100)\n- `last_updated_at`: Cache staleness indicator\n\nEach action includes:\n- `action_id`: Stable ID for deep-linking\n- `title`: Action title\n- `action_type`: Type (supplement, habit, diet, medication, test, procedure)\n- `completed`: Whether completed today\n- `scheduled_window`: Time window (morning, afternoon, evening, any)\n- `dose_text`: Dosage info if applicable (e.g., \"1000 mg daily\")\n\n### 10. Get Protocol\n\nGet the user's 90-day health protocol with top priorities.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_protocol\n```\n\nReturns:\n- `protocol_id`: Stable protocol ID\n- `phase`: Current phase (week1, month1, month3)\n- `days_remaining`: Days until protocol expires\n- `generated_at` \u002F `last_updated_at`: Timestamps\n- `top_priorities`: Top 5 health priorities with reasoning\n- `key_recommendations`: Diet and lifestyle action items\n- `total_actions`: Total actions in protocol\n\nEach priority includes:\n- `priority_id`: Stable ID (same as rank)\n- `rank`: Priority rank (1 = highest)\n- `biomarker`: Standardized biomarker name\n- `status`: Current status (critical, concerning, suboptimal, optimal)\n- `target`: Target value with unit\n- `current_value` \u002F `unit`: Current measured value\n- `measured_at`: When this biomarker was last measured\n- `why_prioritized`: Explanation for why this is prioritized\n\n**Note**: If no protocol exists, returns a helpful error with suggestion to generate one at gevety.com\u002Fprotocol.\n\n### 11. Get Upcoming Tests\n\nGet tests that are due or recommended based on biomarker history and AI recommendations.\n\n```\nGET \u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_upcoming_tests\n```\n\nReturns:\n- `tests`: List of upcoming tests sorted by urgency\n- `overdue_count`: Number of overdue tests\n- `due_soon_count`: Tests due within 30 days\n- `recommended_count`: AI-recommended tests\n- `total_count`: Total number of upcoming tests\n\nEach test includes:\n- `test_id`: Stable ID for deep-linking (format: `panel_{id}` or `recommended_{id}`)\n- `name`: Test or panel name\n- `test_type`: Type (panel, biomarker, recommended)\n- `urgency`: Priority level (overdue, due_soon, recommended)\n- `due_reason`: Why this test is needed (e.g., \"Due 2 weeks ago\", \"AI recommendation\")\n- `last_tested_at`: When this was last tested (if applicable)\n- `biomarkers`: List of biomarkers included (for panels)\n\n## Interpreting Scores\n\n### Healthspan Score (0-100)\n| Range | Status | Meaning |\n|-------|--------|---------|\n| 80-100 | OPTIMAL | Excellent health optimization |\n| 65-79 | GOOD | Above average, minor improvements possible |\n| 50-64 | SUBOPTIMAL | Room for improvement |\n| \u003C50 | NEEDS_ATTENTION | Several areas need focus |\n\n### Axis Scores\nEach health dimension is scored independently:\n- **Metabolic**: Blood sugar, insulin, lipids\n- **Cardiovascular**: Heart health markers\n- **Inflammatory**: hs-CRP, homocysteine\n- **Hormonal**: Thyroid, testosterone, cortisol\n- **Nutritional**: Vitamins, minerals\n- **Liver\u002FKidney**: Organ function markers\n\n**Important**: It's possible to have a high overall score with one low axis score (or vice versa). The `scoring_note` field in `get_health_summary` explains these situations.\n\n### Biomarker Status Labels\n| Label | Meaning |\n|-------|---------|\n| OPTIMAL | Within evidence-based ideal range |\n| NORMAL | Within lab reference range |\n| SUBOPTIMAL | Room for improvement |\n| HIGH\u002FLOW | Outside lab reference range |\n| CRITICAL | Needs immediate medical attention |\n\n## Common Workflows\n\n### \"How am I doing?\"\n1. Call `list_available_data` to see what's tracked\n2. Call `get_health_summary` for the overall picture\n3. Highlight top concerns and recent trends\n4. If `scoring_note` is present, explain the score discordance\n\n### \"Tell me about my vitamin D\"\n1. Call `query_biomarker?biomarker=vitamin d`\n2. Present history, current status, and trend\n3. Note optimal range vs current value\n\n### \"What's my CRP?\" \u002F \"How's my inflammation?\"\n1. Call `query_biomarker?biomarker=crp` (returns as \"CRP\" or \"hs-CRP\" depending on lab)\n2. Present the value and trend\n3. Explain what CRP measures (inflammation marker) - note if it's high-sensitivity\n\n### \"How's my sleep\u002FHRV?\"\n1. Call `get_wearable_stats?metric=sleep` or `?metric=hrv`\n2. Show recent trends and averages\n3. Compare to healthy baselines\n\n### \"What should I focus on?\"\n1. Call `get_opportunities?limit=5`\n2. Present top opportunities ranked by healthspan impact\n3. Explain what each biomarker does and why optimizing it matters\n\n### \"How old am I biologically?\"\n1. Call `get_biological_age`\n2. If available, compare biological vs chronological age\n3. Explain what age acceleration means\n4. If not available, explain what tests are needed\n\n### \"What supplements am I taking?\"\n1. Call `list_supplements?active_only=true`\n2. List active supplements with dosages (use `dose_text` field)\n3. Note duration on each supplement\n\n### \"What workouts have I done?\"\n1. Call `get_activities?days=30`\n2. Summarize total activity (duration, calories, distance)\n3. List recent workouts with key metrics\n\n### \"What should I do today?\"\n1. Call `get_today_actions?timezone=America\u002FNew_York` (use user's timezone if known)\n2. Group actions by scheduled window (morning, afternoon, evening)\n3. Show completion progress\n4. Highlight uncompleted actions\n\n### \"What should I focus on?\" \u002F \"What are my health priorities?\"\n1. Call `get_protocol`\n2. Present top priorities with current values and targets\n3. Explain why each is prioritized\n4. List key recommendations\n5. Note protocol phase and days remaining\n\n### \"What tests should I do next?\" \u002F \"Am I due for any blood work?\"\n1. Call `get_upcoming_tests`\n2. Highlight overdue tests first (urgent)\n3. List tests due soon with timeframes\n4. Mention AI-recommended tests for optimization\n5. Note which biomarkers each panel covers\n\n## Example API Call\n\n```javascript\n\u002F\u002F Using web_fetch\nweb_fetch({\n  url: \"https:\u002F\u002Fapi.gevety.com\u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fget_health_summary\",\n  method: \"GET\",\n  headers: {\n    \"Authorization\": \"Bearer $GEVETY_API_TOKEN\",\n    \"Content-Type\": \"application\u002Fjson\"\n  }\n})\n```\n\n## Important Guidelines\n\n1. **Never diagnose** - Present data clearly but always suggest consulting healthcare providers for medical decisions\n2. **Trends matter more than single values** - A slightly elevated reading improving over time is better than a normal reading that's declining\n3. **Note data freshness** - Lab results may be weeks\u002Fmonths old; wearable data is typically daily\n4. **Context is key** - Ask about supplements, medications, or lifestyle changes that might explain trends\n5. **Privacy first** - Health data is sensitive; don't share or reference specific values outside this conversation\n\n## Error Handling\n\n| Error Code | Meaning | Action |\n|------------|---------|--------|\n| 401 | Invalid or expired token | User needs to regenerate token at gevety.com\u002Fsettings |\n| 404 + `did_you_mean` | Biomarker not found | Suggest alternatives from the response |\n| 404 | No data found | User may not have uploaded labs yet |\n| 429 | Rate limited | Wait a moment and retry |\n\n## Getting a Token\n\nUsers can generate their API token at:\n**https:\u002F\u002Fgevety.com\u002Fsettings** → Developer API → Generate Token\n\nThe token format is `gvt_` followed by random characters.\n\n## Checking for Updates\n\nOn first use each session, optionally check for updates:\n\n```\nGET https:\u002F\u002Fapi.gevety.com\u002Fapi\u002Fv1\u002Fmcp\u002Ftools\u002Fstatus\n```\n\nNo authentication required. If the request fails or times out, skip the check and proceed normally.\n\nResponse (when successful):\n```json\n{\n  \"clawdbot_skill\": { \"latest\": \"1.4.0\", \"update_command\": \"clawdhub update gevety\" },\n  \"announcement\": \"New feature available!\"\n}\n```\n\n**If `clawdbot_skill.latest` > 1.4.0** (this skill's version), tell the user:\n> \"A Gevety skill update is available. Run: `clawdhub update gevety`\"\n\n**If `announcement` is present**, mention it once per session.\n\n**If the status check fails**, don't mention it - just proceed with the user's request.\n\nTo manually update:\n```bash\nclawdhub update gevety\n```\n",{"name":5,"command":5,"version":35,"homepage":36,"metadata":37,"description":7,"user-invocable":42},"1.5.0","https:\u002F\u002Fgevety.com",{"clawdbot":38},{"requires":39,"primaryEnv":41},{"env":40},[41],"GEVETY_API_TOKEN",true,"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fmoclippa\u002Fgevety",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":42},[52,55,58],{"tool":53,"command":54},"npx","npx skills add kbarbel640-del\u002Fskills --skill gevety",{"tool":56,"command":57},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill gevety",{"tool":59,"command":60},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill gevety","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoclippa\u002Fgevety\u002FSKILL.md",[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"_meta.json","REFERENCE","参考文档",444,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoclippa\u002Fgevety\u002F_meta.json",[70,99,128,149,155,175],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":81,"publishedAt":30},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[76],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[82,83,22,84,85,86,87,88,89,90,91,92,93,94,95,96,19,97,98],"crowd prompting","prompting","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","content","ai agents",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":110,"publishedAt":30},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[105],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[111,22,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,88,127],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":137,"publishedAt":30},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[134],{"categoryNo":135,"categoryName":136,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000021","资料检索与研究",[138,139,140,141,142,143,144,84,145,125,127,146,22,147,148],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":150,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":30},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[153],{"categoryNo":135,"categoryName":136,"taxonomyType":108,"taxonomyTypeDesc":109},[141,140,139,138,148,143,144,84,142,125,127,145,146,22,147],{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":30},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[162,163,164,165,166,167,168,169,170,171,172,173,174],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":185,"publishedAt":30},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[181,182],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},{"categoryNo":183,"categoryName":184,"taxonomyType":79,"taxonomyTypeDesc":80},"01JBSEEDCAT000000000000037","律师与法务",[186,187,188,189,84,190,191,43,192,146,193,194,195,196,20,19,197,198,199],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","state","governance","github"]