three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.
- 입체 모델을 만들고 모든 각도에서 확인하기
- Blender에서 편집할 모델 만들기
- 모델의 윤곽과 재질 표현 확인하기
HealthEx에 연결해 복약, 검사 결과, 알레르기, 진료 이력 등 건강 기록을 확인합니다. 항목별로 정보를 정리해 진료 전 기록 확인과 의사에게 물어볼 내용 준비를 돕습니다.
Use to connect HealthEx and ask questions about your medications, lab results, and other health records.
실행 점수 미검증
설치 방법 보기healthex는 HealthEx에 연결해 복약, 검사 결과, 병력, 알레르기, 예방 접종, 진료 이력 등 건강 기록을 확인합니다. 질문과 관련된 항목을 가져와 출처와 함께 정리합니다. 기록을 가져오지 못하면 수치나 병명을 채워 넣지 않고 데이터가 없거나 조회에 실패했다고 알립니다.
진료 전에 복약과 최근 검사를 돌아보거나 여러 항목에 나뉜 건강 정보를 모아 확인할 때 유용합니다. 여행 전 예방 접종 기록 확인에도 사용할 수 있습니다. 과거 기록을 조회할 때는 확인된 기간과 아직 가져오지 못했을 가능성을 구분합니다.
HealthEx 연결과 OAuth 인증이 필요합니다. 접근은 읽기 전용이며 HealthEx에서 철회할 때까지 유지됩니다. 연결된 출처에 없는 기록은 확인할 수 없습니다. 진단, 치료 제안, 임상적 해석을 하지 않으며 의료진과 상담하도록 안내합니다. 현재 요청의 범위를 넘어 건강 데이터를 저장하지 않는 방침입니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.
점수에는 넣지 않았습니다. 2026년 10월 24일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.
개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.
Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.
Apple Health에 동기화된 걸음 수, 심박수, 수면, 운동 기록을 기간별로 확인하고 일상 변화와 동기화 상태, 누락된 데이터를 살펴봅니다.
Word 문서와 템플릿을 만들고 편집하며 내용 추출, 이미지 교체, 변경 내용 추적과 메모를 다룹니다. 제목과 목록 구조를 정리하고 모든 페이지의 표시를 확인합니다.