queue-triage

$npx mdskill add anthropics/healthcare/queue-triage

Workers return `findings` with `kind='unknown'` for anything they couldn't resolve. Your job: roll those up into a small, useful set of questions.

SKILL.md

.github/skills/queue-triageView on GitHub ↗
---
name: queue-triage
description: After a sweep round, dedupe and triage worker unknowns into the human queue. Self-resolve the obvious (visibly); blocking items end the round.
---

# Queue triage

Workers return `findings` with `kind='unknown'` for anything they couldn't
resolve. Your job: roll those up into a small, useful set of questions.

```
bun $ANT_CONTRACTS_CLI sql "SELECT id,worker,claim FROM findings WHERE run_id='$ANT_CONTRACTS_RUN_ID' AND round=<r> AND kind='unknown'"
```

## Dedupe

Many workers hit the same ambiguity ("does §4.2 in amendment 3 supersede
the base or only the prior amendment?"). One queue item, not twelve. Group
by what's actually being asked, not by which document raised it.

## Self-resolve

If the answer is obvious from the corpus, the brief, or ratified knowledge,
resolve it yourself — but **visibly**:

```
bun $ANT_CONTRACTS_CLI write queue_items '{"run_id":"'$ANT_CONTRACTS_RUN_ID'","brief_id":<b>,"round":<r>,"question":"…","context":"…","blocking":0,"status":"self_resolved","answer":"…","answered_by":"agent"}'
```

The trigger requires `answered_by` on self-resolved items. Provenance is
the point — a human reviewing the run sees what you decided and why.

## What goes to the human

Genuine ambiguity the corpus can't resolve and you shouldn't guess. State
the question plainly, give the options you see, and link the citation that
shows the ambiguity. Mark it `blocking:1` only if the answer changes what
the next sweep round reads or how findings are interpreted. No drama.

```
bun $ANT_CONTRACTS_CLI write queue_items '{"run_id":"'$ANT_CONTRACTS_RUN_ID'","brief_id":<b>,"round":<r>,"question":"…","context":"…","blocking":1}'
bun $ANT_CONTRACTS_CLI write queue_citations '{"queue_item_id":<q>,"citation_id":<c>}'
```

## End the round

If any open blocking item exists → `set runs $ANT_CONTRACTS_RUN_ID status awaiting_human`
and return. Otherwise continue to synthesize.

More from anthropics/healthcare

SkillDescription
citationsHow to mint a citation. Every fact FKs to a citations row; citations verify against documents.content (never disk) at insert time and are immutable after.
contractsAnswer 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).
fhir-developer-skill>
icd10-cm-skillExtract billable ICD-10-CM diagnosis codes from a clinical note the way a professional coder builds the claim. Use when users say "code this encounter", "assign ICD-10 codes", "what diagnosis codes apply", "code this chart", or when turning clinical documentation into claim-ready diagnosis codes.
knowledge-harvestAfter a run completes, propose durable facts learned during the run for the knowledge index. A human ratifies — always. Proposals ride the queue.
prior-auth-review-skillAutomate payer review of prior authorization (PA) requests. This skill should be used when users say "Review this PA request", "Process prior authorization for [procedure]", "Assess medical necessity", "Generate PA decision", or when processing clinical documentation for coverage policy validation and authorization decisions.
reformulateTurn the user's question into a versioned BRIEF (rubric, stated assumptions, done-criteria, scope intent). Use before any sweep. Consults the knowledge index and may pre-scan a few documents to sharpen terms.
sweepFan out over the scoped document set via the saved sweep workflow. Workers full-read their shard and write findings + citations directly via cli.ts. Recall over precision — never skip a scoped doc.
synthesizeAfter sweep rounds settle, turn findings into a report with cited claims, run a sampled semantic audit, and surface knowledge proposals. Analysis happens via scripts, never mental math.