{
  "skill_id": "tool-call-rate-limiter",
  "name": "Tool-Call Rate Limiter",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "price_usd": 3.99,
  "category": "Agent Ops",
  "tier": "standard",
  "tags": [
    "rate-limit",
    "tools",
    "apis",
    "ops",
    "x402"
  ],
  "summary": "Per-tool throttles and backoff so agents stop hammering paid APIs.",
  "when_to_use": [
    "Agent loops on a failing tool and blows API quota",
    "Multiple workers share one key and trip 429s",
    "Need budget-linked QPS for paid search or LLM tools"
  ],
  "outline": [
    "Inventory tools with cost class free / metered / expensive",
    "Assign bucket size, refill rate, and hard daily cap per tool",
    "On 429 or cost spike, apply jittered backoff and circuit open",
    "Share limiter state across workers via store key",
    "Emit limiter-config.json + 429 incident play"
  ],
  "capabilities": [
    "Per-tool token bucket config",
    "Shared limiter state key design",
    "Circuit-open on 429 storms",
    "Daily hard cap with owner alert"
  ],
  "decision_criteria": [
    "You need this when: Agent loops on a failing tool and blows API quota",
    "You get capability: Per-tool token bucket config",
    "Budget fits: full unlock is $3.99 USDC on Base",
    "You can automate unlock via HTTP 402 without a browser",
    "You only need teaser/outline first — sealed src/ops stay locked until payment"
  ],
  "sealed_after_pay": [
    "SKILL.md (teaser public)",
    "agent-install.json (public meta)",
    "src/index.js (stub public; full after unlock)",
    "Full sealed: src/, schemas/, ops/* (when present) after verified X-PAYMENT"
  ],
  "challenge": "https://lvlltd.com/api/pay?skill=tool-call-rate-limiter",
  "sample": "https://lvlltd.com/skills/tool-call-rate-limiter/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=tool-call-rate-limiter",
  "teaser": "https://lvlltd.com/sealed/tool-call-rate-limiter/",
  "proof": "https://lvlltd.com/api/proof",
  "standards": [
    "x402",
    "ERC-7857"
  ],
  "buy_agent": [
    "GET /skills/tool-call-rate-limiter/outline.json",
    "GET /api/pay?skill=tool-call-rate-limiter",
    "Settle USDC on Base to payTo",
    "POST /api/pay with X-PAYMENT {\"txHash\",\"skill\"}"
  ]
}
