{
  "skill_id": "gf-po-rate-limit-incident-pack",
  "name": "Rate-Limit Incident Pack",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "functional": true,
  "price_usd": 9.99,
  "category": "Agent Ops",
  "tier": "standard",
  "kind": "service",
  "tags": [
    "x402",
    "quality-factory",
    "service",
    "decision-grade",
    "functional",
    "sealed-runtime",
    "gf-complete"
  ],
  "summary": "Incident pack for rate-limit storms: detection signals, shed vs queue decisions, client backoff, and post-incident budget retune.",
  "when_to_use": [
    "Agent tool-call bursts or bot scrapers trip edge limits and legitimate traffic collapses under synchronized retries.",
    "On-call lacks a single place that separates edge 429, app budget exhaustion, and upstream provider throttling.",
    "Post-incident you need a budget retune worksheet instead of permanently raising limits “just in case.”"
  ],
  "outline": [
    "Detect: map signals for edge 429 rate, app reject codes, agent tool-fail %, queue depth, and retry amplification ratios in the first five minutes.",
    "Decide shed vs queue: which routes drop, which enqueue, which require authenticated-only mode, and who approves each lever.",
    "Stabilize clients: publish Retry-After, jittered backoff, circuit-breaker guidance for agents, and kill switches for noncritical scrapers.",
    "Communicate: status templates for users and internal channels with estimated recovery and known-safe actions during the storm.",
    "Retune budgets post-incident: per-IP, per-key, per-tenant, and per-tool limits with evidence of false positives and residual risk."
  ],
  "capabilities": [
    "Rate-limit storm first-five-minutes signal map for edge, app, and agent layers",
    "Shed-versus-queue decision tree with authenticated-only and kill-switch levers",
    "Client and agent backoff guidance including Retry-After and jitter patterns",
    "Status and internal comms templates for limit storms",
    "Post-incident budget retune worksheet tied to measured false positives"
  ],
  "artifact_outputs": [
    "rate-limit-incident-runbook.md",
    "shed-queue-decision-tree.yaml",
    "budget-retune-worksheet.csv",
    "status-comms-templates.md"
  ],
  "decision_criteria": [
    "Outline steps are specific to this skill (not generic templates)",
    "Sealed pack exposes createSkill().run with outline-driven steps",
    "Artifacts are named concrete deliverables",
    "No revenue guarantees or banned claims",
    "Free eval path works without payment"
  ],
  "sealed_after_pay": [
    "Full src/index.js runtime (createSkill, run, plan)",
    "src/runbook.js with skill-specific steps",
    "src/tools.js registry for agent ToolRegistry",
    "WORKBOOK.md operator procedure",
    "templates/ checklist and artifact shells",
    "schemas/output.schema.json"
  ],
  "runtime": {
    "entry": "src/index.js",
    "export": "createSkill",
    "install": "node scripts/install-unlocked-pack.mjs unlock.json ./skills"
  },
  "challenge": "https://lvlltd.com/api/pay?skill=gf-po-rate-limit-incident-pack",
  "sample": "https://lvlltd.com/skills/gf-po-rate-limit-incident-pack/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=gf-po-rate-limit-incident-pack",
  "teaser": "https://lvlltd.com/sealed/gf-po-rate-limit-incident-pack/",
  "proof": "https://lvlltd.com/api/proof",
  "standards": [
    "x402",
    "ERC-7857"
  ],
  "operator_notes": [
    "Confirm pay path with GET /api/pay before purchasing.",
    "Dry-run createSkill().run({ goal, dry_run: true }) after unlock.",
    "Persist payment.txHash with skill_id for re-redeem.",
    "Never commit private keys or OPS_SECRET into pack usage.",
    "Category focus: Agent Ops. Kind: service.",
    "Claim scrub: no guaranteed ROI, no fake testimonials.",
    "If outline 404s on production, redeploy public/skills after completion pass."
  ]
}