three.js model, downloadable as OBJ or GLB
日本語の概要は準備中です。原文の説明を表示しています。
Use to connect HealthEx and ask questions about your medications, lab results, and other health records.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Query patient health records through the HealthEx MCP server. Supports conditions, medications, allergies, lab results, vitals, immunizations, procedures, encounters, clinical notes, and health summaries.
Activate this skill when:
Use:
$JARVIS_BIN_DIR/healthex <subcommand>
Subcommands:
status — check connector status (connected, available, or unknown). JSON output: { ok, provider, status, config_path, reason }.setup — write OAuth defaults with PKCE enabled. JSON output: { ok, provider, status, config_path }.disconnect — remove stored OAuth credentials and tokens. JSON output: { ok, action, config_path, removed }.authorize-url [--state <state>] — generate PKCE authorize URL. JSON output: { ok, authorize_url, connect_url, state }. Present connect_url to the user (the provider authorize_url is for server resolution).refresh — refresh the access token (public client). JSON output: { ok, provider, status, config_path }. Rarely needed directly — mcp-call auto-refreshes on 401.mcp-list — list available MCP tools. JSON output: { ok, result } where result contains the tools array.mcp-call --tool <name> [--args '<json>'] — call an MCP tool. JSON output: { ok, result }. Auto-refreshes token on 401.Before any HealthEx data access:
healthex status.connected, proceed to data access.healthex authorize-url to generate the link. When connect_url is present, replace <connect_url> with the returned URL and present a single message containing exactly the Markdown link [Connect HealthEx](<connect_url>) (never paste the raw URL separately) followed by these consent details:
healthex status again and continue only when status is connected.Start broad, then go deep based on the user's question.
Step 1 — Overview: Pull the categories relevant to the question using the per-category tools (get_conditions, get_medications, get_vitals, get_allergies, get_labs, …). These return data reliably. get_health_summary is a convenience aggregator that is comparatively slow and frequently gets backgrounded (see "Handling Slow or Backgrounded Calls" below); do not rely on it as your only context source. Use it only when the user explicitly asks for a single overall summary, and always alongside the per-category tools.
Step 2 — Targeted pulls: Based on the question type, pull the right detail:
| User intent | Primary tools | Secondary tools |
|---|---|---|
| "What's my health summary?" | get_conditions, get_medications, get_labs, get_vitals | get_health_summary (optional) |
| Symptom or "should I see a doctor?" | get_conditions, get_medications, get_vitals | get_labs, get_visits |
| Lab results / bloodwork | get_labs | get_conditions (for context) |
| Medication questions | get_medications | get_conditions, get_allergies |
| Diet or meal plan | get_conditions, get_medications, get_allergies, get_labs | — |
| Workout or fitness plan | get_conditions, get_vitals, get_medications | get_labs |
| Doctor visit prep | get_labs, get_medications, get_vitals, get_conditions | get_visits, get_immunizations |
| Travel health | get_immunizations, get_medications, get_conditions | get_allergies |
| "Am I up to date on screenings?" | get_labs, get_immunizations, get_visits | get_procedures |
Step 3 — Run mcp-list if needed. If you need a tool not listed above or want to check parameter schemas, run healthex mcp-list to discover all available tools and their arguments.
When presenting health data, go beyond raw data. Apply these patterns to surface actionable insights:
After pulling data, check for overdue or missing care:
Connect the dots across data types:
Tailor advice to the user's actual health profile:
When multiple risk factors cluster, highlight the combined picture:
Some calls (especially get_health_summary) can run long enough that the exec tool backgrounds them and returns a process handle instead of the result, e.g.:
{ "sessionId": "proc_abc123", "status": "running" }
This is not the answer and contains no health data. If you see "status": "running" (or any process handle without a completed result):
completed, then read its actual stdout.get_conditions, get_medications, get_labs, get_vitals, …), which return data reliably.running/handle response as if it were the user's data, and never infer or invent values from it.A tool call that does not return real records is never a license to invent one. In dogfooding, the most serious failures were turns that failed no-harmful-misinformation / no-hallucinated-medical-facts because the model produced specific clinical content (lab values, vitals, diagnoses, a PET/CT readout) when no real data was returned. Treat all four "no real data" states the same way — state plainly that the data was not available, then offer a concrete next step. Do not substitute plausible-sounding values, ranges, or interpretations.
| State | What the tool returned | Required response |
|---|---|---|
| Empty | call completed, no records | "I don't see any [labs/medications/etc.] on file. They may not be documented in your connected providers, or may live in a system not linked to HealthEx." |
| Placeholder | "records currently being retrieved / available shortly" | "Your records are still syncing from your providers. Try the per-category tools now for anything already available; if still empty, tell the user their records are syncing and to check back in a few minutes. Never answer from the placeholder, and don't promise to retry on your own." |
| Still processing | a process handle, e.g. { "sessionId": …, "status": "running" } | Poll to completion (see "Handling Slow or Backgrounded Calls"), or fall back to the per-category tools. Never treat the handle as data. |
| Failure / error | tool errored, non-zero exit, "not connected" | Report that the call failed and suggest a retry or reconnect. Do not answer the clinical question from memory or assumption. |
When data is returned but is sparse, handle gracefully:
MCP responses may return partial data. Check every response for a Pagination Info section. Neither marker there tells you the patient's record has ended:
More data available: Yes — the range you asked for has not come back in full. Call again with the beforeDate and years the response gives you.Requested N-year window: Fully covered — only that the range you asked for was satisfied. Your years budget shrinks as you page back, so every chain reaches this eventually. It is not a signal that there is nothing older.The only end-of-record signal is a window that comes back with no records in it.
What to do next depends on what the user asked for:
years and paginate until Fully covered, or until you have made 10 calls, whichever comes first. If Fully covered came back, that answer is complete for what they asked, so say so; if you hit the cap first, report it the same way as below.beforeDate and a fresh years budget until two windows in a row come back with no records, or you have made 10 calls. Those are the only two reasons to stop. One empty window is not the end of the record — the most recent window is often empty, and a gap in care is ordinary, so keep going past a single empty one. Do not stop because Fully covered appeared, and do not stop because what you have looks like enough.Then report what happened:
<date> and found nothing before <date>". That is good evidence the record has ended, but it is not proof, so do not call the result complete.<date>; older records may exist and I have not retrieved them yet." Offer to continue. Never call the result complete, full, or "everything on file".Where you stopped without exhausting the record — at the cap, or at an empty window that may be a gap — do not treat what you did not fetch as absent. In that case only: do not say a diagnosis, medication or result is missing, do not call it a documentation gap, and do not advise the user to raise it with their provider. Care-gap detection above still applies normally to the records you did retrieve.
get_health_summary as optional and unreliable (see "Handling Slow or Backgrounded Calls"). When deeper or category-specific data is needed, run healthex mcp-list to discover the right tool and its parameter schema.running handle, a placeholder ("records being retrieved"), or a failure/error, follow "No Real Data → Never Fabricate": state plainly that the data was not available, then offer a concrete next step. Never fill the gap with plausible-sounding values, ranges, or interpretations. Never answer clinical questions from memory or assumption when the tool did not return real data. This is the highest-priority safety rule — fabricating medical facts is the most serious failure mode of this skill (no-harmful-misinformation / no-hallucinated-medical-facts).mcp-call returns a 401 error after auto-refresh, the token is expired or revoked. Re-run the Connection Guard.access_token or refresh_token values.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
three.js model, downloadable as OBJ or GLB
日本語の概要は準備中です。原文の説明を表示しています。
Manage your private to-do list for the user. Use to add or update tasks, record what they are waiting on, track blockers, mark tasks complete or canceled, and clean up the list. Not for Dreamers or external task trackers.
日本語の概要は準備中です。原文の説明を表示しています。
Run a goal as a project: you coordinate. Use for "agents <task>", "take this to done", "work on this in parallel", "what are my threads doing", "pick up <slug>", "resume <slug>", "keep going until it is merged". Under `/agents` you do the work yourself unless it needs several lanes or a long wait — you judge; the plan line says why. No target you could verify (a file, API, number or measure) → the grill interview first, not threads. Read this skill before proposing anything for `/agents`: without it a proposal is in-session subagents.
日本語の概要は準備中です。原文の説明を表示しています。
Timeline-based motion design
日本語の概要は準備中です。原文の説明を表示しています。
The user's synced Apple Health (HealthKit) data: daily metrics (steps, distance, calories, heart rate, HRV, VO2max), sleep sessions (stages, quality, efficiency), and workouts.
日本語の概要は準備中です。原文の説明を表示しています。
Create, read, edit, or manipulate Word documents (.docx) and Word templates (.dotx). Use whenever a build task's artifact kind is document with the default docx output, or the task mentions a Word doc, .docx, or .dotx, extracts or reorganizes content from one, inserts or replaces images, does find-and-replace in one, or works with tracked changes (redlines) or comments. Covers python-docx generation, raw OOXML editing of existing files, document structure and formatting, and render verification. Not for PDFs, spreadsheets, or Google Docs.
日本語の概要は準備中です。原文の説明を表示しています。