jeremylongshore/claude-code-plugins-plus-skills
lindy-pack
plugins/saas-packs/lindy-pack/skills/lindy-rate-limits/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/lindy-pack/skills/lindy-rate-limits/SKILL.md -a claude-code --skill lindy-rate-limitsInstallation paths:
.claude/skills/lindy-rate-limits/# Lindy Rate Limits
## Overview
Comprehensive guide to understanding and managing Lindy API rate limits.
## Prerequisites
- Lindy SDK installed
- Understanding of your plan's limits
- Access to usage dashboard
## Rate Limit Tiers
### Free Tier
| Resource | Limit | Window |
|----------|-------|--------|
| API Requests | 100/min | Rolling |
| Agent Runs | 50/day | Daily |
| Concurrent Runs | 2 | Instant |
### Pro Tier
| Resource | Limit | Window |
|----------|-------|--------|
| API Requests | 1000/min | Rolling |
| Agent Runs | 1000/day | Daily |
| Concurrent Runs | 10 | Instant |
### Enterprise
| Resource | Limit | Window |
|----------|-------|--------|
| API Requests | Custom | Rolling |
| Agent Runs | Unlimited | - |
| Concurrent Runs | 100+ | Instant |
## Instructions
### Step 1: Check Current Usage
```typescript
import { Lindy } from '@lindy-ai/sdk';
const lindy = new Lindy({ apiKey: process.env.LINDY_API_KEY });
async function checkUsage() {
const usage = await lindy.usage.current();
console.log('Current Usage:');
console.log(` API Requests: ${usage.apiRequests.used}/${usage.apiRequests.limit}`);
console.log(` Agent Runs: ${usage.agentRuns.used}/${usage.agentRuns.limit}`);
console.log(` Concurrent: ${usage.concurrent.active}/${usage.concurrent.limit}`);
return usage;
}
```
### Step 2: Implement Rate Limiter
```typescript
class RateLimiter {
private tokens: number;
private lastRefill: number;
private readonly maxTokens: number;
private readonly refillRate: number; // tokens per second
constructor(maxTokens: number, refillRate: number) {
this.maxTokens = maxTokens;
this.tokens = maxTokens;
this.refillRate = refillRate;
this.lastRefill = Date.now();
}
async acquire(): Promise<void> {
this.refill();
if (this.tokens < 1) {
const waitTime = (1 - this.tokens) / this.refillRate * 1000;
await new Promise(r => setTimeout(r, waitTime));
this.refill();
}
this.tokens -= 1;
}