calendly-api-1-rate-limiting
Sub-skill of calendly-api: 1. Rate Limiting (+3).
Best use case
calendly-api-1-rate-limiting is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of calendly-api: 1. Rate Limiting (+3).
Teams using calendly-api-1-rate-limiting should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/1-rate-limiting/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How calendly-api-1-rate-limiting Compares
| Feature / Agent | calendly-api-1-rate-limiting | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of calendly-api: 1. Rate Limiting (+3).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 1. Rate Limiting (+3)
## 1. Rate Limiting
```python
# Rate limit handling
import time
from functools import wraps
def rate_limit_handler(max_retries=3, base_delay=1):
"""Decorator for handling Calendly rate limits"""
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
for attempt in range(max_retries):
try:
return func(*args, **kwargs)
except Exception as e:
if "429" in str(e):
delay = base_delay * (2 ** attempt)
print(f"Rate limited, waiting {delay}s...")
time.sleep(delay)
else:
raise
raise Exception("Max retries exceeded")
return wrapper
return decorator
```
## 2. Token Management
```python
# Secure token management
import os
from functools import lru_cache
@lru_cache()
def get_calendly_client():
"""Get cached Calendly client with secure token"""
token = os.environ.get("CALENDLY_API_KEY")
if not token:
raise ValueError("CALENDLY_API_KEY not set")
return CalendlyClient(api_key=token)
# Never log tokens
def redact_token(text: str) -> str:
token = os.environ.get("CALENDLY_API_KEY", "")
if token and token in text:
return text.replace(token, "[REDACTED]")
return text
```
## 3. Webhook Security
```python
# Webhook signature verification
def verify_and_process_webhook(request):
"""Verify webhook signature before processing"""
signature = request.headers.get("Calendly-Webhook-Signature")
if not signature:
return {"error": "Missing signature"}, 401
signing_key = os.environ.get("CALENDLY_WEBHOOK_SECRET")
if not verify_webhook_signature(request.data, signature, signing_key):
return {"error": "Invalid signature"}, 401
# Process webhook
return process_webhook(request.json)
```
## 4. Error Handling
```python
# Comprehensive error handling
class CalendlyError(Exception):
"""Base Calendly API error"""
pass
class RateLimitError(CalendlyError):
"""Rate limit exceeded"""
def __init__(self, retry_after: int):
self.retry_after = retry_after
super().__init__(f"Rate limited. Retry after {retry_after}s")
class NotFoundError(CalendlyError):
"""Resource not found"""
pass
def handle_api_error(response):
"""Handle API error responses"""
if response.status_code == 429:
retry_after = int(response.headers.get("Retry-After", 60))
raise RateLimitError(retry_after)
elif response.status_code == 404:
raise NotFoundError(response.json().get("message"))
else:
response.raise_for_status()
```Related Skills
corporate-tax-filing-reconciliation
Reconcile multi-document tax packets and build line-by-line IRS filing guides for first-year C-Corps with real-estate holdings
corporate-tax-filing-reconciliation-and-decision
Reconcile multi-document corporate tax packets, verify line-item accuracy against source data, and structure decision trees for filing timing and extension strategies.
cash-basis-corporate-tax-reconciliation
Reconcile conflicting revenue sources and prepare Form 1120 for cash-method C-Corps using bank deposits as authoritative source
tax-filing-strategy-and-packets
Class-level tax filing strategy and packet assembly for C-Corp/personal/TaxAct workflows, including R&D strategy and strategic planning.
c-corp-rd-tax-strategy
Tax optimization for C-Corp engineering consulting firms investing in AI/R&D. Covers §174 amortization, §41 R&D credits, loan-to-equity conversion, NOL planning, and AI growth funding models.
corporate-tax-form-fill
Programmatically fill IRS tax form PDFs (Form 1120, etc.) using pymupdf/fitz. Covers field discovery, mapping, filling, cross-checking, and PDF generation.
content-strategy
Content marketing strategy with brand voice, editorial calendar, and content frameworks. Use for blog planning, content creation pipelines, and brand consistency. Based on alirezarezvani/Codex-skills.
search-strategy
Query decomposition and multi-source search orchestration for enterprise knowledge retrieval workflows
corporate-tax-strategic-planning
Reverse-engineer target tax outcomes, model multi-year retained earnings and R&D funding, and produce strategic tax analysis for small C-Corps. Covers deduction gap analysis, capital source modeling, §174 R&D amortization timing, NOL carryforward projections, and loan structure optimization.
hidden-folder-audit-migrate-agent-os-to-Codex
Sub-skill of hidden-folder-audit: Migrate .agent-os to .Codex (+4).
nextflow-pipelines-generate-automatically
Sub-skill of nextflow-pipelines: Generate automatically (+2).
github-actions-3-caching-strategies
Sub-skill of github-actions: 3. Caching Strategies (+1).