submit-claim

submit-claim is a skill for Claude Code, Codex from jlintz/claude_uhc_plugins. It costs 60 tokens per session (5,613 once invoked), scanned A, original, MIT.

An automation for submitting UnitedHealthcare medical reimbursement claims from a superbill or medical receipt. A superbill is a healthcare billing document listing the services and charges you received.

In plain words
What is it for?
Use it to process an out-of-network claim from a PDF or image, using subscriber details from a configuration file and a connected Chrome browser.
Why use it?
It reduces manual copying of patient and billing details into UnitedHealthcare's reimbursement form.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths; names the AskUserQuestion tool.

Good fit Use it to process an out-of-network claim from a PDF or image, using subscriber details from a configuration file and a connected Chrome browser.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jlintz/claude_uhc_plugins/submit-claim
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jlintz/claude_uhc_plugins --skill submit-claim
Clone the repo
git clone --depth 1 https://github.com/jlintz/claude_uhc_plugins

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin uhc-submit-claim/plugin install uhc-submit-claim after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for submit-claim

README.md
[![agentmods](https://agentmods.dev/badge/skills/jlintz/claude_uhc_plugins/submit-claim.svg)](https://agentmods.dev/skills/jlintz/claude_uhc_plugins/submit-claim)
Your own site
<a href="https://agentmods.dev/skills/jlintz/claude_uhc_plugins/submit-claim"><img src="https://agentmods.dev/badge/skills/jlintz/claude_uhc_plugins/submit-claim.svg" alt="Measured on agentmods" height="20"></a>
Per session 60 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,613 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00060 $0.05613
Opus 5 $0.00030 $0.02806
Sonnet 5 $0.00012 $0.01123
Haiku 4.5 $0.00006 $0.00561

Measured 4d ago against content hash 834880a15ea1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

submit-claim scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/uhc-submit-claim/skills/submit-claim/SKILL.md · 366 lines

How it starts

The opening of the file, as written. The whole thing — 366 lines — stays where its author put it; the contents beside it link to each section on GitHub.

UHC Direct Medical Reimbursement — Claim Submission

This skill automates filling out UHC's Direct Medical Reimbursement form at https://memberforms.uhc.com/DirectMedicalReimbursement.html using data extracted from a superbill or medical receipt.

Prerequisites

  • Chrome browser open with Chrome DevTools MCP connected
  • config/member.json populated with subscriber details including email address (will prompt to create if missing)

When to Use

This skill activates when the user requests to:

  • Submit a medical claim or insurance claim
  • Fill out the UHC reimbursement form
  • Process a superbill or medical receipt for insurance
  • Submit an out-of-network claim

Critical: The form lies about whether a field is filled

This is an AEM adaptive form. Every input has two states: the raw DOM input.value, and the framework's bound value that validation actually reads. fill/fill_form can set the first without committing the second. When that happens the field looks correct in a take_snapshot and on screen, but "Next" or "Search" silently does nothing — no error text, no aria-invalid anywhere on the page.

The tell is the wrapper class. input.closest('.guideFieldNode').className must contain validation-success af-field-filled. An uncommitted field stays af-field-empty, usually alongside guideActiveField (meaning it is still focused, so blur never fired).

The most common cause: fill_form leaves its LAST field focused and uncommitted. It blurs each field as it moves to the next, but nothing blurs the final one. In practice, expect to fix the last field of every batch — it is the default case, not the exception. Fields observed hitting this: Group number, provider search ZIP, provider manual-entry ZIP, Charge amount, Provider TIN, added-line Date of service.

The fix (works for every field — TIN, ZIP, dates, amounts) via evaluate_script:

() => {
  const n = [...document.querySelectorAll('.guideFieldNode')].find(x => x.className.includes('FIELD_CLASS'));
  const el = n.querySelector('input');
  const setter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
  el.focus();
  setter.call(el, 'VALUE');
  ['input','change','blur'].forEach(t => el.dispatchEvent(new Event(t, { bubbles: true })));
  el.blur();
  return { val: el.value, cls: n.className };
}

Read the full file on GitHub · 366 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +54 lines 834880a15ea1
  2. 7d ago First seen · 312 lines · 60 tokens per session scan A de17e8e075d4

Subscribe to this mod's changes

submit-claim is a skill published in the GitHub repository jlintz/claude_uhc_plugins (3 stars, last pushed 4d ago), licensed MIT. It adds 60 tokens to every session and 5,613 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories