[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-cloud-genmedia-producer":3,"mdc--iel8if-key":46,"related-repo-google-cloud-genmedia-producer":316,"related-org-google-cloud-genmedia-producer":410},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":41,"sourceUrl":44,"mdContent":45},"genmedia-producer","produce multi-step media content","Expert media production assistant. Use when requested to help with storyboarding, podcast creation, audio assembly, or complex multi-step media workflows using the GenMedia MCP servers (Veo, Lyria, Gemini TTS, NanoBanana).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"google-cloud","Google Cloud","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-cloud.png","GoogleCloudPlatform",[13,17,20,23,26],{"name":14,"slug":15,"type":16},"Media","media","tag",{"name":18,"slug":19,"type":16},"Creative","creative",{"name":21,"slug":22,"type":16},"Audio","audio",{"name":24,"slug":25,"type":16},"Video","video",{"name":9,"slug":8,"type":16},1150,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fvertex-ai-creative-studio","2026-07-12T07:39:09.672849",null,349,[33,34,35,8,36,37,38,39,40],"chirp","gemini","gemini-tts","imagen","lyria","nano-banana","veo","vertex-ai",{"repoUrl":28,"stars":27,"forks":31,"topics":42,"description":43},[33,34,35,8,36,37,38,39,40],"GenMedia Creative Studio is a generative media user experience highlighting the use of Gemini, Gemini Omni, Veo, Gemini Image 🍌, Gemini TTS, Chirp 3, Lyria and other generative media APIs on Google Cloud.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fvertex-ai-creative-studio\u002Ftree\u002FHEAD\u002Fexperiments\u002Fmcp-genmedia\u002Fskills\u002Fgenmedia-producer","---\nname: genmedia-producer\ndescription: Expert media production assistant. Use when requested to help with storyboarding, podcast creation, audio assembly, or complex multi-step media workflows using the GenMedia MCP servers (Veo, Lyria, Gemini TTS, NanoBanana).\nallowed-tools: mcp_veo_veo_t2v mcp_veo_veo_i2v mcp_veo_veo_extend_video mcp_veo_veo_first_last_to_video mcp_veo_veo_ingredients_to_video mcp_lyria_lyria_generate_music mcp_gemini-multimodal_gemini_audio_tts mcp_nanobanana_nanobanana_image_generation mcp_avtool_ffmpeg_concatenate_media_files mcp_avtool_ffmpeg_get_media_info mcp_avtool_ffmpeg_combine_audio_and_video\nmetadata:\n  veo_prompting_guide: https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fai-machine-learning\u002Fultimate-prompting-guide-for-veo-3-1?e=48754805\n---\n\n# GenMedia Producer Skill\n\nYou are a highly capable media production assistant. Use this skill when asked to help with storyboarding, podcast creation, or complex multi-step media workflows using the Google GenMedia MCP servers.\n\n## Core Audio Production Workflow\n\n1. **Script Preparation**: Remove markdown formatting (*, #) and replace structure with spoken language.\n2. **Generation**: **Gemini TTS is the preferred tool for high-fidelity speech synthesis.** Use `gemini_audio_tts` for core synthesis. Fallback to `chirp_tts` for specialized voices. For long text, split into manageable chunks.\n3. **Assembly**: Use `ffmpeg_concatenate_media_files` to assemble mixed-source audio.\n4. **Bumpers**: Create 5-second intro\u002Foutro music using `lyria_generate_music` (with the `lyria-3-clip-preview` model), and ensure a smooth transition with `afade`.\n\n## Storyboarding\nFor video >8 seconds, construct a scene-by-scene narrative that can be segmented into 5-8 second clips. Use `nanobanana_image_generation` to create visual references for each scene.\n\n## Veo Video Generation (Veo 3.1)\n- Use the **Five-Part Formula** for prompts: Cinematography, Subject, Action, Context, and Style.\n- **Soundstage Direction**: Use quotation marks for dialogue and specific labels (e.g., `[loud thunder]`) for sound effects.\n- **Advanced Modalities**: Use `veo_first_last_to_video` for transitions, `veo_ingredients_to_video` for character\u002Fstyle consistency across scenes, and `veo-3.1-lite-generate-001` for faster, 720p\u002F1080p generation.\n- If a request times out, retry once. If it fails again, reduce the `duration` parameter and inform the user.\n- For voiceovers, ensure the video total runtime matches the audio duration (use `ffmpeg_get_media_info`).\n- The `bucket` parameter must be a full GCS URI (`gs:\u002F\u002F...`).\n",{"data":47,"body":51},{"name":4,"description":6,"allowed-tools":48,"metadata":49},"mcp_veo_veo_t2v mcp_veo_veo_i2v mcp_veo_veo_extend_video mcp_veo_veo_first_last_to_video mcp_veo_veo_ingredients_to_video mcp_lyria_lyria_generate_music mcp_gemini-multimodal_gemini_audio_tts mcp_nanobanana_nanobanana_image_generation mcp_avtool_ffmpeg_concatenate_media_files mcp_avtool_ffmpeg_get_media_info mcp_avtool_ffmpeg_combine_audio_and_video",{"veo_prompting_guide":50},"https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fai-machine-learning\u002Fultimate-prompting-guide-for-veo-3-1?e=48754805",{"type":52,"children":53},"root",[54,63,69,76,178,184,197,203],{"type":55,"tag":56,"props":57,"children":59},"element","h1",{"id":58},"genmedia-producer-skill",[60],{"type":61,"value":62},"text","GenMedia Producer Skill",{"type":55,"tag":64,"props":65,"children":66},"p",{},[67],{"type":61,"value":68},"You are a highly capable media production assistant. Use this skill when asked to help with storyboarding, podcast creation, or complex multi-step media workflows using the Google GenMedia MCP servers.",{"type":55,"tag":70,"props":71,"children":73},"h2",{"id":72},"core-audio-production-workflow",[74],{"type":61,"value":75},"Core Audio Production Workflow",{"type":55,"tag":77,"props":78,"children":79},"ol",{},[80,92,126,144],{"type":55,"tag":81,"props":82,"children":83},"li",{},[84,90],{"type":55,"tag":85,"props":86,"children":87},"strong",{},[88],{"type":61,"value":89},"Script Preparation",{"type":61,"value":91},": Remove markdown formatting (*, #) and replace structure with spoken language.",{"type":55,"tag":81,"props":93,"children":94},{},[95,100,102,107,109,116,118,124],{"type":55,"tag":85,"props":96,"children":97},{},[98],{"type":61,"value":99},"Generation",{"type":61,"value":101},": ",{"type":55,"tag":85,"props":103,"children":104},{},[105],{"type":61,"value":106},"Gemini TTS is the preferred tool for high-fidelity speech synthesis.",{"type":61,"value":108}," Use ",{"type":55,"tag":110,"props":111,"children":113},"code",{"className":112},[],[114],{"type":61,"value":115},"gemini_audio_tts",{"type":61,"value":117}," for core synthesis. Fallback to ",{"type":55,"tag":110,"props":119,"children":121},{"className":120},[],[122],{"type":61,"value":123},"chirp_tts",{"type":61,"value":125}," for specialized voices. For long text, split into manageable chunks.",{"type":55,"tag":81,"props":127,"children":128},{},[129,134,136,142],{"type":55,"tag":85,"props":130,"children":131},{},[132],{"type":61,"value":133},"Assembly",{"type":61,"value":135},": Use ",{"type":55,"tag":110,"props":137,"children":139},{"className":138},[],[140],{"type":61,"value":141},"ffmpeg_concatenate_media_files",{"type":61,"value":143}," to assemble mixed-source audio.",{"type":55,"tag":81,"props":145,"children":146},{},[147,152,154,160,162,168,170,176],{"type":55,"tag":85,"props":148,"children":149},{},[150],{"type":61,"value":151},"Bumpers",{"type":61,"value":153},": Create 5-second intro\u002Foutro music using ",{"type":55,"tag":110,"props":155,"children":157},{"className":156},[],[158],{"type":61,"value":159},"lyria_generate_music",{"type":61,"value":161}," (with the ",{"type":55,"tag":110,"props":163,"children":165},{"className":164},[],[166],{"type":61,"value":167},"lyria-3-clip-preview",{"type":61,"value":169}," model), and ensure a smooth transition with ",{"type":55,"tag":110,"props":171,"children":173},{"className":172},[],[174],{"type":61,"value":175},"afade",{"type":61,"value":177},".",{"type":55,"tag":70,"props":179,"children":181},{"id":180},"storyboarding",[182],{"type":61,"value":183},"Storyboarding",{"type":55,"tag":64,"props":185,"children":186},{},[187,189,195],{"type":61,"value":188},"For video >8 seconds, construct a scene-by-scene narrative that can be segmented into 5-8 second clips. Use ",{"type":55,"tag":110,"props":190,"children":192},{"className":191},[],[193],{"type":61,"value":194},"nanobanana_image_generation",{"type":61,"value":196}," to create visual references for each scene.",{"type":55,"tag":70,"props":198,"children":200},{"id":199},"veo-video-generation-veo-31",[201],{"type":61,"value":202},"Veo Video Generation (Veo 3.1)",{"type":55,"tag":204,"props":205,"children":206},"ul",{},[207,219,237,270,283,296],{"type":55,"tag":81,"props":208,"children":209},{},[210,212,217],{"type":61,"value":211},"Use the ",{"type":55,"tag":85,"props":213,"children":214},{},[215],{"type":61,"value":216},"Five-Part Formula",{"type":61,"value":218}," for prompts: Cinematography, Subject, Action, Context, and Style.",{"type":55,"tag":81,"props":220,"children":221},{},[222,227,229,235],{"type":55,"tag":85,"props":223,"children":224},{},[225],{"type":61,"value":226},"Soundstage Direction",{"type":61,"value":228},": Use quotation marks for dialogue and specific labels (e.g., ",{"type":55,"tag":110,"props":230,"children":232},{"className":231},[],[233],{"type":61,"value":234},"[loud thunder]",{"type":61,"value":236},") for sound effects.",{"type":55,"tag":81,"props":238,"children":239},{},[240,245,246,252,254,260,262,268],{"type":55,"tag":85,"props":241,"children":242},{},[243],{"type":61,"value":244},"Advanced Modalities",{"type":61,"value":135},{"type":55,"tag":110,"props":247,"children":249},{"className":248},[],[250],{"type":61,"value":251},"veo_first_last_to_video",{"type":61,"value":253}," for transitions, ",{"type":55,"tag":110,"props":255,"children":257},{"className":256},[],[258],{"type":61,"value":259},"veo_ingredients_to_video",{"type":61,"value":261}," for character\u002Fstyle consistency across scenes, and ",{"type":55,"tag":110,"props":263,"children":265},{"className":264},[],[266],{"type":61,"value":267},"veo-3.1-lite-generate-001",{"type":61,"value":269}," for faster, 720p\u002F1080p generation.",{"type":55,"tag":81,"props":271,"children":272},{},[273,275,281],{"type":61,"value":274},"If a request times out, retry once. If it fails again, reduce the ",{"type":55,"tag":110,"props":276,"children":278},{"className":277},[],[279],{"type":61,"value":280},"duration",{"type":61,"value":282}," parameter and inform the user.",{"type":55,"tag":81,"props":284,"children":285},{},[286,288,294],{"type":61,"value":287},"For voiceovers, ensure the video total runtime matches the audio duration (use ",{"type":55,"tag":110,"props":289,"children":291},{"className":290},[],[292],{"type":61,"value":293},"ffmpeg_get_media_info",{"type":61,"value":295},").",{"type":55,"tag":81,"props":297,"children":298},{},[299,301,307,309,315],{"type":61,"value":300},"The ",{"type":55,"tag":110,"props":302,"children":304},{"className":303},[],[305],{"type":61,"value":306},"bucket",{"type":61,"value":308}," parameter must be a full GCS URI (",{"type":55,"tag":110,"props":310,"children":312},{"className":311},[],[313],{"type":61,"value":314},"gs:\u002F\u002F...",{"type":61,"value":295},{"items":317,"total":409},[318,332,349,361,374,382,392],{"slug":319,"name":319,"fn":320,"description":321,"org":322,"tags":323,"stars":27,"repoUrl":28,"updatedAt":331},"agent-aware-cli","design agent-aware command-line interfaces","Guide for designing and implementing command-line interfaces (CLIs) that are equally usable by human developers and automated coding agents. Use when the user wants to build a CLI, apply CLI best practices, or use Go with Cobra and Viper.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[324,327,330],{"name":325,"slug":326,"type":16},"CLI","cli",{"name":328,"slug":329,"type":16},"Engineering","engineering",{"name":9,"slug":8,"type":16},"2026-07-12T07:39:08.41406",{"slug":333,"name":333,"fn":334,"description":335,"org":336,"tags":337,"stars":27,"repoUrl":28,"updatedAt":348},"build-mcp-genmedia","build and configure GenAI MCP servers","Builds the mcp-genmedia Go MCP servers (nanobanana, veo, lyria, gemini-multimodal, chirp3-hd, avtool) from source and wires them into settings.json. Use this skill whenever the MCP tools are missing or broken — typically at the start of a new session, after a container restart, or when \u002Ftmp has been wiped. The prebuilt binaries in \u002Fworkspace\u002F.local\u002Fbin\u002F have no exec bit and live on a noexec mount; this skill compiles fresh executables into \u002Ftmp\u002Fbin\u002F where execution is allowed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[338,341,342,345],{"name":339,"slug":340,"type":16},"API Development","api-development",{"name":9,"slug":8,"type":16},{"name":343,"slug":344,"type":16},"LLM","llm",{"name":346,"slug":347,"type":16},"MCP","mcp","2026-07-12T07:39:10.911302",{"slug":350,"name":350,"fn":351,"description":352,"org":353,"tags":354,"stars":27,"repoUrl":28,"updatedAt":360},"genmedia-audio-engineer","synthesize and mix audio content","Expert in audio synthesis, music generation, and mixing. Use when creating podcasts, background scores, or multi-track audio layering using mcp-chirp3-go, mcp-lyria-go, mcp-gemini-go, mcp-nanobanana-go, and mcp-avtool-go.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[355,356,357,358],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":359,"slug":40,"type":16},"Vertex AI","2026-07-12T07:39:16.623879",{"slug":362,"name":362,"fn":363,"description":364,"org":365,"tags":366,"stars":27,"repoUrl":28,"updatedAt":373},"genmedia-image-artist","generate and edit AI images","Expert in AI image generation and editing. Use when the user needs high-quality textures, character-consistent visuals, or image-to-image editing using mcp-nanobanana-go.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[367,368,369,372],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":370,"slug":371,"type":16},"Image Generation","image-generation",{"name":359,"slug":40,"type":16},"2026-07-12T07:39:15.372822",{"slug":4,"name":4,"fn":5,"description":6,"org":375,"tags":376,"stars":27,"repoUrl":28,"updatedAt":29},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[377,378,379,380,381],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},{"slug":383,"name":383,"fn":384,"description":385,"org":386,"tags":387,"stars":27,"repoUrl":28,"updatedAt":391},"genmedia-video-editor","edit and compose video content","Expert in video composition, editing, and format conversion. Use when the user wants to generate high-quality video, overlay images on video, concatenate clips, create GIFs, or sync audio to video using mcp-avtool-go and mcp-veo-go.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[388,389,390],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},"2026-07-12T07:39:13.749081",{"slug":393,"name":393,"fn":394,"description":395,"org":396,"tags":397,"stars":27,"repoUrl":28,"updatedAt":408},"genmedia-voice-director","generate expressive text-to-speech with Gemini","Expert in casting, directing, and generating expressive text-to-speech using Gemini TTS. Use this when the user needs virtual voice actor personas, expressive speech generation, or multiple variations of a voiceover (like \"take 3 on the bounce\").",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[398,399,400,402,405],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":401,"slug":34,"type":16},"Gemini",{"name":403,"slug":404,"type":16},"Speech","speech",{"name":406,"slug":407,"type":16},"Text-to-Speech","text-to-speech","2026-07-12T07:39:17.86673",9,{"items":411,"total":540},[412,430,446,466,480,491,497,504,511,518,526,532],{"slug":413,"name":413,"fn":414,"description":415,"org":416,"tags":417,"stars":427,"repoUrl":428,"updatedAt":429},"kb-search","search and extract local knowledge base documents","Allows listing, searching and extracting information from local knowledge base documents for information about tables\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[418,421,424],{"name":419,"slug":420,"type":16},"Documentation","documentation",{"name":422,"slug":423,"type":16},"Knowledge Base","knowledge-base",{"name":425,"slug":426,"type":16},"Search","search",6749,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fknowledge-catalog","2026-07-12T07:38:52.157375",{"slug":431,"name":432,"fn":433,"description":434,"org":435,"tags":436,"stars":427,"repoUrl":428,"updatedAt":445},"knowledgecatalogdiscoveryagent","knowledge_catalog_discovery_agent","search and rank Knowledge Catalog data entries","Analyzes user queries, extracts relevant predicates, and utilizes Knowledge Catalog Search to find and rank the most relevant data entries. Engages with the user throughout the process.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[437,440,441,444],{"name":438,"slug":439,"type":16},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":16},{"name":442,"slug":443,"type":16},"Knowledge Management","knowledge-management",{"name":425,"slug":426,"type":16},"2026-07-12T07:38:22.196851",{"slug":447,"name":447,"fn":448,"description":449,"org":450,"tags":451,"stars":463,"repoUrl":464,"updatedAt":465},"contributing","contribute to Cloud Foundation Fabric","End-to-end workflow for contributing to Cloud Foundation Fabric: triaging GitHub issues, proactive feature development, validating with tests and Policy Troubleshooter, and submitting sanitized Pull Requests. Use when addressing a Fabric GitHub issue, developing a module or FAST stage change, or preparing a branch for a pull request.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[452,455,456,459,460],{"name":453,"slug":454,"type":16},"Automation","automation",{"name":328,"slug":329,"type":16},{"name":457,"slug":458,"type":16},"GitHub","github",{"name":9,"slug":8,"type":16},{"name":461,"slug":462,"type":16},"Pull Requests","pull-requests",2062,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fcloud-foundation-fabric","2026-07-31T06:23:36.935005",{"slug":467,"name":467,"fn":468,"description":469,"org":470,"tags":471,"stars":463,"repoUrl":464,"updatedAt":479},"fabric-builder","generate Terraform code for Google Cloud","Generates idiomatic Cloud Foundation Fabric (CFF) Terraform code using CFF modules. Use when users ask to create GCP resources, use Fabric modules, or generate Terraform code for Google Cloud.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[472,473,476],{"name":9,"slug":8,"type":16},{"name":474,"slug":475,"type":16},"Infrastructure as Code","infrastructure-as-code",{"name":477,"slug":478,"type":16},"Terraform","terraform","2026-07-12T07:38:23.514555",{"slug":481,"name":481,"fn":482,"description":483,"org":484,"tags":485,"stars":463,"repoUrl":464,"updatedAt":490},"fast-0-org-setup-prereqs","prepare prerequisites for FAST 0-org-setup","Guides the user step-by-step through the prerequisites for the FAST 0-org-setup stage, supporting both Standard GCP and Google Cloud Dedicated (GCD) environments. Use when a user asks to prepare or run prerequisites for 0-org-setup or bootstrap the FAST landing zone.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[486,487],{"name":9,"slug":8,"type":16},{"name":488,"slug":489,"type":16},"Operations","operations","2026-07-12T07:38:28.127148",{"slug":319,"name":319,"fn":320,"description":321,"org":492,"tags":493,"stars":27,"repoUrl":28,"updatedAt":331},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[494,495,496],{"name":325,"slug":326,"type":16},{"name":328,"slug":329,"type":16},{"name":9,"slug":8,"type":16},{"slug":333,"name":333,"fn":334,"description":335,"org":498,"tags":499,"stars":27,"repoUrl":28,"updatedAt":348},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[500,501,502,503],{"name":339,"slug":340,"type":16},{"name":9,"slug":8,"type":16},{"name":343,"slug":344,"type":16},{"name":346,"slug":347,"type":16},{"slug":350,"name":350,"fn":351,"description":352,"org":505,"tags":506,"stars":27,"repoUrl":28,"updatedAt":360},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[507,508,509,510],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":359,"slug":40,"type":16},{"slug":362,"name":362,"fn":363,"description":364,"org":512,"tags":513,"stars":27,"repoUrl":28,"updatedAt":373},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[514,515,516,517],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":370,"slug":371,"type":16},{"name":359,"slug":40,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":519,"tags":520,"stars":27,"repoUrl":28,"updatedAt":29},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[521,522,523,524,525],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},{"slug":383,"name":383,"fn":384,"description":385,"org":527,"tags":528,"stars":27,"repoUrl":28,"updatedAt":391},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[529,530,531],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":24,"slug":25,"type":16},{"slug":393,"name":393,"fn":394,"description":395,"org":533,"tags":534,"stars":27,"repoUrl":28,"updatedAt":408},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[535,536,537,538,539],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":401,"slug":34,"type":16},{"name":403,"slug":404,"type":16},{"name":406,"slug":407,"type":16},80]