{
  "skill_id": "gf-refund-policy-pack-agents",
  "name": "Refund Policy Pack for Agent Sellers",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "functional": true,
  "price_usd": 0.99,
  "category": "Trust",
  "tier": "starter",
  "kind": "good",
  "tags": [
    "x402",
    "goods-factory",
    "good",
    "functional",
    "sealed-runtime",
    "gf-complete"
  ],
  "summary": "Modular refund, partial-credit, and no-refund clause blocks for agent-sold digital goods.",
  "when_to_use": [
    "You list sealed skills or digital goods and lack consistent refund window language",
    "Buyers dispute unlock delivery and you need defect vs preference distinction wording",
    "Agent support flows must intake refund requests with structured reason codes"
  ],
  "outline": [
    "Select policy modules by good type (instant digital, delayed unlock, multi-seat) and draft window and eligibility lines",
    "Define defect, non-delivery, and preference categories with plain-language examples tied to sealed unlocks",
    "Write buyer-facing summary cards and full-policy sections that stay consistent in agent and storefront surfaces",
    "Specify agent intake fields and reason codes for refund requests without collecting unnecessary personal data",
    "Produce partial-credit and store-credit option language plus denial language that points to next review step"
  ],
  "capabilities": [
    "Modular refund clause blocks by digital good type",
    "Defect vs preference distinction wording",
    "Agent refund-intake field and reason-code specs",
    "Partial-credit and denial language aligned to the same modules"
  ],
  "artifact_outputs": [
    "refund-clause-modules.md",
    "refund-reason-codes.json",
    "buyer-summary-policy-cards.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-refund-policy-pack-agents",
  "sample": "https://lvlltd.com/skills/gf-refund-policy-pack-agents/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=gf-refund-policy-pack-agents",
  "teaser": "https://lvlltd.com/sealed/gf-refund-policy-pack-agents/",
  "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: Trust. Kind: good.",
    "Claim scrub: no guaranteed ROI, no fake testimonials.",
    "If outline 404s on production, redeploy public/skills after completion pass."
  ]
}