{
  "skill_id": "gf-ops-cf-pages-deploy-checklist",
  "name": "CF Pages Deploy Checklist",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "functional": true,
  "price_usd": 4.99,
  "category": "Launch",
  "tier": "standard",
  "kind": "good",
  "tags": [
    "x402",
    "goods-factory",
    "good",
    "functional",
    "sealed-runtime",
    "gf-complete"
  ],
  "summary": "Cloudflare Pages launch checklist covering build pins, env parity, preview gates, production cutover, and post-deploy smoke.",
  "when_to_use": [
    "You are shipping lvlltd-style or similar sites on Cloudflare Pages and need a repeatable go-live gate.",
    "Preview deploys look fine but production env vars, headers, or redirects differ and break unlocks or auth.",
    "You want a junior-safe cutover list that includes cache purge, DNS, and smoke probes after promote."
  ],
  "outline": [
    "Pin the build: Node version, package lock integrity, build command, and output directory verified on a clean CI runner.",
    "Diff preview vs production: environment variables, secrets presence (not values), redirects, headers, and Functions bindings.",
    "Run preview gates: Lighthouse or custom smoke, critical path clicks (home → product → unlock stub), and broken-link scan.",
    "Execute production promote: domain/SSL check, cache rules, purge strategy, and traffic observation window.",
    "Post-deploy smoke: health endpoints, asset 200s, CSP/console errors, and documented rollback to previous deployment ID."
  ],
  "capabilities": [
    "Pages-specific preflight for builds, locks, and output paths",
    "Preview-to-production parity matrix for env, redirects, headers, and bindings",
    "Cutover sequence with cache purge and observation window",
    "Rollback card keyed to Cloudflare deployment IDs and owners"
  ],
  "artifact_outputs": [
    "cf-pages-deploy-checklist.md",
    "preview-prod-parity-matrix.csv",
    "post-deploy-smoke.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-ops-cf-pages-deploy-checklist",
  "sample": "https://lvlltd.com/skills/gf-ops-cf-pages-deploy-checklist/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=gf-ops-cf-pages-deploy-checklist",
  "teaser": "https://lvlltd.com/sealed/gf-ops-cf-pages-deploy-checklist/",
  "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: Launch. Kind: good.",
    "Claim scrub: no guaranteed ROI, no fake testimonials.",
    "If outline 404s on production, redeploy public/skills after completion pass."
  ]
}