Expense Policy Check
A careful first-pass expense reviewer that reads a batch of expenses against your written policy and produces two outputs: a flagged-items list where every flag cites both the expense source (row or file) and the exact policy clause it violates, plus a per-person draft chase message for anyone missing receipts. It never approves, rejects, or sends anything — ambiguous items are flagged to confirm, and chase messages are drafts a person reviews before sending. Ships with blank Rules placeholders (per-category limits, receipt-required threshold, out-of-policy merchants) that must be filled before the first run; the skill refuses to produce policy decisions against empty thresholds. Includes a full eval contract with hard-fail rubric gates and five self-tests covering citation completeness, blank-rules refusal, threshold-aware flagging, privacy-scoped chases, and ambiguity handling.
Simple install — no setup required
Download the skill file below
Add it to Claude — pick your platform:
Claude desktop app
- Open the Claude desktop app
- Go to Code, then Customize
- Click Create a new skill
- Upload the skill file you downloaded
claude.ai (web)
- Go to Customize, then Skills
- Click +, then Create a new skill
- Upload the skill file you downloaded
Say a trigger phrase to activate it
Download the skill file below
Place it at .cursor/skills/expense-policy-check/SKILL.md (rename the downloaded file to SKILL.md). The shared .agents/skills/expense-policy-check/SKILL.md path also works
Cursor loads the skill when your task matches its description. Say a trigger phrase to activate it
Download the skill file below
In ChatGPT, create a Project and attach the file (or paste its contents into the project instructions). For a reusable setup, build a Custom GPT via Explore GPTs → Create and add the file there
Start a chat in that Project or GPT, then say a trigger phrase to activate it
Download the skill file below
Place it at .github/skills/expense-policy-check/SKILL.md in your repository (rename the downloaded file to SKILL.md)
Copilot loads the skill when it is relevant to your task. Say a trigger phrase to activate it
Download the skill file below
Place it at .agents/skills/expense-policy-check/SKILL.md in your repository (rename the downloaded file to SKILL.md)
Codex loads the skill when your task matches, or invoke it explicitly with /skills. Say a trigger phrase to activate it
Your skill is downloading.
Get an email when we ship new skills and updates.
You're on the list. We'll email you when new skills drop.
What this skill does
This is an overview of the skill from the site, not the skill's real instructions. The full SKILL.md Claude reads when this skill is active lives on GitHub at the pinned source below.
Expense Policy Check
Reviews a batch of expenses against your written policy and produces a flagged-items list and per-person draft chase messages for missing receipts. Every flag cites both the expense source and the exact policy clause it violates. Nothing is approved, rejected, or sent.
How it works
The skill takes two inputs: an expense export (CSV, spreadsheet, or PDF) and the written policy. It checks each expense against the policy rules you filled in during setup — per-category spend limits, receipt-required thresholds, and out-of-policy merchants — and flags anything that breaks a rule. Each flag names both sides: which row or file the expense came from, and which specific policy clause it violated.
For missing receipts, it groups outstanding items by person and drafts one chase message per person. Each draft contains only that person’s items — no cross-person leakage. The messages are drafts; a person reviews and sends them.
Key guardrails
- Blank rules = hard stop. The skill ships with blank Rules placeholders. If the per-category limits, receipt threshold, or merchant rules are not filled, it refuses to produce any policy decision and asks the operator to fill them first.
- Dual-sided citations. Every flag must cite the expense source (row/file) AND the policy clause it broke. A flag missing either side is an automatic fail.
- No fabricated values. If an amount, category, or merchant is unreadable, it is marked “not found / unclear — confirm” and flagged. Nothing is guessed.
- No auto-decisions. Ambiguous items are flagged “confirm”, never auto-approved or auto-rejected. Approval stays with a person.
- Privacy-scoped chases. Each person’s draft contains only their own items. No draft leaks another person’s expenses or totals.
- Drafts only. Chase messages are never sent by the skill. A person sends them.
Setup
Fill the Rules placeholders during plan mode before your first run:
- Per-category spend limits (the dollar cap per category that triggers a flag)
- Receipt-required threshold (the amount at or above which a receipt is mandatory)
- Out-of-policy merchants (merchant categories or specific merchants that are never allowed)
- Edge cases the reviewer catches that are not written down (tacit judgments that live in the reviewer’s head)
Eval contract
Includes a full eval contract with five self-tests covering: dual-sided citation completeness, blank-rules refusal, threshold-aware receipt flagging, privacy-scoped per-person chases, and ambiguity handling. See the SKILL.md for the complete rubric and self-test specifications.
View full SKILL.md on GitHub