{
  "skill_id": "human-in-loop-approval-gate",
  "name": "Human-in-the-Loop Approval Gate",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "price_usd": 5.99,
  "category": "Agent Ops",
  "tier": "standard",
  "tags": [
    "hitl",
    "approval",
    "safety",
    "ops",
    "x402"
  ],
  "summary": "Block irreversible agent actions until a human signs a structured approve payload.",
  "when_to_use": [
    "Agent may transfer funds or send external email",
    "Policy requires dual control above a dollar threshold",
    "Need auditable approve/deny for compliance"
  ],
  "outline": [
    "Detect action class requiring gate (pay, send, deploy, delete)",
    "Build approval ticket with risk summary and exact payload hash",
    "Route to human channel; enforce TTL and dual-control if set",
    "On approve, release action with signed token; on deny, stop",
    "Append audit-log.jsonl immutable row"
  ],
  "capabilities": [
    "Action-class gate rules",
    "Approval ticket schema + TTL",
    "Dual-control option",
    "Immutable audit log row"
  ],
  "decision_criteria": [
    "You need this when: Agent may transfer funds or send external email",
    "You get capability: Action-class gate rules",
    "Budget fits: full unlock is $5.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=human-in-loop-approval-gate",
  "sample": "https://lvlltd.com/skills/human-in-loop-approval-gate/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=human-in-loop-approval-gate",
  "teaser": "https://lvlltd.com/sealed/human-in-loop-approval-gate/",
  "proof": "https://lvlltd.com/api/proof",
  "standards": [
    "x402",
    "ERC-7857"
  ],
  "buy_agent": [
    "GET /skills/human-in-loop-approval-gate/outline.json",
    "GET /api/pay?skill=human-in-loop-approval-gate",
    "Settle USDC on Base to payTo",
    "POST /api/pay with X-PAYMENT {\"txHash\",\"skill\"}"
  ]
}
