{
  "skill_id": "gf-studio-storyboard-beats",
  "name": "Storyboard Beat Mapper",
  "evaluation": "free",
  "quality": "agent-decision-grade",
  "functional": true,
  "price_usd": 7.99,
  "category": "Studio",
  "tier": "standard",
  "kind": "skill",
  "tags": [
    "x402",
    "goods-factory",
    "skill",
    "functional",
    "sealed-runtime",
    "gf-complete"
  ],
  "summary": "Map scripts and briefs into storyboard beats: shot intent, duration targets, audio cues, and transition notes for directors and edit agents.",
  "when_to_use": [
    "Script exists but shoot or edit lacks a beat-level plan",
    "Need shot cards with duration and audio cue fields for agents",
    "Align director, camera, and editor on the same beat sheet"
  ],
  "outline": [
    "Segment script or brief into narrative or promo beats with purpose tags",
    "Assign shot intent, framing notes, and duration targets per beat",
    "Attach audio cues, VO lines, and music hit markers when present",
    "Add transition and continuity notes between beats",
    "Emit beat-sheet.md, shot-cards.json, and continuity-notes.md"
  ],
  "capabilities": [
    "Script-to-beat segmentation with purpose tags",
    "Shot intent and duration target fields per beat",
    "Audio cue and music-hit attachment",
    "Continuity and transition notes for edit agents"
  ],
  "artifact_outputs": [
    "beat-sheet.md",
    "shot-cards.json",
    "continuity-notes.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-studio-storyboard-beats",
  "sample": "https://lvlltd.com/skills/gf-studio-storyboard-beats/sample.md",
  "pack_meta": "https://lvlltd.com/api/packs?skill=gf-studio-storyboard-beats",
  "teaser": "https://lvlltd.com/sealed/gf-studio-storyboard-beats/",
  "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: Studio. Kind: skill.",
    "Claim scrub: no guaranteed ROI, no fake testimonials.",
    "If outline 404s on production, redeploy public/skills after completion pass."
  ]
}