agentsclimarketplace

Ramp core workflow b

Skill jeremylongshore/claude-code-plugins-plus-skills/skills/.curated/ramp-core-workflow-b

425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill ramp-core-workflow-b

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Ramp core workflow b \u2014 corporate card and expense management API\ \ integration. Use when working with Ramp for card management, expenses, or accounting\ \ sync. Trigger with phrases like "ramp core workflow b", "ramp-core-workflow-b"\ , "corporate card API".

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.0 KB, as published. Nobody here has run it

Ramp Core Workflow B

Overview

Manage transactions and expenses: list, categorize, attach receipts, and sync to accounting.

Prerequisites

  • Completed ramp-core-workflow-a

Instructions

Step 1: List Transactions with Filters

resp = requests.get(f"{BASE}/transactions", headers=headers, params={
    "start_date": "2026-01-01",
    "end_date": "2026-03-22",
    "merchant_name": "Amazon",
    "page_size": 50,
})
transactions = resp.json()["data"]
total = sum(tx["amount"] for tx in transactions)
print(f"Amazon spend: ${total/100:.2f} across {len(transactions)} transactions")

Step 2: Get Transaction Details

tx_id = transactions[0]["id"]
detail = requests.get(f"{BASE}/transactions/{tx_id}", headers=headers)
tx = detail.json()
print(f"Amount: ${tx['amount']/100:.2f}")
print(f"Merchant: {tx['merchant_name']}")
print(f"Category: {tx['sk_category_name']}")
print(f"Card: {tx['card_holder']['first_name']} — last4: {tx['card_last_four']}")

Step 3: Sync to Accounting

# Fetch transactions ready for accounting sync
sync_resp = requests.get(f"{BASE}/accounting/transactions", headers=headers, params={
    "sync_ready": True,
    "page_size": 100,
})
for tx in sync_resp.json()["data"]:
    # Map to your ERP's chart of accounts
    journal_entry = {
        "date": tx["user_transaction_time"],
        "amount": tx["amount"],
        "account": map_category_to_gl(tx["sk_category_name"]),
        "vendor": tx["merchant_name"],
        "external_id": tx["id"],
    }
    sync_to_erp(journal_entry)

# Mark as synced
requests.post(f"{BASE}/accounting/transactions/sync", headers={**headers, "Content-Type": "application/json"}, json={
    "transaction_ids": [tx["id"] for tx in sync_resp.json()["data"]],
})

Output

  • Transactions filtered by date, merchant, category
  • Detailed transaction data with card holder info
  • Accounting sync with GL mapping

Error Handling

ErrorCauseSolution
Empty resultsWrong date rangeCheck start_date/end_date format
Sync conflictAlready syncedCheck sync status before re-syncing
Missing categoryUncategorized transactionUse default GL account

Resources

Next Steps

Handle events: ramp-webhooks-events

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.