From ramp-pack
Provides Python patterns for Ramp API integration with OAuth2 for observing corporate cards, expenses, and accounting sync.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin ramp-packThis skill is limited to using the following tools:
Implementation patterns for Ramp observability using the Developer API with OAuth2 authentication.
Implements Python patterns for Ramp API integration to fetch corporate cards, handle expenses, and sync accounting data using OAuth2 authentication.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Implementation patterns for Ramp observability using the Developer API with OAuth2 authentication.
ramp-install-auth setupimport os, requests
# Obtain token
token_resp = requests.post(f"{os.environ['RAMP_BASE_URL'].replace('/v1','')}/v1/token", data={
"grant_type": "client_credentials",
"client_id": os.environ["RAMP_CLIENT_ID"],
"client_secret": os.environ["RAMP_CLIENT_SECRET"],
})
access_token = token_resp.json()["access_token"]
headers = {"Authorization": f"Bearer {access_token}"}
cards = requests.get(f"{os.environ['RAMP_BASE_URL']}/cards", headers=headers)
print(f"Cards: {len(cards.json()['data'])}")
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Expired token | Re-authenticate |
| 429 Rate Limited | Too many requests | Implement backoff |
| 403 Forbidden | Insufficient permissions | Check API app permissions |
See related Ramp skills for more workflows.