zava-claims-export
Skill677 starsChanged 4 months agoMITView on GitHub
Converts a raw claims export workbook (one claim per row) into a polished,
In this repository8 other files it gives its agents.
- src/extend-m365-copilot/path-e-lab01-declarative-copilot/RepairServiceAgent/AGENTS.mdAGENTS.md
- archive/src/agent-framework/complete/.github/copilot-instructions.mdCopilot instructions
- .github/copilot-instructions.mdCopilot instructions
- copilot-dev-camp-lab-authorSkill
- dev-camp-deckSkill
- dev-camp-documentSkill
- foundry-researchSkill
- weekly-status-mailSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 61
Find the input: If the user attached a file, use that path.
- Distinctive: line 100
Never fabricate data: Only values present in the source appear in the report.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Claims Report
Automate the boring part of claims reporting: take a raw export and return a report a manager would be happy to open — headline numbers up top, breakdowns and charts on a Dashboard, and a tidy, filterable Claims Detail table behind it.
The report design lives in the THEME block at the top of
scripts/build_report.py. That block is the reference template — colours,
fonts, and number formats. Edit it once and every future report inherits it.
When to Use
Trigger when the user has a flat claims/loss/incident export (one claim per row) and wants it turned into a formatted, summarized report. The canonical input is the columns below; the script tolerates minor header-name variation.
When NOT to Use
- The user wants a written narrative (memo, summary letter) → use
docx. - The user wants slides for a meeting → use
pptx. - The user wants a clickable/interactive dashboard → use
canvas. - A generic spreadsheet task with no claims structure → use
xlsx. - The export is not row-per-claim (e.g. already a pivot/summary) — reshape
it first, or fall back to
xlsx.
Expected Input Schema
| Column | Example | Notes |
| Claim Number | CN202504990 | Row key; blank / "Total" rows are dropped |
| Claimant Name | David King | |
| Location | 9607 Maple Dr, Bellevue, WA 98004 | City/State/ZIP parsed out |
| Damage Type | Mold damage - moderate severity; Water damage | Split into primary / severity / other |
| Status | Open - Claim is under investigation | Short status kept for grouping |
| Date Filed | 2026-04-11 | ISO or common date formats |
| Estimated Cost | 10608 | Numeric; missing values are counted, never invented |
See references/schema.md for full parsing rules and how to add a column.
Workflow
- Find the input. If the user attached a file, use that path. Otherwise
look in
input/for the claims export (Glob input/**/*.xlsx). If nothing is found, ask the user for the file — do not invent data. - Build the report into scratch space (never write to
output/directly):
The script prints a one-line summary (python scripts/build_report.py --in "<input.xlsx>" --out working/claims_report.xlsx --title "Insurance Claims Report"claims=… skipped_rows=… total_cost=… avg_cost=…) and notes any claims missing a cost. Read that line back to the user in plain language. - Publish to the user surface with the artifact tool (output/ is
read-only to direct writes):
CopyArtifact(surface="output", source="working/claims_report.xlsx", destination="Claims Report.xlsx") - Confirm delivery (blocking):
Glob output/**/*must show the file before you tell the user it's ready. If it's missing, re-run step 3. - Summarize the headline numbers (total claims, total & average estimated cost, open vs closed, top damage type) so the user gets value in the chat even before opening the file. Ground every number in the script's output — never estimate.
Output
A single .xlsx with two sheets:
- Dashboard — title banner (source file, generated date, filing range), six KPI cards (Total Claims, Total / Average Est. Cost, Open, Closed, Severe-Severity), breakdown tables by Status, Damage Type, Severity, State, and City (each with count, % of claims, and est. cost + a totals row), and two bar charts (claims by status, cost by damage type).
- Claims Detail — the cleaned claim table: Claim Number, Claimant, City, State, Damage Type, Severity (colour-cued), Other Damage, Status, Date Filed, and Est. Cost (currency-formatted), with banded rows, a frozen header, an AutoFilter, and a grand-total row.
Guardrails
- Never fabricate data. Only values present in the source appear in the report. Blank or "Total" rows are dropped and counted; missing costs are reported, not filled in.
- Reconcile before reporting. The detail total and the dashboard totals both
derive from the same cleaned rows; if the printed
total_costlooks wrong, re-check the input rather than the report. - Currency is display-only — the raw exports carry no currency code; the
$format is cosmetic. If the user says the data isn't USD, changeTHEME["money_fmt"]in the script. - Don't hand-edit the output for one-off fixes — change the input or the
THEME/logic and re-run, so the report stays reproducible. - Large files: the script streams values with openpyxl; for very large exports (tens of thousands of rows) warn the user it may take a moment.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

