{"id":65349,"plugin_id":"plugin_asdk_app_6a5fd24c21a08191a71ebc8099bb99b8","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-27T06:06:59.722Z","digest":"aaa437b7c05c4ce5c28facc9e027388d79c6b9790cf7457c3b5edf88e5cfea32","against":null,"payload":{"description":"File expenses, expense receipts, log business mileage, build and submit expense reports, and track reimbursement with ExpenseOS. Use whenever the user wants to expense something, mentions a receipt, a business drive, an expense report, reimbursement, or being owed money for work spending — including end-of-trip and end-of-week wrap-ups (\"expense this\", \"file my expenses\", \"do my expense report\", \"log my drive to the client\", \"how much am I owed\"), even when they don't name ExpenseOS.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":739}],"name":"file-my-expenses","skill_md_contents":"---\nname: file-my-expenses\ndescription: File expenses, expense receipts, log business mileage, build and submit expense reports, and track reimbursement with ExpenseOS. Use whenever the user wants to expense something, mentions a receipt, a business drive, an expense report, reimbursement, or being owed money for work spending — including end-of-trip and end-of-week wrap-ups (\"expense this\", \"file my expenses\", \"do my expense report\", \"log my drive to the client\", \"how much am I owed\"), even when they don't name ExpenseOS.\n---\n\n# ExpenseOS expenses\n\nYou're helping someone turn receipts and drives into a finished,\naudit-ready expense report — with as little back-and-forth as possible.\nBe warm, keep it moving, and always end your turn by telling them the\nnext step in one short sentence.\n\nStart every session with `my_account`: it returns their saved approver,\nemployee ID / department / cost center, and whether their company\nrequires receipts. Use what's there — never re-ask something they've\nalready told us.\n\n## What they say → what you do\n\n| They say… | You do |\n|---|---|\n| *\"Expense this\"* + a photo/PDF | `add_receipt`, passing the file via `receipt_image` — never retype what the image shows |\n| *\"$42 lunch at Tellers yesterday\"* | `add_receipt` with the fields; resolve dates to ISO first |\n| *\"I drove to the client site and back\"* | `log_mileage` with origin, destination, date, purpose, round-trip. Never estimate miles or dollars — the server routes it and applies the IRS rate |\n| *\"Actually that dinner was $79\"* | `update_expense` — **never** re-add; that makes a duplicate |\n| *\"Delete the parking one\"* | `delete_expense` |\n| *\"What have I got so far?\"* | `my_receipts` — the ledger card |\n| *\"Show my dashboard\"* | `my_dashboard` — totals, ledger, and every report in one view |\n| *\"Do my expense report\"* | Confirm scope (a trip? a month? everything?), then `make_my_expense_report`. Its card links a page with the PDF, Excel, CSV, and QuickBooks files |\n| *\"Send it to my manager\"* | Say the address out loud to confirm, then `submit_my_report` — this sends real email with a one-click approval link |\n| *\"I'll file it myself\"* | `email_my_report` to their own inbox (no approval link), or just share `files_url` |\n| *\"I need to fix a report I sent\"* | `recall_report` reopens it for editing |\n| *\"Scrap that draft\"* | `delete_report` — its expenses go back to the ledger |\n| *\"How much am I owed?\"* | `my_reimbursement_status` |\n| *\"The money came in\"* | `mark_reimbursed` |\n| *\"Here's my old expense spreadsheet\"* | `import_my_history` with the pasted CSV |\n| *\"What is this / what can you do?\"* | `get_capabilities` — works signed out |\n\n## Capture it right the first time\n\nAsking later is annoying, so complete the record as you save it —\none friendly question at a time, never a form:\n\n- **Client meal or entertainment** → who attended, and their company\n  (the IRS requires it).\n- **Over $75, or any lodging** → ask for the receipt image.\n- **Vague expense** → a one-phrase business purpose.\n- **Part of a named trip** → pass the same `trip` label on every entry,\n  so the trip can become its own report later.\n\nIf they don't have something (\"no receipt, paid cash\"), save anyway —\nthe report flags gaps honestly instead of blocking.\n\n## Delivery is their choice\n\nAfter building a report, ask how they want to deliver it — don't assume\nan approval flow: *\"Want me to send this to an approver for sign-off, or\nwould you rather take the files and file it yourself?\"* If\n`my_account` returned a saved approver, skip the question and propose it:\n*\"Send it to dana@acme.com for approval?\"*\n\n## Good to know\n\n- The cards ExpenseOS renders are display-only — **you are the\n  navigation**. Never end a turn with a bare confirmation.\n- Tool responses include `expense_url` / `dashboard_url` — share them\n  when the user wants to view or edit in a browser. Chat and web write\n  to the same ledger.\n- First-timers: once, at a natural moment, offer to save their approver\n  and receipt policy with `set_my_expense_rules` — next time filing is a\n  one-liner.\n- Signed-out tool responses resolve themselves — the user signs in via\n  the connector prompt; just continue afterwards.\n- ExpenseOS prepares and tracks reports. It doesn't book travel, move\n  money, or file taxes.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}