{
  "skill_id": "gf-po-ci-artifact-hygiene",
  "name": "CI Artifact Hygiene Pack",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "functional": true,
  "price_usd": 4.99,
  "category": "Coding",
  "tier": "standard",
  "kind": "good",
  "tags": [
    "x402",
    "quality-factory",
    "good",
    "decision-grade",
    "functional",
    "sealed-runtime",
    "gf-complete"
  ],
  "summary": "CI artifact retention, naming, SBOM-light inventory, and poison-cache prevention for agent marketplace build pipelines.",
  "when_to_use": [
    "Build caches serve stale or wrong artifacts after dependency bumps and nobody owns purge criteria.",
    "Artifact names collide across branches and production deploys cannot prove which commit produced the zip.",
    "You need a light inventory of what CI retains so sealed packs and deploy tarballs do not rot forever with secrets inside."
  ],
  "outline": [
    "Standardize artifact naming: product, git SHA, branch slug, and build number so every download maps to one commit.",
    "Set retention and purge: TTLs by artifact class (ephemeral test, release candidate, production promote), plus manual purge owners.",
    "Harden caches: key composition rules, forbidden secret paths, and when to force clean runners after dependency or lockfile changes.",
    "Record integrity notes: optional checksums, who may promote an artifact, and a quarantine path for failed integrity checks.",
    "Audit monthly: orphan artifacts, oversized logs, and pipeline steps that still upload debug dumps with tokens redacted poorly."
  ],
  "capabilities": [
    "Artifact naming convention template binding SHA, branch, and build number",
    "Retention TTL matrix by artifact class with purge owners",
    "Cache key hygiene rules that avoid secret and lockfile poison cases",
    "Integrity and promote quarantine checklist for release candidates",
    "Monthly CI artifact audit agenda for orphans and oversized dumps"
  ],
  "artifact_outputs": [
    "ci-artifact-hygiene.md",
    "retention-ttl-matrix.csv",
    "cache-key-rules.yaml",
    "artifact-audit-checklist.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-ci-artifact-hygiene",
  "sample": "https://lvlltd.com/skills/gf-po-ci-artifact-hygiene/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=gf-po-ci-artifact-hygiene",
  "teaser": "https://lvlltd.com/sealed/gf-po-ci-artifact-hygiene/",
  "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: Coding. Kind: good.",
    "Claim scrub: no guaranteed ROI, no fake testimonials.",
    "If outline 404s on production, redeploy public/skills after completion pass."
  ]
}