Claude Code skill pack for RemoFirst (12 skills)
Installation
Open Claude Code and run this command:
/plugin install remofirst-pack@claude-code-plugins-plus
Use --global to install for all projects, or --project for current project only.
Skills (12)
Diagnose and fix RemoFirst common errors and exceptions.
RemoFirst Common Errors
Overview
Quick reference for the top 10 most common RemoFirst errors and their solutions.
Prerequisites
- RemoFirst 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 $REMOFIRST_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 remofirst-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 RemoFirst status
curl -s https://status.remofirst.com
# Verify API connectivity
curl -I https://api.remofirst.com
# Check local configuration
env | grep REMOFIRST
Escalation Path
- Collect evidence with
remofirst-debug-bundle - Check RemoFirst status page
- Contact support with request ID
Resources
Next Steps
For comprehensive debugging, see remofirst-debug-bundle.
Execute RemoFirst primary workflow: Core Workflow A.
RemoFirst Core Workflow A
Overview
Primary money-path workflow for RemoFirst. This is the most common use case.
Prerequisites
- Completed
remofirst-install-authsetup - Understanding of RemoFirst 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 RemoFirst 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 remofirst-core-workflow-b.
Execute RemoFirst secondary workflow: Core Workflow B.
RemoFirst Core Workflow B
Overview
Secondary workflow for RemoFirst. Complements the primary workflow.
Prerequisites
- Completed
remofirst-install-authsetup - Familiarity with
remofirst-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 RemoFirst 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 remofirst-common-errors.
Collect RemoFirst debug evidence for support tickets and troubleshooting.
RemoFirst Debug Bundle
Overview
Collect all necessary diagnostic information for RemoFirst support tickets.
Prerequisites
- RemoFirst SDK installed
- Access to application logs
- Permission to collect environment info
Instructions
Step 1: Create Debug Bundle Script
#!/bin/bash
# remofirst-debug-bundle.sh
BUNDLE_DIR="remofirst-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"
echo "=== RemoFirst 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 "REMOFIRST_API_KEY: ${REMOFIRST_API_KEY:+[SET]}" >> "$BUNDLE_DIR/summary.txt"
Step 3: Gather SDK and Logs
# SDK version
npm list @remofirst/sdk 2>/dev/null >> "$BUNDLE_DIR/summary.txt"
# Recent logs (redacted)
grep -i "remofirst" ~/.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.remofirst.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
remofirst-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 | ✓ |
| Error | Cause | Solution |
|---|---|---|
| Import Error | SDK not installed | Verify with npm list or pip show |
| Auth Error | Invalid credentials | Check environment variable is set |
| Timeout | Network issues | Increase timeout or check connectivity |
| Rate Limit | Too many requests | Wait and retry with exponential backoff |
Examples
TypeScript Example
import { RemoFirstClient } from '@remofirst/sdk';
const client = new RemoFirstClient({
apiKey: process.env.REMOFIRST_API_KEY,
});
async function main() {
// Your first API call here
}
main().catch(console.error);
Python Example
from remofirst import RemoFirstClient
client = RemoFirstClient()
# Your first API call here
Resources
Next Steps
Proceed to remofirst-local-dev-loop for development workflow setup.
Install and configure RemoFirst SDK/CLI authentication.
RemoFirst Install & Auth
Overview
Set up RemoFirst SDK/CLI and configure authentication credentials.
Prerequisites
- Node.js 18+ or Python 3.10+
- Package manager (npm, pnpm, or pip)
- RemoFirst account with API access
- API key from RemoFirst dashboard
Instructions
Step 1: Install SDK
# Node.js
npm install @remofirst/sdk
# Python
pip install remofirst
Step 2: Configure Authentication
# Set environment variable
export REMOFIRST_API_KEY="your-api-key"
# Or create .env file
echo 'REMOFIRST_API_KEY=your-api-key' >> .env
Step 3: Verify Connection
// Test connection code here
Output
- Installed SDK package in node_modules or site-packages
- Environment variable or .env file with API key
- Successful connection verification output
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Invalid API Key | Incorrect or expired key | Verify key in RemoFirst dashboard |
| Rate Limited | Exceeded quota | Check quota at https://docs.remofirst.com |
| Network Error | Firewall blocking | Ensure outbound HTTPS allowed |
| Module Not Found | Installation failed | Run npm install or pip install again |
Examples
TypeScript Setup
import { RemoFirstClient } from '@remofirst/sdk';
const client = new RemoFirstClient({
apiKey: process.env.REMOFIRST_API_KEY,
});
Python Setup
from remofirst import RemoFirstClient
client = RemoFirstClient(
api_key=os.environ.get('REMOFIRST_API_KEY')
)
Resources
Next Steps
After successful auth, proceed to remofirst-hello-world for your first API call.
Configure RemoFirst local development with hot reload and testing.
RemoFirst Local Dev Loop
Overview
Set up a fast, reproducible local development workflow for RemoFirst.
Prerequisites
- Completed
remofirst-install-authsetup - Node.js 18+ with npm/pnpm
- Code editor with TypeScript support
- Git for version control
Instructions
Step 1: Create Project Structure
my-remofirst-project/
├── src/
│ ├── remofirst/
│ │ ├── client.ts # RemoFirst client wrapper
│ │ ├── config.ts # Configuration management
│ │ └── utils.ts # Helper functions
│ └── index.ts
├── tests/
│ └── remofirst.test.ts
├── .env.local # Local secrets (git-ignored)
├── .env.example # Template for team
└── package.json
Step 2: Configure Environment
# Copy environment template
cp .env.example .env.local
# Install dependencies
npm install
# Start development server
npm run dev
Step 3: Setup Hot Reload
{
"scripts": {
"dev": "tsx watch src/index.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
Step 4: Configure Testing
import { describe, it, expect, vi } from 'vitest';
import { RemoFirstClient } from '../src/remofirst/client';
describe('RemoFirst Client', () => {
it('should initialize with API key', () => {
const client = new RemoFirstClient({ apiKey: 'test-key' });
expect(client).toBeDefined();
});
});
Output
- Working development environment with hot reload
- Configured test suite with mocking
- Environment variable management
- Fast iteration cycle for RemoFirst development
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Module not found | Missing dependency | Run npm install |
| Port in use | Another process | Kill process or change port |
| Env not loaded | Missing .env.local | Copy from .env.example |
| Test timeout | Slow network | Increase test timeout |
Examples
Mock RemoFirst Responses
vi.mock('@remofirst/sdk', () => ({
RemoFirstClient: vi.fn().mockImplementation(() => ({
// Mock methods here
})),
}));
Debug Mode
# Enable verbose logging
DEBUG=REMOFIRST=* npm run dev
Resources
- RemoFirst SDK Reference
- Vitest Documentation
-
Execute RemoFirst production deployment checklist and rollback procedures.
ReadBash(kubectl:*)Bash(curl:*)GrepRemoFirst Production Checklist
Overview
Complete checklist for deploying RemoFirst integrations to production.
Prerequisites
- Staging environment tested and verified
- Production API keys available
- Deployment pipeline configured
- Monitoring and alerting ready
Instructions
Step 1: Pre-Deployment Configuration
- [ ] Production API keys in secure vault
- [ ] Environment variables set in deployment platform
- [ ] API key scopes are minimal (least privilege)
- [ ] Webhook endpoints configured with HTTPS
- [ ] Webhook secrets stored securely
Step 2: Code Quality Verification
- [ ] All tests passing (
npm test) - [ ] No hardcoded credentials
- [ ] Error handling covers all RemoFirst error types
- [ ] Rate limiting/backoff implemented
- [ ] Logging is production-appropriate
Step 3: Infrastructure Setup
- [ ] Health check endpoint includes RemoFirst connectivity
- [ ] Monitoring/alerting configured
- [ ] Circuit breaker pattern implemented
- [ ] Graceful degradation configured
Step 4: Documentation Requirements
- [ ] Incident runbook created
- [ ] Key rotation procedure documented
- [ ] Rollback procedure documented
- [ ] On-call escalation path defined
Step 5: Deploy with Gradual Rollout
# Pre-flight checks curl -f https://staging.example.com/health curl -s https://status.remofirst.com # Gradual rollout - start with canary (10%) kubectl apply -f k8s/production.yaml kubectl set image deployment/remofirst-integration app=image:new --record kubectl rollout pause deployment/remofirst-integration # Monitor canary traffic for 10 minutes sleep 600 # Check error rates and latency before continuing # If healthy, continue rollout to 50% kubectl rollout resume deployment/remofirst-integration kubectl rollout pause deployment/remofirst-integration sleep 300 # Complete rollout to 100% kubectl rollout resume deployment/remofirst-integration kubectl rollout status deployment/remofirst-integrationOutput
- Deployed RemoFirst integration
- Health checks passing
- Monitoring active
- Rollback procedure documented
Error Handling
Alert Condition Severity API Down 5xx errors > 10/min P1 High Latency p99 > 5000ms P2 Rate Limited 429 errors > 5/min P2 Auth Failures 401/403 errors > 0 P1 Examples
Health Check Implementation
async function healthCheck(): Promise<{ status: string; rem
Implement RemoFirst rate limiting, backoff, and idempotency patterns.
RemoFirst Rate Limits
Overview
Handle RemoFirst rate limits gracefully with exponential backoff and idempotency.
Prerequisites
- RemoFirst SDK installed
- Understanding of async/await patterns
- Access to rate limit headers
Instructions
Step 1: Understand Rate Limit Tiers
| Tier | Requests/min | Requests/day | Burst |
|---|---|---|---|
| Free | 60 | 1,000 | 10 |
| Pro | 300 | 10,000 | 50 |
| Enterprise | 1,000 | 100,000 | 200 |
Step 2: Implement Exponential Backoff with Jitter
async function withExponentialBackoff<T>(
operation: () => Promise<T>,
config = { maxRetries: 5, baseDelayMs: 1000, maxDelayMs: 32000, jitterMs: 500 }
): Promise<T> {
for (let attempt = 0; attempt <= config.maxRetries; attempt++) {
try {
return await operation();
} catch (error: any) {
if (attempt === config.maxRetries) throw error;
const status = error.status || error.response?.status;
if (status !== 429 && (status < 500 || status >= 600)) throw error;
// Exponential delay with jitter to prevent thundering herd
const exponentialDelay = config.baseDelayMs * Math.pow(2, attempt);
const jitter = Math.random() * config.jitterMs;
const delay = Math.min(exponentialDelay + jitter, config.maxDelayMs);
console.log(`Rate limited. Retrying in ${delay.toFixed(0)}ms...`);
await new Promise(r => setTimeout(r, delay));
}
}
throw new Error('Unreachable');
}
Step 3: Add Idempotency Keys
import { v4 as uuidv4 } from 'uuid';
import crypto from 'crypto';
// Generate deterministic key from operation params (for safe retries)
function generateIdempotencyKey(operation: string, params: Record<string, any>): string {
const data = JSON.stringify({ operation, params });
return crypto.createHash('sha256').update(data).digest('hex');
}
async function idempotentRequest<T>(
client: RemoFirstClient,
params: Record<string, any>,
idempotencyKey?: string // Pass existing key for retries
): Promise<T> {
// Use provided key (for retries) or generate deterministic key from params
const key = idempotencyKey || generateIdempotencyKey(params.method || 'POST', params);
return client.request({
...params,
headers: { 'Idempotency-Key': key, ...params.headers },
});
}
Output
- Reliable API calls with automatic retry
- Idempotent requests preventing duplicates
- Rate limit headers properly handled
Error Handling
| Header | Description |
Apply production-ready RemoFirst SDK patterns for TypeScript and Python.
ReadWriteEdit
RemoFirst SDK PatternsOverviewProduction-ready patterns for RemoFirst SDK usage in TypeScript and Python. Prerequisites
InstructionsStep 1: Implement Singleton Pattern (Recommended)
Step 2: Add Error Handling Wrapper
Step 3: Implement Retry Logic
Output
Error Handling
ExamplesFactory Pattern (Multi-tenant)Apply RemoFirst security best practices for secrets and access control.
ReadWriteGrep
RemoFirst Security BasicsOverviewSecurity best practices for RemoFirst 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 RemoFirst SDK upgrades with breaking change detection.
ReadWriteEditBash(npm:*)Bash(git:*)
RemoFirst Upgrade & MigrationOverviewGuide for upgrading RemoFirst 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 Ready to use remofirst-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
remofirstsaassdkintegration
|
|---|