agentleFS
cubexteamcubexteam/claude-sandbox-env/skills/examples/benepass-reimbursement/SKILL.md

benepass-reimbursement

Skill1 starsChanged 7 months agoMITView on GitHub

Submit expense reimbursements through Benepass (app.getbenepass.com). For users whose employer uses Benepass as their benefits platform. Handles login, benefit selection, form filling, receipt upload, and submission. Requires browser/computer-use capabilities.

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. About 0 are common, 14 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈14

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before navigating to Benepass, extract the key details from the receipt image or message:

    line 24
  2. Distinctive:

    Wait for the "Enter verification code" prompt with 6 input boxes to appear.

    line 47
  3. Distinctive:

    Wait 3-5 seconds for the dashboard to load

    line 58
  4. Distinctive:

    Verify the dashboard loads with a greeting, account balances, and insights cards to confirm login success.

    line 62
  5. Distinctive:

    Wait 5 seconds, then search Gmail again for a newer code

    line 67
  6. Distinctive:

    Wait for the reimbursement form to load with two sections:

    line 74
  7. Distinctive:

    Read the available benefit options directly from the dropdown — categories vary by employer

    line 84
  8. Distinctive:

    Check that the displayed balance for the selected benefit covers the reimbursement amount

    line 85
  9. Very specific:

    Do NOT include the $ sign — enter just the number

    line 97
  10. Very specific:

    Use read_page with filter: interactive to find the file input element

    line 115
  11. Very specific:

    Use the upload_file tool with the ref for that hidden input:

    line 117
  12. Distinctive:

    Wait for explicit approval before proceeding

    line 142
  13. Distinctive:

    Wait 3 seconds for processing

    line 144
  14. Distinctive:

    After submission, the page redirects to an expense details view showing:

    line 148
  15. Very specific:

    Always triple-click the amount field to select all existing text before typing the new amount — this avoids concatenation (e.g., 32184.99).

    line 171
  16. Distinctive:

    If the receipt upload does not appear to work:

    line 175
  17. Very specific:

    If fileInput is not found, search for any <input type="file"> element

    line 178
  18. Distinctive:

    Verify the "Files uploaded" section appears after upload

    line 180
  19. Distinctive:

    If the selected benefit lacks sufficient balance, report the issue and ask whether to use a different benefit category.

    line 184

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Benepass Reimbursement Skill

Automate the complete Benepass reimbursement flow — from login through submission — using browser automation, Gmail integration for verification codes, and file upload for receipts.


Prerequisites

  • Enable browser access (computer tool) for navigating Benepass
  • Enable code execution & file creation — required for saving and uploading receipt files
  • Configure Gmail MCP for fetching email verification codes
  • Determine the email via Gmail MCP; if Gmail access is unavailable, ask for it
  • Obtain a receipt image (screenshot, photo, or PDF)

Step 1: Extract Receipt Details

Before navigating to Benepass, extract the key details from the receipt image or message:

  • Amount (e.g., $84.99)
  • Merchant (e.g., Verizon, DoorDash, Lyft)
  • Memo/Note — apply the provided memo, or default to a short description (e.g., "Home wifi", "Lunch", "Ride to office")
  • Benefit category — select the specified category; infer from context when confident, otherwise prompt for clarification (see Step 4)

Step 2: Login to Benepass

2a. Navigate and enter email

Navigate to: https://app.getbenepass.com
  • Click the email input field and type the email address
  • Two login options appear: "Log in with G-Suite" and "Log in with Email Code"
  • Click "Log in with Email Code"

2b. Fetch verification code from Gmail

Wait for the "Enter verification code" prompt with 6 input boxes to appear.

Fetch the code via Gmail MCP:

Gmail search query: "from:benepass verification code"
maxResults: 1
  • Extract the 6-digit code from the email snippet (look for "Your verification code is: XXXXXX")
  • Type the 6-digit code into the verification input — the page auto-submits after all 6 digits are entered
  • Wait 3-5 seconds for the dashboard to load

2c. Verify login success

Verify the dashboard loads with a greeting, account balances, and insights cards to confirm login success.

Important: Handle expired verification codes as follows:

  • Click "Didn't receive it? Resend" on the verification page
  • Wait 5 seconds, then search Gmail again for a newer code

Step 3: Start Reimbursement

  • Click the "Get reimbursed" button in the left sidebar
  • Wait for the reimbursement form to load with two sections:
    1. Select benefit (dropdown)
    2. Enter details (amount, merchant, note, receipt)

Step 4: Select Benefit

  • Click the "Select benefit" dropdown
  • Select the specified category; infer from context when confident, otherwise prompt for clarification
  • Read the available benefit options directly from the dropdown — categories vary by employer
  • Check that the displayed balance for the selected benefit covers the reimbursement amount

Step 5: Fill in Details

Amount field

CRITICAL: Clear any pre-populated value from the amount field before entering the correct amount.

  • Triple-click the amount field to select any existing value
  • Type the correct amount (e.g., 84.99)
  • Do NOT include the $ sign — enter just the number

Merchant field

  • Click the merchant input field
  • Type the merchant name (e.g., Verizon, DoorDash, Lyft)

Note field (Optional but recommended)

  • Click the note input field
  • Type the memo (e.g., Home wifi, Lunch, Ride to office)

Step 6: Upload Receipt

CRITICAL: The file input is a hidden element with id="fileInput". The visible drop zone is not clickable — use the hidden input instead. If no element with id="fileInput" is found, search for any <input type="file"> on the page.

  1. Use read_page with filter: interactive to find the file input element
  2. Look for: <input id="fileInput" class="hidden" type="file">
  3. Use the upload_file tool with the ref for that hidden input:
upload_file:
  file_path: <path to the receipt file>
  ref: <ref for fileInput>
  1. After upload, verify:
    • The Receipt label is no longer red (was red before upload)
    • A "Files uploaded" section appears showing the filename and size
    • A thumbnail preview of the receipt is visible

Step 7: Submit

  • Scroll down to see the "Submit reimbursement" button
  • Before clicking submit, present a summary for confirmation:
    • Benefit category
    • Amount
    • Merchant
    • Memo/note
    • Receipt filename
    • Remaining benefit balance after this submission
  • Wait for explicit approval before proceeding
  • Click "Submit reimbursement"
  • Wait 3 seconds for processing

Verify submission success

After submission, the page redirects to an expense details view showing:

  • State: Pending
  • Payment method: Reimbursement
  • Benefit: The selected benefit name
  • Payout progress: Outstanding amount = the submitted amount

Report the confirmation.


Troubleshooting

Session expired

Handle session expiration by restarting from Step 2 (login) when errors occur or the page redirects to login.

Verification code not working

Handle expired verification codes: click "Didn't receive it? Resend", wait a few seconds, then re-search Gmail for a newer code. Ensure the most recent email is fetched (use maxResults: 1 with default sort).

Amount field quirk

Always triple-click the amount field to select all existing text before typing the new amount — this avoids concatenation (e.g., 32184.99).

Upload not registering

If the receipt upload does not appear to work:

  1. Re-read the page with read_page to find the fileInput ref
  2. If fileInput is not found, search for any <input type="file"> element
  3. Retry uploading with upload_file using the correct ref
  4. Verify the "Files uploaded" section appears after upload

Benefit balance too low

If the selected benefit lacks sufficient balance, report the issue and ask whether to use a different benefit category.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.