calendly-api-1-rate-limiting

Sub-skill of calendly-api: 1. Rate Limiting (+3).

5 stars

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

$curl -o ~/.claude/skills/1-rate-limiting/SKILL.md --create-dirs "https://raw.githubusercontent.com/vamseeachanta/workspace-hub/main/.agents/skills/_archive/business/communication/calendly-api/1-rate-limiting/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/1-rate-limiting/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How calendly-api-1-rate-limiting Compares

Feature / Agentcalendly-api-1-rate-limitingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

5
from vamseeachanta/workspace-hub

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

5
from vamseeachanta/workspace-hub

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

5
from vamseeachanta/workspace-hub

Reconcile conflicting revenue sources and prepare Form 1120 for cash-method C-Corps using bank deposits as authoritative source

tax-filing-strategy-and-packets

5
from vamseeachanta/workspace-hub

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

5
from vamseeachanta/workspace-hub

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

5
from vamseeachanta/workspace-hub

Programmatically fill IRS tax form PDFs (Form 1120, etc.) using pymupdf/fitz. Covers field discovery, mapping, filling, cross-checking, and PDF generation.

content-strategy

5
from vamseeachanta/workspace-hub

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

5
from vamseeachanta/workspace-hub

Query decomposition and multi-source search orchestration for enterprise knowledge retrieval workflows

corporate-tax-strategic-planning

5
from vamseeachanta/workspace-hub

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

5
from vamseeachanta/workspace-hub

Sub-skill of hidden-folder-audit: Migrate .agent-os to .Codex (+4).

nextflow-pipelines-generate-automatically

5
from vamseeachanta/workspace-hub

Sub-skill of nextflow-pipelines: Generate automatically (+2).

github-actions-3-caching-strategies

5
from vamseeachanta/workspace-hub

Sub-skill of github-actions: 3. Caching Strategies (+1).