anthropics/procedure-coding
Assign CPT and HCPCS Level II procedure codes from clinical documentation the way a professional coder builds the claim. Use when users say "code this encounter for procedures", "what CPT codes apply", "assign HCPCS codes", "code this op note", or when turning visit notes or operative reports into claim-ready procedure codes.
npx skills add https://github.com/anthropics/healthcare --skill procedure-coding
Turn one encounter's clinical documentation into the procedure codes a professional coder would submit on the claim: CPT (five digits, or four digits + F for Category II tracking codes) for physician services, procedures, and quality measures, plus HCPCS Level II (letter + four digits) for supplies, devices, and non-physician services CPT does not cover.
Read the documentation and list each distinct billable service performed at this encounter. Work by category:
Leave off the list: services planned but not performed, results referenced from a prior date, and items already bundled into a procedure's global package.
HCPCS Level II codes (one letter + four digits) cover items CPT does not. Check the documentation for these specifically:
Do not output quality-reporting G-codes (G8-/G9- range) or non-covered-item codes. These report participation in a quality program or a coverage determination; whether they belong on the claim depends on the practice's program enrollment and the payer, not on the clinical documentation. A data point appearing in the note (BMI in vitals, medication list reviewed, tobacco status in social history) is not by itself a reason to report the corresponding quality code.
Category II tracking codes are reported when the encounter is part of a quality-reporting workflow, not whenever the data point happens to appear in routine vitals or history. Output a ####F code only when the note shows the measure was deliberately captured for reporting: a quality-measure or health-maintenance section, measure-specific attestation language, or a structured screening result.
For every item on your abstracted list, search before you commit.
HCPCS Level II (letter + four digits): use search_codes for the supply, device, drug, or service name, passing the encounter date as as_of. Confirm with validate_code and the same as_of.
CPT (five-digit and ####F): if a CPT lookup connector is available (cpt_search_codes), use it with the service in plain words taken from the note and confirm with cpt_lookup_code. If no CPT connector is available, propose CPT codes from your knowledge of the current code set and state that they are pending verification against the user's licensed CPT reference — CPT descriptors are AMA-licensed and not bundled with this skill.
One or two searches per item is sufficient. If the right code is not in the first results, refine the query once with more specific wording from the note; then commit or move on. Do not loop on the same item.
After tool calls, output only the codes that belong on the claim, one per line, no other text. List each code once. Do not output J#### or Q#### codes. If a service you abstracted has no matching code in the lookup results and you cannot confidently propose one, omit it rather than guessing.
Take anthropics/procedure-coding from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.