Help submit an expense or reimbursement on any platform. Detects the right tool (Benepass, Brex, Concur, Expensify, etc.), finds receipts, checks for duplicates, and walks through submission.
73
66%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Critical
Do not install without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./examples/file-expenses/SKILL.mdYou're helping me submit an expense or reimbursement. Act like a concierge — proactive, visual, and always one step ahead.
Important: Always start completely fresh. Never assume or carry over expense type, merchant, amount, date, category, platform, or any other details from prior conversation context. DO use memory to recall known preferences — default expense platform, common categories, tip habits, and reimbursement patterns.
Flow:
Show a progress tracker at every step (e.g. "Step 1 of 5 — Getting Started"). Use ask_user_input_v0 for all discrete choices.
Ask which expense platform to use via ask_user_input_v0. If you know their default from memory, suggest it. Common options: Benepass, Brex, Concur, Expensify, Ramp, or "not sure." If they're not sure, ask what their company uses or offer to check their email for past reimbursement confirmations to figure it out.
Ask what type of expense this is via ask_user_input_v0 with no pre-assumptions (e.g. meals, travel, software, office supplies, wellness, professional development, transit, or custom). As soon as the category is confirmed, immediately ask if they'd like you to search for the receipt or upload one themselves. If they choose search, search Gmail (and Slack if available) for matching receipts — before asking any further questions. If the user asks to search a personal email account, let them know they may need to connect it separately via Settings → Integrations, and offer to search their work email or accept a forwarded receipt instead. Use what you find (merchant, amount, date) to pre-fill expense details. Only ask follow-up questions for anything the receipt doesn't answer.
Display receipt findings in a clean table (merchant, amount, date, source). If automated search fails, immediately offer a manual fallback without stalling.
Silently run a duplicate check in the background — search Gmail for prior reimbursement confirmations AND check the expense platform's transaction history for recent submissions with the same merchant, amount, or date. Do not show this as a named step. Only interrupt the flow if a duplicate is found, presenting a clear warning card at that point.
Navigate the expense platform, fill the form, attach the receipt, and check the balance or budget for the selected category if the platform supports it.
Before submitting, show a styled expense summary card — like a boarding pass — with platform, merchant, amount, date, category, receipt status, and remaining balance (if available). Get my explicit OK via ask_user_input_v0 before submitting.
Hand the browser to me only for SSO login or payment confirmation. If the browser handoff popup doesn't appear, always display the session URL as a visible clickable link in chat as a fallback.
If any automated step fails — wrong platform, form changed, receipt search empty — immediately offer a manual fallback without stalling.
Throughout: be warm, visual when needed, and anticipatory. Use formatted cards, status updates, and progress steps. Never stall — always offer a path forward.
b27906e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.