Claude Code skill pack for Ramp (24 skills)
Installation
Open Claude Code and run this command:
/plugin install ramp-pack@claude-code-plugins-plus
Use --global to install for all projects, or --project for current project only.
Skills (24)
Configure Ramp CI/CD integration with GitHub Actions and testing.
Ramp CI Integration
Overview
Set up CI/CD pipelines for Ramp integrations with automated testing.
Prerequisites
- GitHub repository with Actions enabled
- Ramp test API key
- npm/pnpm project configured
Instructions
Step 1: Create GitHub Actions Workflow
Create .github/workflows/ramp-integration.yml:
name: Ramp Integration Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
RAMP_API_KEY: ${{ secrets.RAMP_API_KEY }}
jobs:
test:
runs-on: ubuntu-latest
env:
RAMP_API_KEY: ${{ secrets.RAMP_API_KEY }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- run: npm ci
- run: npm test -- --coverage
- run: npm run test:integration
Step 2: Configure Secrets
gh secret set RAMP_API_KEY --body "sk_test_***"
Step 3: Add Integration Tests
describe('Ramp Integration', () => {
it.skipIf(!process.env.RAMP_API_KEY)('should connect', async () => {
const client = getRampClient();
const result = await client.healthCheck();
expect(result.status).toBe('ok');
});
});
Output
- Automated test pipeline
- PR checks configured
- Coverage reports uploaded
- Release workflow ready
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Secret not found | Missing configuration | Add secret via gh secret set |
| Tests timeout | Network issues | Increase timeout or mock |
| Auth failures | Invalid key | Check secret value |
Examples
Release Workflow
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
env:
RAMP_API_KEY: ${{ secrets.RAMP_API_KEY_PROD }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- name: Verify Ramp production readiness
run: npm run test:integration
- run: npm run build
- run: npm publish
Branch Protection
required_status_checks:
- "test"
- "ramp-integration"
Resources
Next Steps
For deployment patterns, see ramp-deploy-integration.
Diagnose and fix Ramp common errors and exceptions.
Ramp Common Errors
Overview
Quick reference for the top 10 most common Ramp errors and their solutions.
Prerequisites
- Ramp SDK installed
- API credentials configured
- Access to error logs
Instructions
Step 1: Identify the Error
Check error message and code in your logs or console.
Step 2: Find Matching Error Below
Match your error to one of the documented cases.
Step 3: Apply Solution
Follow the solution steps for your specific error.
Output
- Identified error cause
- Applied fix
- Verified resolution
Error Handling
Authentication Failed
Error Message:
Authentication error: Invalid API key
Cause: API key is missing, expired, or invalid.
Solution:
# Verify API key is set
echo $RAMP_API_KEY
Rate Limit Exceeded
Error Message:
Rate limit exceeded. Please retry after X seconds.
Cause: Too many requests in a short period.
Solution:
Implement exponential backoff. See ramp-rate-limits skill.
Network Timeout
Error Message:
Request timeout after 30000ms
Cause: Network connectivity or server latency issues.
Solution:
// Increase timeout
const client = new Client({ timeout: 60000 });
Examples
Quick Diagnostic Commands
# Check Ramp status
curl -s https://status.ramp.com
# Verify API connectivity
curl -I https://api.ramp.com
# Check local configuration
env | grep RAMP
Escalation Path
- Collect evidence with
ramp-debug-bundle - Check Ramp status page
- Contact support with request ID
Resources
Next Steps
For comprehensive debugging, see ramp-debug-bundle.
Execute Ramp primary workflow: Core Workflow A.
Ramp Core Workflow A
Overview
Primary money-path workflow for Ramp. This is the most common use case.
Prerequisites
- Completed
ramp-install-authsetup - Understanding of Ramp core concepts
- Valid API credentials configured
Instructions
Step 1: Initialize
// Step 1 implementation
Step 2: Execute
// Step 2 implementation
Step 3: Finalize
// Step 3 implementation
Output
- Completed Core Workflow A execution
- Expected results from Ramp API
- Success confirmation or error details
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Error 1 | Cause | Solution |
| Error 2 | Cause | Solution |
Examples
Complete Workflow
// Complete workflow example
Common Variations
- Variation 1: Description
- Variation 2: Description
Resources
Next Steps
For secondary workflow, see ramp-core-workflow-b.
Execute Ramp secondary workflow: Core Workflow B.
Ramp Core Workflow B
Overview
Secondary workflow for Ramp. Complements the primary workflow.
Prerequisites
- Completed
ramp-install-authsetup - Familiarity with
ramp-core-workflow-a - Valid API credentials configured
Instructions
Step 1: Setup
// Step 1 implementation
Step 2: Process
// Step 2 implementation
Step 3: Complete
// Step 3 implementation
Output
- Completed Core Workflow B execution
- Results from Ramp API
- Success confirmation or error details
Error Handling
| Aspect | Workflow A | Workflow B |
|---|---|---|
| Use Case | Primary | Secondary |
| Complexity | Medium | Lower |
| Performance | Standard | Optimized |
Examples
Complete Workflow
// Complete workflow example
Error Recovery
// Error handling code
Resources
Next Steps
For common errors, see ramp-common-errors.
Optimize Ramp costs through tier selection, sampling, and usage monitoring.
Ramp Cost Tuning
Overview
Optimize Ramp costs through smart tier selection, sampling, and usage monitoring.
Prerequisites
- Access to Ramp billing dashboard
- Understanding of current usage patterns
- Database for usage tracking (optional)
- Alerting system configured (optional)
Pricing Tiers
| Tier | Monthly Cost | Included | Overage |
|---|---|---|---|
| Free | $0 | 1,000 requests | N/A |
| Pro | $99 | 100,000 requests | $0.001/request |
| Enterprise | Custom | Unlimited | Volume discounts |
Cost Estimation
interface UsageEstimate {
requestsPerMonth: number;
tier: string;
estimatedCost: number;
recommendation?: string;
}
function estimateRampCost(requestsPerMonth: number): UsageEstimate {
if (requestsPerMonth <= 1000) {
return { requestsPerMonth, tier: 'Free', estimatedCost: 0 };
}
if (requestsPerMonth <= 100000) {
return { requestsPerMonth, tier: 'Pro', estimatedCost: 99 };
}
const proOverage = (requestsPerMonth - 100000) * 0.001;
const proCost = 99 + proOverage;
return {
requestsPerMonth,
tier: 'Pro (with overage)',
estimatedCost: proCost,
recommendation: proCost > 500
? 'Consider Enterprise tier for volume discounts'
: undefined,
};
}
Usage Monitoring
class RampUsageMonitor {
private requestCount = 0;
private bytesTransferred = 0;
private alertThreshold: number;
constructor(monthlyBudget: number) {
this.alertThreshold = monthlyBudget * 0.8; // 80% warning
}
track(request: { bytes: number }) {
this.requestCount++;
this.bytesTransferred += request.bytes;
if (this.estimatedCost() > this.alertThreshold) {
this.sendAlert('Approaching Ramp budget limit');
}
}
estimatedCost(): number {
return estimateRampCost(this.requestCount).estimatedCost;
}
private sendAlert(message: string) {
// Send to Slack, email, PagerDuty, etc.
}
}
Cost Reduction Strategies
Step 1: Request Sampling
function shouldSample(samplingRate = 0.1): boolean {
return Math.random() < samplingRate;
}
// Use for non-critical telemetry
if (shouldSample(0.1)) { // 10% sample
await rampClient.trackEvent(event);
}
Step 2: Batching Requests
// Instead of N individual calls
await Promise.all(ids.map(id => rampClient.get(id)));
// Use batch endpoint (1 call)
await rampClient.batchGet(ids);
Step 3: Caching (from P16)
- Cache frequently accessed data
- Use cache invalidation webhooks
- Set
Implement Ramp PII handling, data retention, and GDPR/CCPA compliance patterns.
Ramp Data Handling
Overview
Handle sensitive data correctly when integrating with Ramp.
Prerequisites
- Understanding of GDPR/CCPA requirements
- Ramp SDK with data export capabilities
- Database for audit logging
- Scheduled job infrastructure for cleanup
Data Classification
| Category | Examples | Handling |
|---|---|---|
| PII | Email, name, phone | Encrypt, minimize |
| Sensitive | API keys, tokens | Never log, rotate |
| Business | Usage metrics | Aggregate when possible |
| Public | Product names | Standard handling |
PII Detection
const PII_PATTERNS = [
{ type: 'email', regex: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g },
{ type: 'phone', regex: /\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/g },
{ type: 'ssn', regex: /\b\d{3}-\d{2}-\d{4}\b/g },
{ type: 'credit_card', regex: /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g },
];
function detectPII(text: string): { type: string; match: string }[] {
const findings: { type: string; match: string }[] = [];
for (const pattern of PII_PATTERNS) {
const matches = text.matchAll(pattern.regex);
for (const match of matches) {
findings.push({ type: pattern.type, match: match[0] });
}
}
return findings;
}
Data Redaction
function redactPII(data: Record<string, any>): Record<string, any> {
const sensitiveFields = ['email', 'phone', 'ssn', 'password', 'apiKey'];
const redacted = { ...data };
for (const field of sensitiveFields) {
if (redacted[field]) {
redacted[field] = '[REDACTED]';
}
}
return redacted;
}
// Use in logging
console.log('Ramp request:', redactPII(requestData));
Data Retention Policy
Retention Periods
| Data Type | Retention | Reason |
|---|---|---|
| API logs | 30 days | Debugging |
| Error logs | 90 days | Root cause analysis |
| Audit logs | 7 years | Compliance |
| PII | Until deletion request | GDPR/CCPA |
Automatic Cleanup
async function cleanupRampData(retentionDays: number): Promise<void> {
const cutoff = new Date();
cutoff.setDate(cutoff.getDate() - retentionDays);
await db.rampLogs.deleteMany({
createdAt: { $lt: cutoff },
type: { $nin: ['audit', 'compliance'] },
});
}
// Schedule daily cleanup
cron.schedule('0 3 * * *', () => cleanupRampData(30));
GDPR/CC
Collect Ramp debug evidence for support tickets and troubleshooting.
Ramp Debug Bundle
Overview
Collect all necessary diagnostic information for Ramp support tickets.
Prerequisites
- Ramp SDK installed
- Access to application logs
- Permission to collect environment info
Instructions
Step 1: Create Debug Bundle Script
#!/bin/bash
# ramp-debug-bundle.sh
BUNDLE_DIR="ramp-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"
echo "=== Ramp Debug Bundle ===" > "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date)" >> "$BUNDLE_DIR/summary.txt"
Step 2: Collect Environment Info
# Environment info
echo "--- Environment ---" >> "$BUNDLE_DIR/summary.txt"
node --version >> "$BUNDLE_DIR/summary.txt" 2>&1
npm --version >> "$BUNDLE_DIR/summary.txt" 2>&1
echo "RAMP_API_KEY: ${RAMP_API_KEY:+[SET]}" >> "$BUNDLE_DIR/summary.txt"
Step 3: Gather SDK and Logs
# SDK version
npm list @ramp/sdk 2>/dev/null >> "$BUNDLE_DIR/summary.txt"
# Recent logs (redacted)
grep -i "ramp" ~/.npm/_logs/*.log 2>/dev/null | tail -50 >> "$BUNDLE_DIR/logs.txt"
# Configuration (redacted - secrets masked)
echo "--- Config (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
cat .env 2>/dev/null | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE_DIR/config-redacted.txt"
# Network connectivity test
echo "--- Network Test ---" >> "$BUNDLE_DIR/summary.txt"
echo -n "API Health: " >> "$BUNDLE_DIR/summary.txt"
curl -s -o /dev/null -w "%{http_code}" https://api.ramp.com/health >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"
Step 4: Package Bundle
tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR"
echo "Bundle created: $BUNDLE_DIR.tar.gz"
Output
ramp-debug-YYYYMMDD-HHMMSS.tar.gzarchive containing:summary.txt- Environment and SDK infologs.txt- Recent redacted logsconfig-redacted.txt- Configuration (secrets removed)
Error Handling
| Item | Purpose | Included | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Environment versions | Compatibility check | ✓ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SDK version | Version-specific bugs | ✓ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Error logs (redacted) | Root cause analysis | ✓ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Config (redacted) | Configuration issues | ✓ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Network test | Connectivity issues
Deploy Ramp integrations to Vercel, Fly.
ReadWriteEditBash(vercel:*)Bash(fly:*)Bash(gcloud:*)
Ramp Deploy IntegrationOverviewDeploy Ramp-powered applications to popular platforms with proper secrets management. Prerequisites
Vercel DeploymentEnvironment Setup
vercel.json Configuration
Fly.io Deploymentfly.toml
Secrets
Google Cloud RunDockerfile
Deploy Script
Environment Configuration Pattern
Health Check EndpointConfigure Ramp enterprise SSO, role-based access control, and organization management.
ReadWriteEdit
Ramp Enterprise RBACOverviewConfigure enterprise-grade access control for Ramp integrations. Prerequisites
Role Definitions
Role Implementation
SSO IntegrationSAML Configuration
OAuth2/OIDC Integration
Organization ManagementCreate a minimal working Ramp example.
ReadWriteEdit
Ramp Hello WorldOverviewMinimal working example demonstrating core Ramp functionality. Prerequisites
InstructionsStep 1: Create Entry FileCreate a new file for your hello world example. Step 2: Import and Initialize Client
Step 3: Make Your First API Call
Output
Error Handling
ExamplesTypeScript Example
Python Example
ResourcesNext StepsProceed to Execute Ramp incident response procedures with triage, mitigation, and postmortem.
ReadGrepBash(kubectl:*)Bash(curl:*)
Ramp Incident RunbookOverviewRapid incident response procedures for Ramp-related outages. Prerequisites
Severity Levels
Quick Triage
Decision Tree
Immediate Actions by Error Type401/403 - Authentication
429 - Rate Limited
500/503 - Ramp Errors
Communication TemplatesInternal (Slack)Install and configure Ramp SDK/CLI authentication.
ReadWriteEditBash(npm:*)Bash(pip:*)Grep
Ramp Install & AuthOverviewSet up Ramp SDK/CLI and configure authentication credentials. Prerequisites
InstructionsStep 1: Install SDK
Step 2: Configure Authentication
Step 3: Verify Connection
Output
Error Handling
ExamplesTypeScript Setup
Python Setup
ResourcesNext StepsAfter successful auth, proceed to Configure Ramp local development with hot reload and testing.
ReadWriteEditBash(npm:*)Bash(pnpm:*)Grep
Ramp Local Dev LoopOverviewSet up a fast, reproducible local development workflow for Ramp. Prerequisites
InstructionsStep 1: Create Project Structure
Step 2: Configure Environment
Step 3: Setup Hot Reload
Step 4: Configure Testing
Output
Error Handling
ExamplesMock Ramp Responses
Debug Mode
ResourcesNext StepsSee Execute Ramp major re-architecture and migration strategies with strangler fig pattern.
ReadWriteEditBash(npm:*)Bash(node:*)Bash(kubectl:*)
Ramp Migration Deep DiveOverviewComprehensive guide for migrating to or from Ramp, or major version upgrades. Prerequisites
Migration Types
Pre-Migration AssessmentStep 1: Current State Analysis
Step 2: Data Inventory
Migration Strategy: Strangler Fig Pattern
Implementation PlanPhase 1: Setup (Week 1-2)
Phase 2: Adapter Layer (Week 3-4)Configure Ramp across development, staging, and production environments.
ReadWriteEditBash(aws:*)Bash(gcloud:*)Bash(vault:*)
Ramp Multi-Environment SetupOverviewConfigure Ramp across development, staging, and production environments. Prerequisites
Environment Strategy
Configuration Structure
base.json
development.json
staging.json
production.json
Environment Detection
Secret Management by EnvironmentLocal Development
CI/CD (GitHub ActSet up comprehensive observability for Ramp integrations with metrics, traces, and alerts.
ReadWriteEdit
Ramp ObservabilityOverviewSet up comprehensive observability for Ramp integrations. Prerequisites
Metrics CollectionKey Metrics
Prometheus Metrics
Instrumented Client
Distributed TracingOpenTelemetry SetupOptimize Ramp API performance with caching, batching, and connection pooling.
ReadWriteEdit
Ramp Performance TuningOverviewOptimize Ramp API performance with caching, batching, and connection pooling. Prerequisites
Latency Benchmarks
Caching StrategyResponse Caching
Redis Caching (Distributed)
Request Batching
Connection Optimization
Pagination OptimizationExecute Ramp production deployment checklist and rollback procedures.
ReadBash(kubectl:*)Bash(curl:*)Grep
Ramp Production ChecklistOverviewComplete checklist for deploying Ramp integrations to production. Prerequisites
InstructionsStep 1: Pre-Deployment Configuration
Step 2: Code Quality Verification
Step 3: Infrastructure Setup
Step 4: Documentation Requirements
Step 5: Deploy with Gradual Rollout
Output
Error Handling
ExamplesHealth Check ImplementationImplement Ramp rate limiting, backoff, and idempotency patterns.
ReadWriteEdit
Ramp Rate LimitsOverviewHandle Ramp rate limits gracefully with exponential backoff and idempotency. Prerequisites
InstructionsStep 1: Understand Rate Limit Tiers
Step 2: Implement Exponential Backoff with Jitter
Step 3: Add Idempotency Keys
Output
Error Handling
ExamplesFactory Pattern (Multi-tenant)
Python Context MaApply Ramp security best practices for secrets and access control.
ReadWriteGrep
Ramp Security BasicsOverviewSecurity best practices for Ramp API keys, tokens, and access control. Prerequisites
InstructionsStep 1: Configure Environment Variables
Step 2: Implement Secret Rotation
Step 3: Apply Least Privilege
Output
Error Handling
ExamplesService Account Pattern
Webhook Signature Verification
Security Checklist
Audit LoggingAnalyze, plan, and execute Ramp SDK upgrades with breaking change detection.
ReadWriteEditBash(npm:*)Bash(git:*)
Ramp Upgrade & MigrationOverviewGuide for upgrading Ramp SDK versions and handling breaking changes. Prerequisites
InstructionsStep 1: Check Current Version
Step 2: Review Changelog
Step 3: Create Upgrade Branch
Step 4: Handle Breaking ChangesUpdate import statements, configuration, and method signatures as needed. Output
Error Handling
ExamplesImport Changes
Configuration Changes
Rollback Procedure
Deprecation Handling
ResourcesNext StepsFor CI integration during upgrades, see Implement Ramp webhook signature validation and event handling.
ReadWriteEditBash(curl:*)
Ramp Webhooks & EventsOverviewSecurely handle Ramp webhooks with signature validation and replay protection. Prerequisites
Webhook Endpoint SetupExpress.js
Signature Verification
Event Handler PatternReady to use ramp-pack?Related Pluginsexcel-analyst-proProfessional financial modeling toolkit for Claude Code with auto-invoked Skills and Excel MCP integration. Build DCF models, LBO analysis, variance reports, and pivot tables using natural language. brand-strategy-frameworkA 7-part brand strategy framework for building comprehensive brand foundations - the same methodology top agencies use with Fortune 500 clients. clay-packComplete Clay integration skill pack with 30 skills covering data enrichment, waterfall workflows, AI agents, and GTM automation. Flagship+ tier vendor pack. instantly-packComplete Instantly integration skill pack with 24 skills covering cold email, outreach automation, and lead generation. Flagship tier vendor pack. apollo-packComplete Apollo integration skill pack with 24 skills covering sales engagement, prospecting, sequencing, analytics, and outbound automation. Flagship tier vendor pack. juicebox-packComplete Juicebox integration skill pack with 24 skills covering people data, enrichment, contact search, and AI-powered discovery. Flagship tier vendor pack.
Tags
rampsaassdkintegration
|