{
  "_comment": "Repo-tracked source of truth for skills that need a /slash FRONT DOOR \u2014 a thin pointer at .claude/skills/<name>/SKILL.md (where the Skill tool looks) plus a .claude/CLAUDE.md trigger block. This is the selected slash-command surface, not an exhaustive catalogue. Canonical bodies must exist in this repo; other local skills can remain undispatched until deliberately added. `.claude/` is gitignored (personal config), so run scripts/install-skill-frontdoors.mjs to materialize these locally. `npm run test` guards that every entry's canonical skill still exists (src/tests/skill-frontdoors.test.ts). Adding a /slash skill, or changing a summary/trigger? edit here + re-run the installer \u2014 it refreshes stale pointers and its own stamped CLAUDE.md blocks, and never rewrites a hand-maintained block.",
  "frontDoors": [
    {
      "name": "concierge",
      "aliases": [
        "clawbot"
      ],
      "canonical": "skills/concierge/SKILL.md",
      "summary": "guided, menu-driven front door: idea → finished video, plan → preview → spend. Speaks as Clawbot, VideoClaw's mascot; clawbot is a persona alias.",
      "triggers": [
        "/concierge",
        "/clawbot",
        "make me a video",
        "talk to Clawbot",
        "what can videoclaw make"
      ],
      "invokeWhen": "When the user types /concierge or /clawbot, asks for Clawbot, or asks for guided video creation without knowing the system, invoke the Skill tool with skill: \"concierge\" (or \"clawbot\") before doing anything else."
    },
    {
      "name": "garden-days",
      "aliases": [],
      "canonical": "skills/garden-days/SKILL.md",
      "summary": "Baby Ram & Sita \"Garden Days\" three-lane series factory: status, new episodes, driver ops, troubleshooting, franchise cloning.",
      "triggers": [
        "/garden-days",
        "new garden days episode",
        "baby ram and sita",
        "series status"
      ],
      "invokeWhen": "When the user types /garden-days or asks for a new Baby Ram & Sita / Garden Days episode, series status, or lane operations, invoke the Skill tool with skill: \"garden-days\" before doing anything else."
    },
    {
      "name": "rhyme-factory",
      "aliases": [],
      "canonical": "skills/rhyme-factory/SKILL.md",
      "summary": "sung nursery-rhyme YouTube factory on top of garden-days: character pack + rhyme idea → sung song (kie.ai Suno), sing-along captions, YouTube polish, thumbnail, upload pack.",
      "triggers": [
        "/rhyme-factory",
        "nursery rhyme",
        "sing-along",
        "kids song",
        "make a song video",
        "krishna song",
        "youtube-ready video"
      ],
      "invokeWhen": "When the user types /rhyme-factory or asks for a nursery rhyme / kids sing-along / sung music video for a character, invoke the Skill tool with skill: \"rhyme-factory\" before doing anything else."
    },
    {
      "name": "brand-explainer",
      "aliases": [],
      "canonical": "skills/brand-explainer/SKILL.md",
      "summary": "narrated 60-70s brand explainer films in the house motion-graphics style: one shared deterministic engine + a .brand data pack (scraped tokens, GB illustration sheet, typed command cards, MY TAKE verdict, QR outro, Rachel VO, ducked bed).",
      "triggers": [
        "/brand-explainer",
        "brand film",
        "brand explainer",
        "explainer film about",
        "launch video for",
        "make a video about"
      ],
      "invokeWhen": "When the user types /brand-explainer or asks for a brand film / product explainer / launch video in the flat motion-graphics style, invoke the Skill tool with skill: \"brand-explainer\" before doing anything else."
    },
    {
      "name": "rap-avatar-mv",
      "aliases": [],
      "canonical": "skills/rap-avatar-mv/SKILL.md",
      "summary": "portrait + supplied or generated track \u2192 rap MV variants: measured vocal windows, image and voice references, configured render lane, clip reuse, timing checks and verified delivery.",
      "triggers": [
        "/rap-avatar-mv",
        "rap mv",
        "avatar rap video",
        "make me rap",
        "rap video with my photo",
        "self-portrait rap"
      ],
      "invokeWhen": "When the user types /rap-avatar-mv or asks for a rap music video / avatar rap clip built from a portrait photo, invoke the Skill tool with skill: \"rap-avatar-mv\" before doing anything else."
    },
    {
      "name": "3d-animation-short",
      "aliases": [],
      "canonical": "skills/3d-animation-short/SKILL.md",
      "summary": "a story idea → a finished stylized 3D animated short: story spine, labelled cast, no-people plates, a shot table with per-second direction and a spatial anchor chain, gated by six automated checks before anything renders.",
      "triggers": [
        "/3d-animation-short",
        "animated short",
        "3d animation",
        "cartoon short",
        "animated story film",
        "make an animated film"
      ],
      "invokeWhen": "When the user types /3d-animation-short or asks for an animated short / cartoon story film / 3D animated film from a story idea, invoke the Skill tool with skill: \"3d-animation-short\" before doing anything else."
    },
    {
      "name": "ai-film-director",
      "aliases": [
        "film-director",
        "davs-ai-film-director"
      ],
      "canonical": "skills/ai-film-director/SKILL.md",
      "summary": "platform-aware scene director: a minimal idea (plus any character / first-frame / last-frame references) → a complete ten-section production prompt for Seedance 2.5 or Google Flow/Veo, continuous multi-scene sequences where every scene inherits the last one's handoff state, and motion-design / launch / hyper-motion product films with a copy-list contract and a segmentation plan for short-clip routes.",
      "triggers": [
        "/ai-film-director",
        "/film-director",
        "direct this scene",
        "seedance prompt for",
        "flow prompt for",
        "veo prompt for",
        "continue scene",
        "first frame last frame",
        "fix this video prompt",
        "make this feel like a real film",
        "launch video",
        "product film",
        "hyper-motion",
        "motion design prompt"
      ],
      "invokeWhen": "When the user types /ai-film-director or /film-director, asks for a Seedance 2.5 or Flow/Veo scene prompt from an idea, wants a multi-scene continuous sequence, wants a scene continued from where the last one ended, hands over character / first-frame / last-frame references for a prompt, or asks to fix a video prompt's physics, continuity, camera or identity, invoke the Skill tool with skill: \"ai-film-director\" before doing anything else."
    },
    {
      "name": "dance-breakdown",
      "aliases": [],
      "canonical": "skills/dance-breakdown/SKILL.md",
      "summary": "a reference dance video \u2192 a measured per-shot choreography breakdown (scene detection + each shot's footage inline to a multimodal model): one moves sentence for a window that sings, timecoded blocks for a window with no voice, framing/camera/subject facts, names and technical noise stripped, moderation nouns flagged.",
      "triggers": [
        "/dance-breakdown",
        "break down the dance",
        "choreography from this video",
        "dance moves from the video",
        "what does she do in this shot"
      ],
      "invokeWhen": "When the user types /dance-breakdown or asks to break down, measure or copy the dance moves / choreography of a reference video shot by shot, invoke the Skill tool with skill: \"dance-breakdown\" before doing anything else."
    },
    {
      "name": "ad-intel",
      "aliases": [],
      "canonical": "skills/ad-intel/SKILL.md",
      "summary": "competitor-ad teardown with our own tools, no paid scraping API (Gemini analysis may be billed): the public Meta Ad Library fetched with the cloak browser (or one public video URL) \u2192 whisper transcript \u2192 Gemini reading (verbatim hook, structure, claims, offer, CTA, proof, angles by the ugc belief vocabulary, a UGC script in our voice) \u2192 one artifact per ad, a brand teardown, a review page.",
      "triggers": [
        "/ad-intel",
        "competitor ads",
        "ad library teardown",
        "what are their ads saying",
        "tear down this ad",
        "hooks from their ads"
      ],
      "invokeWhen": "When the user types /ad-intel or asks what a competitor's ads are saying, to tear down an ad or an advertiser's ad library, or for hooks/angles from competitor ads, invoke the Skill tool with skill: \"ad-intel\" before doing anything else."
    }
  ]
}
