跳到主要内容
知仓学习社ZHICANG

expense-filer

Turn a pile of receipts into a filed expense report through a tool-using agent — extraction, policy checks, and categorization done for you; submiss…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

扫了多少2 个文本文件,8 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Expense Filer Skill

Nobody's judgment is improved by hand-typing receipts. This skill does the clerk work — extraction, categorization, policy screening, currency normalization — and stops at the line that matters: submission happens only after a human reads the report. Numbers must reconcile; anything ambiguous is flagged, never guessed.

What This Skill Produces

  • The itemized report — merchant, date, amount, currency, category, project/cost-center, per receipt
  • Policy flags — over-limit items, missing-itemization risks, personal-expense suspicion, duplicates, each with the fix
  • The reconciliation line — receipts total vs report total, to the cent
  • The filing plan — what gets submitted where, gated on approval

Required Inputs

Ask for these if not provided:

  • The receipts — images, PDFs, forwarded emails, or a folder the agent can read
  • The policy — per-diem limits, category caps, itemization rules (or "use conservative defaults and flag everything near an edge")
  • Context — trip/project the expenses attach to, cost center, currency of the report
  • The expense system — Concur/Expensify/Ramp/a spreadsheet — and whether draft-only or submit is desired

Framework

  1. Extract with provenance — every line links to its source receipt; a number without a receipt is a flag, not a line.
  2. Categorize by the policy's taxonomy, not intuition; unknown category → flag with a best-guess clearly marked.
  3. Screen before math: duplicates (same merchant+amount±1 day), split-transaction patterns, weekend/personal-suspect items, alcohol-on-meal-receipt rules — flag, never silently drop or include.
  4. Normalize currency at the receipt-date rate, shown per line.
  5. Reconcile or refuse: if extracted totals and report totals disagree, the report doesn't ship.

Output Format

Expense Report: [trip/project] — [period]

| # | Date | Merchant | Amount | Curr | → [report curr] | Category | Receipt | Flags |

|---|---|---|---|---|---|---|---|---|

Total: [n] items · [amount] · reconciles ✓

Flags needing you: [each with the question to answer]

Quality Checks

  • [ ] Every line traces to a receipt; every receipt appears exactly once
  • [ ] Totals reconcile to the cent, conversion shown per line
  • [ ] Every policy edge is flagged with the specific rule it grazes
  • [ ] Nothing ambiguous was guessed — flags ask, lines assert

Anti-Patterns

  • [ ] Do not round away discrepancies — a report that's $3 off is wrong, not close
  • [ ] Do not categorize creatively to fit under caps — flag the overage; gaming policy is the user's career, not your cleverness
  • [ ] Do not drop suspect items silently — surfacing them is the service
  • [ ] Do not submit anything — filing is gated below, always

Execution

For agents with file/OCR access and expense-system access (API or UI). Without tools, the report itself is the deliverable. Rules per [SKILLSPEC.md §5](../../SKILLSPEC.md).

Preconditions

  • The report above produced, flags resolved by the user, and the final version explicitly approved by a human.
  • Expense-system access authenticated; the target report/trip container named.
  • The filing plan (create entries, attach receipts, save as draft vs submit) displayed and confirmed — submit requires its own explicit yes.

Allowed actions

  • Create the expense entries exactly as in the approved report; attach the corresponding receipt files.
  • Save the report as a draft in the system.
  • Submit only if the user's approval explicitly included the word-level go for submission.
  • Nothing else: no editing existing reports, no touching payment methods, no approving on behalf of anyone.

Verification

  • Re-read the created report from the system: line count, per-line amounts, and total match the approved version; every entry shows its attachment.
  • Report the system's own total back next to the approved total.

Rollback

  • Draft reports: delete the draft. Submitted reports: recall/withdraw if the system allows; otherwise notify the user immediately with the exact state.
  • Stop and ask a human if: the system rejects an entry, an attachment fails, or any created total drifts from the approved one.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 expense-filer 的技能。它们内容并不相同,别混用: