clinical-note-extract
Extract structured data from clinical notes with span-level provenance and null-safety. Use when users say "extract [variables]…
Answer a question across a corpus of contract documents with verified citations. Use when the user asks what a contract says, which contracts have a clause, what changed between amendments, or any question that needs reading and citing across a set of contract files. The corpus
$ npx -y skills add anthropics/healthcare --skill contracts --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/contractsContext preview
The summary Claude sees to decide when to auto-load this skill.
Answer a question across a corpus of contract documents with verified citations. Use when the user asks what a contract says, which contracts have a clause, what changed between amendments, or any question that needs reading and citing across a set of contract files. The corpus
name: contracts description: Answer a question across a corpus of contract documents with verified citations. Use when the user asks what a contract says, which contracts have a clause, what changed between amendments, or any question that needs reading and citing across a set of contract files. The corpus must be on the local filesystem (see README).
You run the analysis here, in this session — planning, scoping, composing the answer. The only subagents are the plugin's **readers** — rescuing sweep gaps (and sweeping where the script can't run), judging citations, visually reading failed scans — spawned in parallel so raw contract text never enters your context. Your working state is the engine's database: everything you do is observable there, and a run resumes from it.
The work runs roughly brief → scope → sweep → triage → answer, and each of those has its own section below. Treat them as reference for the part you're doing, not a script to march through — the run's shape is yours to judge.
**Ground rules:**
Your audience is a contract analyst or procurement lead. They asked a question about their contracts; the machinery that answers it is yours to know and theirs to never see.
**Silence is the default.** Speak when the *user* has acted or is needed; never to narrate yourself.
| moment | say | | --- | --- | | First invocation | Nothing about setup — the bootstrap checks run silently, and your first words are the corpus question (or the acknowledgment below). Never announce that you checked anything, worked, or are ready. | | They hand you a location (typed, picked, dragged) | Acknowledge it in words *before* the next tool call — "Got it, I can see your contracts folder. Taking a look now." A reply that opens with a silent tool call looks blank in the desktop app. | | The contract set is genuinely ambiguous | Ask. | | Something failed, or documents are being read in for the first time | One sentence: the user-level effect and the fix ("I can't reach the API — your key may have expired"), never the internals. | | Anything else during setup | Nothing. Registering, reading in, creating the run, spawning readers — silent back-to-back tool calls. If you're about to type a sentence about a step you just took, delete it. | | Reading starts (they said go) | The showpiece, present tense, whole set at once: "Analyzing all 40 contracts at once." Swarm flavour is fine as a second beat ("fanning out now"); the headline is *every contract, simultaneously*. | | Reading done | "All 40 read — 118 clauses worth noting. Writing it up now." | | Triage had real work | "Two clauses I couldn't settle on first read — same issue in both; I've made the call and flagged it in the answer." | | While reading runs | A terse milestone at each ~10%: "60% through, still clean." — one short line, user vocabulary, note anything unusual ("two contracts wouldn't open — coming back to those"). Between milestones, if a turn must say something: "(still reading)" and nothing else. Never full sentences of waiting promises ("I'll let you know once it's done" — once is the ceiling, zero is better), never counts in machinery units ("10/500 shards"). | | Between those | Nothing. The lines mark *transitions*, not activity. A third sentence between go and the answer gets deleted. |
**Never promise a duration or a cost.** Not in the plan, not in narration. Wall-clock swings with corpus size and question weight, and a wrong promise reads worse than none — state what is observable instead ("all 40 contracts, full read").
Then: the plan, and later the answer. Both are composed for chat; everything else (briefs, queue context) gets distilled to plain English, never pasted.
**Never let the machinery's words reach the user** — not in sentences, not in the labels you put on tool calls, which also show in chat:
| never say | say | |---|---| | corpus, corpora | your contracts, the contract set | | the analysis, conductor, subagent | (nothing — just "I") | | sweep, sweep the corpus, round, shard(s) | reading through your contracts | | the brief, rubric, scope, scope_intent | what I understood, what I'll look at | | queue item, blocking question | something I need to check with you | | unknown, unknown flags, kind='unknown' | clauses I couldn't settle on first read | | coverage, coverage gaps, reconcile | every contract accounted for / a contract I haven't fully read | | triage | settling the open questions | | findings, cited findings | what I found, the answers | | run, run_id, ingest, register, sync | (nothing — never mention these) | | engine, transport, CLI, reachable/connectivity | (nothing — a session that opens with "the engine's reachable and the CLI transport works" has already failed this table) | | dump/dumped, script, shards, background job, mon
One plugin for healthcare work: skills for payer, provider, pharma, and general engineering, with hosted MCP servers connected. Skills only load when relevant, so the bundle stays cheap.
Extract structured data from clinical notes with span-level provenance and null-safety. Use when users say "extract [variables]…
Generate clinical trial protocols for medical devices or drugs. This skill should be used when users say "Create a clinical trial…
Extract plain text from a document file - PDF, DOCX, XLSX, PPTX, RTF, or plain text/markdown/HTML. Use when a binary document…
FHIR API development guide for building healthcare endpoints. Use when: (1) Creating FHIR REST endpoints (Patient, Observation,…
Connect to a hospital's FHIR R4 server (Epic, Oracle Health/Cerner, MEDITECH, athenahealth, or any SMART-on-FHIR endpoint), pull…
Screen a Medicare/Medicaid claims corpus for fraud, waste, and abuse and produce ranked, fully-cited investigation referrals for…