Claude Code skill pack for Abridge (18 skills)
Installation
Open Claude Code and run this command:
/plugin install abridge-pack@claude-code-plugins-plus
Use --global to install for all projects, or --project for current project only.
Skills (18)
Configure Abridge CI/CD integration with GitHub Actions and testing.
Abridge CI Integration
Overview
Set up CI/CD pipelines for Abridge integrations with automated testing.
Prerequisites
- GitHub repository with Actions enabled
- Abridge test API key
- npm/pnpm project configured
Instructions
Step 1: Create GitHub Actions Workflow
Create .github/workflows/abridge-integration.yml:
name: Abridge Integration Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
ABRIDGE_API_KEY: ${{ secrets.ABRIDGE_API_KEY }}
jobs:
test:
runs-on: ubuntu-latest
env:
ABRIDGE_API_KEY: ${{ secrets.ABRIDGE_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 ABRIDGE_API_KEY --body "sk_test_***"
Step 3: Add Integration Tests
describe('Abridge Integration', () => {
it.skipIf(!process.env.ABRIDGE_API_KEY)('should connect', async () => {
const client = getAbridgeClient();
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:
ABRIDGE_API_KEY: ${{ secrets.ABRIDGE_API_KEY_PROD }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- name: Verify Abridge production readiness
run: npm run test:integration
- run: npm run build
- run: npm publish
Branch Protection
required_status_checks:
- "test"
- "abridge-integration"
Resources
Next Steps
For deployment patterns, see abridge-de
Diagnose and fix Abridge common errors and exceptions.
Abridge Common Errors
Overview
Quick reference for the top 10 most common Abridge errors and their solutions.
Prerequisites
- Abridge 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 $ABRIDGE_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 abridge-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 Abridge status
curl -s https://status.abridge.com
# Verify API connectivity
curl -I https://api.abridge.com
# Check local configuration
env | grep ABRIDGE
Escalation Path
- Collect evidence with
abridge-debug-bundle - Check Abridge status page
- Contact support with request ID
Resources
Next Steps
For comprehensive debugging, see abridge-debug-bundle.
Execute Abridge primary workflow: Core Workflow A.
Abridge Core Workflow A
Overview
Primary money-path workflow for Abridge. This is the most common use case.
Prerequisites
- Completed
abridge-install-authsetup - Understanding of Abridge 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 Abridge 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 abridge-core-workflow-b.
Execute Abridge secondary workflow: Core Workflow B.
Abridge Core Workflow B
Overview
Secondary workflow for Abridge. Complements the primary workflow.
Prerequisites
- Completed
abridge-install-authsetup - Familiarity with
abridge-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 Abridge 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 abridge-common-errors.
Optimize Abridge costs through tier selection, sampling, and usage monitoring.
Abridge Cost Tuning
Overview
Optimize Abridge costs through smart tier selection, sampling, and usage monitoring.
Prerequisites
- Access to Abridge 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 estimateAbridgeCost(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 AbridgeUsageMonitor {
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 Abridge budget limit');
}
}
estimatedCost(): number {
return estimateAbridgeCost(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 abridgeClient.trackEvent(event);
}
Step 2: Batching Requests
// Instead of N individual calls
await Promise.all(ids.map(id => abridgeClient.get(id)));
// Use batch endpoint (1 call)
await abridgeClient.batchGet(ids);
Step 3: Caching (from P16)
- Cache frequently accessed data
- Use cache inva
Collect Abridge debug evidence for support tickets and troubleshooting.
Abridge Debug Bundle
Overview
Collect all necessary diagnostic information for Abridge support tickets.
Prerequisites
- Abridge SDK installed
- Access to application logs
- Permission to collect environment info
Instructions
Step 1: Create Debug Bundle Script
#!/bin/bash
# abridge-debug-bundle.sh
BUNDLE_DIR="abridge-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"
echo "=== Abridge 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 "ABRIDGE_API_KEY: ${ABRIDGE_API_KEY:+[SET]}" >> "$BUNDLE_DIR/summary.txt"
Step 3: Gather SDK and Logs
# SDK version
npm list @abridge/sdk 2>/dev/null >> "$BUNDLE_DIR/summary.txt"
# Recent logs (redacted)
grep -i "abridge" ~/.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.abridge.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
abridge-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
Deploy Abridge integrations to Vercel, Fly.
ReadWriteEditBash(vercel:*)Bash(fly:*)Bash(gcloud:*)
Abridge Deploy IntegrationOverviewDeploy Abridge-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 EndpointCreate a minimal working Abridge example.
ReadWriteEdit
Abridge Hello WorldOverviewMinimal working example demonstrating core Abridge 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 Install and configure Abridge SDK/CLI authentication.
ReadWriteEditBash(npm:*)Bash(pip:*)Grep
Abridge Install & AuthOverviewSet up Abridge 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 Abridge local development with hot reload and testing.
ReadWriteEditBash(npm:*)Bash(pnpm:*)Grep
Abridge Local Dev LoopOverviewSet up a fast, reproducible local development workflow for Abridge. Prerequisites
InstructionsStep 1: Create Project Structure
Step 2: Configure Environment
Step 3: Setup Hot Reload
Step 4: Configure Testing
Output
Error Handling
ExamplesMock Abridge Responses
Debug Mode
ResourcesOptimize Abridge API performance with caching, batching, and connection pooling.
ReadWriteEdit
Abridge Performance TuningOverviewOptimize Abridge API performance with caching, batching, and connection pooling. Prerequisites
Latency Benchmarks
Caching StrategyResponse Caching
Redis Caching (Distributed)
Request Batching
Connection Optimization
Pagination OptimizationExecute Abridge production deployment checklist and rollback procedures.
ReadBash(kubectl:*)Bash(curl:*)Grep
Abridge Production ChecklistOverviewComplete checklist for deploying Abridge 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 Abridge rate limiting, backoff, and idempotency patterns.
ReadWriteEdit
Abridge Rate LimitsOverviewHandle Abridge 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
|