[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-cloud-context-engineering-bootstrap":3,"mdc-t00omt-key":35,"related-org-google-cloud-context-engineering-bootstrap":701,"related-repo-google-cloud-context-engineering-bootstrap":890},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"context-engineering-bootstrap","bootstrap initial ContextSet for database enrichment","Guides the agent to bootstrap an initial ContextSet (templates, facets, and value searches) by deducing key information from the database schema and generating a ContextSet file.",{"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],{"name":14,"slug":15,"type":16},"Context","context","tag",{"name":18,"slug":19,"type":16},"Database","database",{"name":21,"slug":22,"type":16},"Data Modeling","data-modeling",{"name":9,"slug":8,"type":16},34,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fdb-context-enrichment","2026-07-18T05:47:56.797107",null,11,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"A context engineering agent designed to generate, manage, and optimize structured context sets from your database schemas. It bridges the gap between Large Language Models (LLMs) and databases by compiling, evaluating, and maintaining the precise operational context needed for highly accurate natural language-to-SQL query generation.","https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fdb-context-enrichment\u002Ftree\u002FHEAD\u002Fplugin\u002Fskills\u002Fcontext-engineering-bootstrap","---\nname: context-engineering-bootstrap\ndescription: Guides the agent to bootstrap an initial ContextSet (templates, facets, and value searches) by deducing key information from the database schema and generating a ContextSet file.\n---\n\n> **Load the `context-engineering-workflow` skill first.** It holds the shared context this phase depends on: workspace layout, state file conventions, phase order, and safety protocol. Do not proceed with this phase without reading it.\n\n> [!NOTE]\n> For detailed schema specifications and explanation of context set types, see the central [Context Set Concept Types](..\u002Fcontext-generation-guide\u002FSKILL.md) guide.\n\n# Phase: Baseline Bootstrapping\n\n## Goal\nDeduce query concepts and generate a baseline `ContextSet` (templates, facets, value searches) directly from database schemas and metadata to act as the starting point for optimization.\n\n## Input\n\nBefore beginning the workflow, you explicitly require:\n- An active `tools.yaml` configuration (located in `autoctx\u002F`) with database schema fetching tools configured (e.g., `\u003Csource>-list-schemas`).\n- Target database schemas to act upon.\n\n## Workflow\n\nFollow these steps exactly in order:\n\n1. **Condition Check & Schema Retrieval:**\n   - **Ask for Experiment Name & Handle Existing Folders**: You must explicitly ask the user for a descriptive name for this tuning experiment (e.g., `sales_db_tuning`).\n     - **If the experiment folder already exists inside `autoctx\u002Fexperiments\u002F`**: You **MUST** detect it and explicitly ask the user for confirmation:\n       - *\"An experiment named `\u003Cexperiment_name>` already exists. Do you want to resume it (update its baseline context), fork it (create a new version, e.g., `\u003Cexperiment_name>_v2`), or overwrite it completely?\"*\n       - If the user selects **resume**: proceed with the bootstrap in the same folder, updating `bootstrap_context.json`.\n       - If the user selects **fork**: prompt for a new name or suggest `\u003Cexperiment_name>_v2`, create the folder, and proceed there.\n       - If the user selects **overwrite**: clear the existing folder's contents and proceed.\n     - **If it does not exist**: Create a new dedicated subfolder inside `autoctx\u002Fexperiments\u002F` using this name.\n     - Do not proceed until the experiment folder structure is finalized.\n   - Use the available Toolbox MCP tools configured in the active `autoctx\u002Ftools.yaml` to fetch the schemas for the target database.\n   - Present the retrieved schema summary **structurally and cleanly** to the user. Ask the user if they want to filter or focus on specific schemas or tables.\n   - **Source Enrichment**: Prompt the user for any existing **Design Docs** or **Application Code** (e.g., ORM models, SQL queries) they wish to provide to enrich the context generation. Wait for the user's response before proceeding.\n\n2. **Deduce Key Info (Core Execution):**\n   - Perform a **deep analysis** of the retrieved **schema and any provided documentation or code** to identify important concepts, relationships, and likely query patterns.\n   - **Collect Candidates**: Identify representative natural language queries with their corresponding SQL, common filter conditions or business rules, and **columns that require specialized value searching** (e.g., names needing fuzzy match, descriptions needing semantic search).\n   - *Review Check:* Briefly display these candidates to the user for approval or modifications before proceeding.\n\n3. **Context Generation (Core Execution):**\n   - **Invoke the `context-generation-guide` skill** to produce the context (Templates, Facets, and Value Searches).\n   - Provide the deduced candidates collected in Step 2 as input to that skill.\n   - That skill will handle phrase extraction, parameterization, and constructing the final valid JSON structure according to dialect best practices for all context types.\n   - Once generated, use the `mutate_context_set` MCP tool to save the context items to `bootstrap_context.json` inside the approved experiment folder. Since this is a new file, construct a list of `\"operation\": \"add\"` mutations for each generated item (Template, Facet, Value Search) and pass them to the tool.\n\n## Output\n\nUpon successful completion, the workspace must contain:\n- A generated `.json` file (`bootstrap_context.json`) representing the baseline `ContextSet`, stored successfully at the requested `output_file_path`.\n\n## Upload Advice & Next Steps\n\nConclude by providing a succinct summary to the user:\n1. **Summarize Results**:\n   - Confirm that the bootstrap context file has been successfully generated and saved.\n   - Mention the final file path.\n2. **Upload Instructions**:\n   - **Read Database Details**: Read `autoctx\u002Ftools.yaml` to fetch the specific project, location, and instance\u002Fcluster details for the active database.\n   - **Generate URL**: Call the `generate_upload_url` tool passing the extracted values to provide the direct console link to the user.\n   - Present the local file path to `bootstrap_context.json` and the generated console link together in a single clear message.\n3. **Instruct Next Step Evaluation**:\n   - Instruct the user to upload the file to Database Studio and then run evaluation using the evaluating workflow on this new ContextSet to establish a baseline.\n\n\n> [!IMPORTANT]\n> **Tool Modification Rule**: Always use the `mutate_context_set` tool for all ContextSet changes. Pass mutation payloads directly to the tool — it handles all file I\u002FO internally. **Do not read the target context set file beforehand**.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,67,90,97,104,117,123,128,167,173,178,509,515,520,557,563,568,670],{"type":41,"tag":42,"props":43,"children":44},"element","blockquote",{},[45],{"type":41,"tag":46,"props":47,"children":48},"p",{},[49,65],{"type":41,"tag":50,"props":51,"children":52},"strong",{},[53,56,63],{"type":54,"value":55},"text","Load the ",{"type":41,"tag":57,"props":58,"children":60},"code",{"className":59},[],[61],{"type":54,"value":62},"context-engineering-workflow",{"type":54,"value":64}," skill first.",{"type":54,"value":66}," It holds the shared context this phase depends on: workspace layout, state file conventions, phase order, and safety protocol. Do not proceed with this phase without reading it.",{"type":41,"tag":42,"props":68,"children":69},{},[70],{"type":41,"tag":46,"props":71,"children":72},{},[73,79,81,88],{"type":41,"tag":74,"props":75,"children":76},"span",{},[77],{"type":54,"value":78},"!NOTE",{"type":54,"value":80},"\nFor detailed schema specifications and explanation of context set types, see the central ",{"type":41,"tag":82,"props":83,"children":85},"a",{"href":84},"..\u002Fcontext-generation-guide\u002FSKILL.md",[86],{"type":54,"value":87},"Context Set Concept Types",{"type":54,"value":89}," guide.",{"type":41,"tag":91,"props":92,"children":94},"h1",{"id":93},"phase-baseline-bootstrapping",[95],{"type":54,"value":96},"Phase: Baseline Bootstrapping",{"type":41,"tag":98,"props":99,"children":101},"h2",{"id":100},"goal",[102],{"type":54,"value":103},"Goal",{"type":41,"tag":46,"props":105,"children":106},{},[107,109,115],{"type":54,"value":108},"Deduce query concepts and generate a baseline ",{"type":41,"tag":57,"props":110,"children":112},{"className":111},[],[113],{"type":54,"value":114},"ContextSet",{"type":54,"value":116}," (templates, facets, value searches) directly from database schemas and metadata to act as the starting point for optimization.",{"type":41,"tag":98,"props":118,"children":120},{"id":119},"input",[121],{"type":54,"value":122},"Input",{"type":41,"tag":46,"props":124,"children":125},{},[126],{"type":54,"value":127},"Before beginning the workflow, you explicitly require:",{"type":41,"tag":129,"props":130,"children":131},"ul",{},[132,162],{"type":41,"tag":133,"props":134,"children":135},"li",{},[136,138,144,146,152,154,160],{"type":54,"value":137},"An active ",{"type":41,"tag":57,"props":139,"children":141},{"className":140},[],[142],{"type":54,"value":143},"tools.yaml",{"type":54,"value":145}," configuration (located in ",{"type":41,"tag":57,"props":147,"children":149},{"className":148},[],[150],{"type":54,"value":151},"autoctx\u002F",{"type":54,"value":153},") with database schema fetching tools configured (e.g., ",{"type":41,"tag":57,"props":155,"children":157},{"className":156},[],[158],{"type":54,"value":159},"\u003Csource>-list-schemas",{"type":54,"value":161},").",{"type":41,"tag":133,"props":163,"children":164},{},[165],{"type":54,"value":166},"Target database schemas to act upon.",{"type":41,"tag":98,"props":168,"children":170},{"id":169},"workflow",[171],{"type":54,"value":172},"Workflow",{"type":41,"tag":46,"props":174,"children":175},{},[176],{"type":54,"value":177},"Follow these steps exactly in order:",{"type":41,"tag":179,"props":180,"children":181},"ol",{},[182,385,442],{"type":41,"tag":133,"props":183,"children":184},{},[185,190],{"type":41,"tag":50,"props":186,"children":187},{},[188],{"type":54,"value":189},"Condition Check & Schema Retrieval:",{"type":41,"tag":129,"props":191,"children":192},{},[193,336,349,361],{"type":41,"tag":133,"props":194,"children":195},{},[196,201,203,209,211],{"type":41,"tag":50,"props":197,"children":198},{},[199],{"type":54,"value":200},"Ask for Experiment Name & Handle Existing Folders",{"type":54,"value":202},": You must explicitly ask the user for a descriptive name for this tuning experiment (e.g., ",{"type":41,"tag":57,"props":204,"children":206},{"className":205},[],[207],{"type":54,"value":208},"sales_db_tuning",{"type":54,"value":210},").\n",{"type":41,"tag":129,"props":212,"children":213},{},[214,314,331],{"type":41,"tag":133,"props":215,"children":216},{},[217,228,230,235,237],{"type":41,"tag":50,"props":218,"children":219},{},[220,222],{"type":54,"value":221},"If the experiment folder already exists inside ",{"type":41,"tag":57,"props":223,"children":225},{"className":224},[],[226],{"type":54,"value":227},"autoctx\u002Fexperiments\u002F",{"type":54,"value":229},": You ",{"type":41,"tag":50,"props":231,"children":232},{},[233],{"type":54,"value":234},"MUST",{"type":54,"value":236}," detect it and explicitly ask the user for confirmation:\n",{"type":41,"tag":129,"props":238,"children":239},{},[240,265,285,303],{"type":41,"tag":133,"props":241,"children":242},{},[243],{"type":41,"tag":244,"props":245,"children":246},"em",{},[247,249,255,257,263],{"type":54,"value":248},"\"An experiment named ",{"type":41,"tag":57,"props":250,"children":252},{"className":251},[],[253],{"type":54,"value":254},"\u003Cexperiment_name>",{"type":54,"value":256}," already exists. Do you want to resume it (update its baseline context), fork it (create a new version, e.g., ",{"type":41,"tag":57,"props":258,"children":260},{"className":259},[],[261],{"type":54,"value":262},"\u003Cexperiment_name>_v2",{"type":54,"value":264},"), or overwrite it completely?\"",{"type":41,"tag":133,"props":266,"children":267},{},[268,270,275,277,283],{"type":54,"value":269},"If the user selects ",{"type":41,"tag":50,"props":271,"children":272},{},[273],{"type":54,"value":274},"resume",{"type":54,"value":276},": proceed with the bootstrap in the same folder, updating ",{"type":41,"tag":57,"props":278,"children":280},{"className":279},[],[281],{"type":54,"value":282},"bootstrap_context.json",{"type":54,"value":284},".",{"type":41,"tag":133,"props":286,"children":287},{},[288,289,294,296,301],{"type":54,"value":269},{"type":41,"tag":50,"props":290,"children":291},{},[292],{"type":54,"value":293},"fork",{"type":54,"value":295},": prompt for a new name or suggest ",{"type":41,"tag":57,"props":297,"children":299},{"className":298},[],[300],{"type":54,"value":262},{"type":54,"value":302},", create the folder, and proceed there.",{"type":41,"tag":133,"props":304,"children":305},{},[306,307,312],{"type":54,"value":269},{"type":41,"tag":50,"props":308,"children":309},{},[310],{"type":54,"value":311},"overwrite",{"type":54,"value":313},": clear the existing folder's contents and proceed.",{"type":41,"tag":133,"props":315,"children":316},{},[317,322,324,329],{"type":41,"tag":50,"props":318,"children":319},{},[320],{"type":54,"value":321},"If it does not exist",{"type":54,"value":323},": Create a new dedicated subfolder inside ",{"type":41,"tag":57,"props":325,"children":327},{"className":326},[],[328],{"type":54,"value":227},{"type":54,"value":330}," using this name.",{"type":41,"tag":133,"props":332,"children":333},{},[334],{"type":54,"value":335},"Do not proceed until the experiment folder structure is finalized.",{"type":41,"tag":133,"props":337,"children":338},{},[339,341,347],{"type":54,"value":340},"Use the available Toolbox MCP tools configured in the active ",{"type":41,"tag":57,"props":342,"children":344},{"className":343},[],[345],{"type":54,"value":346},"autoctx\u002Ftools.yaml",{"type":54,"value":348}," to fetch the schemas for the target database.",{"type":41,"tag":133,"props":350,"children":351},{},[352,354,359],{"type":54,"value":353},"Present the retrieved schema summary ",{"type":41,"tag":50,"props":355,"children":356},{},[357],{"type":54,"value":358},"structurally and cleanly",{"type":54,"value":360}," to the user. Ask the user if they want to filter or focus on specific schemas or tables.",{"type":41,"tag":133,"props":362,"children":363},{},[364,369,371,376,378,383],{"type":41,"tag":50,"props":365,"children":366},{},[367],{"type":54,"value":368},"Source Enrichment",{"type":54,"value":370},": Prompt the user for any existing ",{"type":41,"tag":50,"props":372,"children":373},{},[374],{"type":54,"value":375},"Design Docs",{"type":54,"value":377}," or ",{"type":41,"tag":50,"props":379,"children":380},{},[381],{"type":54,"value":382},"Application Code",{"type":54,"value":384}," (e.g., ORM models, SQL queries) they wish to provide to enrich the context generation. Wait for the user's response before proceeding.",{"type":41,"tag":133,"props":386,"children":387},{},[388,393],{"type":41,"tag":50,"props":389,"children":390},{},[391],{"type":54,"value":392},"Deduce Key Info (Core Execution):",{"type":41,"tag":129,"props":394,"children":395},{},[396,415,432],{"type":41,"tag":133,"props":397,"children":398},{},[399,401,406,408,413],{"type":54,"value":400},"Perform a ",{"type":41,"tag":50,"props":402,"children":403},{},[404],{"type":54,"value":405},"deep analysis",{"type":54,"value":407}," of the retrieved ",{"type":41,"tag":50,"props":409,"children":410},{},[411],{"type":54,"value":412},"schema and any provided documentation or code",{"type":54,"value":414}," to identify important concepts, relationships, and likely query patterns.",{"type":41,"tag":133,"props":416,"children":417},{},[418,423,425,430],{"type":41,"tag":50,"props":419,"children":420},{},[421],{"type":54,"value":422},"Collect Candidates",{"type":54,"value":424},": Identify representative natural language queries with their corresponding SQL, common filter conditions or business rules, and ",{"type":41,"tag":50,"props":426,"children":427},{},[428],{"type":54,"value":429},"columns that require specialized value searching",{"type":54,"value":431}," (e.g., names needing fuzzy match, descriptions needing semantic search).",{"type":41,"tag":133,"props":433,"children":434},{},[435,440],{"type":41,"tag":244,"props":436,"children":437},{},[438],{"type":54,"value":439},"Review Check:",{"type":54,"value":441}," Briefly display these candidates to the user for approval or modifications before proceeding.",{"type":41,"tag":133,"props":443,"children":444},{},[445,450],{"type":41,"tag":50,"props":446,"children":447},{},[448],{"type":54,"value":449},"Context Generation (Core Execution):",{"type":41,"tag":129,"props":451,"children":452},{},[453,471,476,481],{"type":41,"tag":133,"props":454,"children":455},{},[456,469],{"type":41,"tag":50,"props":457,"children":458},{},[459,461,467],{"type":54,"value":460},"Invoke the ",{"type":41,"tag":57,"props":462,"children":464},{"className":463},[],[465],{"type":54,"value":466},"context-generation-guide",{"type":54,"value":468}," skill",{"type":54,"value":470}," to produce the context (Templates, Facets, and Value Searches).",{"type":41,"tag":133,"props":472,"children":473},{},[474],{"type":54,"value":475},"Provide the deduced candidates collected in Step 2 as input to that skill.",{"type":41,"tag":133,"props":477,"children":478},{},[479],{"type":54,"value":480},"That skill will handle phrase extraction, parameterization, and constructing the final valid JSON structure according to dialect best practices for all context types.",{"type":41,"tag":133,"props":482,"children":483},{},[484,486,492,494,499,501,507],{"type":54,"value":485},"Once generated, use the ",{"type":41,"tag":57,"props":487,"children":489},{"className":488},[],[490],{"type":54,"value":491},"mutate_context_set",{"type":54,"value":493}," MCP tool to save the context items to ",{"type":41,"tag":57,"props":495,"children":497},{"className":496},[],[498],{"type":54,"value":282},{"type":54,"value":500}," inside the approved experiment folder. Since this is a new file, construct a list of ",{"type":41,"tag":57,"props":502,"children":504},{"className":503},[],[505],{"type":54,"value":506},"\"operation\": \"add\"",{"type":54,"value":508}," mutations for each generated item (Template, Facet, Value Search) and pass them to the tool.",{"type":41,"tag":98,"props":510,"children":512},{"id":511},"output",[513],{"type":54,"value":514},"Output",{"type":41,"tag":46,"props":516,"children":517},{},[518],{"type":54,"value":519},"Upon successful completion, the workspace must contain:",{"type":41,"tag":129,"props":521,"children":522},{},[523],{"type":41,"tag":133,"props":524,"children":525},{},[526,528,534,536,541,543,548,550,556],{"type":54,"value":527},"A generated ",{"type":41,"tag":57,"props":529,"children":531},{"className":530},[],[532],{"type":54,"value":533},".json",{"type":54,"value":535}," file (",{"type":41,"tag":57,"props":537,"children":539},{"className":538},[],[540],{"type":54,"value":282},{"type":54,"value":542},") representing the baseline ",{"type":41,"tag":57,"props":544,"children":546},{"className":545},[],[547],{"type":54,"value":114},{"type":54,"value":549},", stored successfully at the requested ",{"type":41,"tag":57,"props":551,"children":553},{"className":552},[],[554],{"type":54,"value":555},"output_file_path",{"type":54,"value":284},{"type":41,"tag":98,"props":558,"children":560},{"id":559},"upload-advice-next-steps",[561],{"type":54,"value":562},"Upload Advice & Next Steps",{"type":41,"tag":46,"props":564,"children":565},{},[566],{"type":54,"value":567},"Conclude by providing a succinct summary to the user:",{"type":41,"tag":179,"props":569,"children":570},{},[571,594,653],{"type":41,"tag":133,"props":572,"children":573},{},[574,579,581],{"type":41,"tag":50,"props":575,"children":576},{},[577],{"type":54,"value":578},"Summarize Results",{"type":54,"value":580},":\n",{"type":41,"tag":129,"props":582,"children":583},{},[584,589],{"type":41,"tag":133,"props":585,"children":586},{},[587],{"type":54,"value":588},"Confirm that the bootstrap context file has been successfully generated and saved.",{"type":41,"tag":133,"props":590,"children":591},{},[592],{"type":54,"value":593},"Mention the final file path.",{"type":41,"tag":133,"props":595,"children":596},{},[597,602,603],{"type":41,"tag":50,"props":598,"children":599},{},[600],{"type":54,"value":601},"Upload Instructions",{"type":54,"value":580},{"type":41,"tag":129,"props":604,"children":605},{},[606,623,641],{"type":41,"tag":133,"props":607,"children":608},{},[609,614,616,621],{"type":41,"tag":50,"props":610,"children":611},{},[612],{"type":54,"value":613},"Read Database Details",{"type":54,"value":615},": Read ",{"type":41,"tag":57,"props":617,"children":619},{"className":618},[],[620],{"type":54,"value":346},{"type":54,"value":622}," to fetch the specific project, location, and instance\u002Fcluster details for the active database.",{"type":41,"tag":133,"props":624,"children":625},{},[626,631,633,639],{"type":41,"tag":50,"props":627,"children":628},{},[629],{"type":54,"value":630},"Generate URL",{"type":54,"value":632},": Call the ",{"type":41,"tag":57,"props":634,"children":636},{"className":635},[],[637],{"type":54,"value":638},"generate_upload_url",{"type":54,"value":640}," tool passing the extracted values to provide the direct console link to the user.",{"type":41,"tag":133,"props":642,"children":643},{},[644,646,651],{"type":54,"value":645},"Present the local file path to ",{"type":41,"tag":57,"props":647,"children":649},{"className":648},[],[650],{"type":54,"value":282},{"type":54,"value":652}," and the generated console link together in a single clear message.",{"type":41,"tag":133,"props":654,"children":655},{},[656,661,662],{"type":41,"tag":50,"props":657,"children":658},{},[659],{"type":54,"value":660},"Instruct Next Step Evaluation",{"type":54,"value":580},{"type":41,"tag":129,"props":663,"children":664},{},[665],{"type":41,"tag":133,"props":666,"children":667},{},[668],{"type":54,"value":669},"Instruct the user to upload the file to Database Studio and then run evaluation using the evaluating workflow on this new ContextSet to establish a baseline.",{"type":41,"tag":42,"props":671,"children":672},{},[673],{"type":41,"tag":46,"props":674,"children":675},{},[676,681,686,688,693,695,700],{"type":41,"tag":74,"props":677,"children":678},{},[679],{"type":54,"value":680},"!IMPORTANT",{"type":41,"tag":50,"props":682,"children":683},{},[684],{"type":54,"value":685},"Tool Modification Rule",{"type":54,"value":687},": Always use the ",{"type":41,"tag":57,"props":689,"children":691},{"className":690},[],[692],{"type":54,"value":491},{"type":54,"value":694}," tool for all ContextSet changes. Pass mutation payloads directly to the tool — it handles all file I\u002FO internally. ",{"type":41,"tag":50,"props":696,"children":697},{},[698],{"type":54,"value":699},"Do not read the target context set file beforehand",{"type":54,"value":284},{"items":702,"total":889},[703,721,737,759,773,784,798,815,832,845,861,871],{"slug":704,"name":704,"fn":705,"description":706,"org":707,"tags":708,"stars":718,"repoUrl":719,"updatedAt":720},"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},[709,712,715],{"name":710,"slug":711,"type":16},"Documentation","documentation",{"name":713,"slug":714,"type":16},"Knowledge Base","knowledge-base",{"name":716,"slug":717,"type":16},"Search","search",6749,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fknowledge-catalog","2026-07-12T07:38:52.157375",{"slug":722,"name":723,"fn":724,"description":725,"org":726,"tags":727,"stars":718,"repoUrl":719,"updatedAt":736},"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},[728,731,732,735],{"name":729,"slug":730,"type":16},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":16},{"name":733,"slug":734,"type":16},"Knowledge Management","knowledge-management",{"name":716,"slug":717,"type":16},"2026-07-12T07:38:22.196851",{"slug":738,"name":738,"fn":739,"description":740,"org":741,"tags":742,"stars":756,"repoUrl":757,"updatedAt":758},"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},[743,746,749,752,753],{"name":744,"slug":745,"type":16},"Automation","automation",{"name":747,"slug":748,"type":16},"Engineering","engineering",{"name":750,"slug":751,"type":16},"GitHub","github",{"name":9,"slug":8,"type":16},{"name":754,"slug":755,"type":16},"Pull Requests","pull-requests",2062,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fcloud-foundation-fabric","2026-07-31T06:23:36.935005",{"slug":760,"name":760,"fn":761,"description":762,"org":763,"tags":764,"stars":756,"repoUrl":757,"updatedAt":772},"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},[765,766,769],{"name":9,"slug":8,"type":16},{"name":767,"slug":768,"type":16},"Infrastructure as Code","infrastructure-as-code",{"name":770,"slug":771,"type":16},"Terraform","terraform","2026-07-12T07:38:23.514555",{"slug":774,"name":774,"fn":775,"description":776,"org":777,"tags":778,"stars":756,"repoUrl":757,"updatedAt":783},"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},[779,780],{"name":9,"slug":8,"type":16},{"name":781,"slug":782,"type":16},"Operations","operations","2026-07-12T07:38:28.127148",{"slug":785,"name":785,"fn":786,"description":787,"org":788,"tags":789,"stars":795,"repoUrl":796,"updatedAt":797},"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},[790,793,794],{"name":791,"slug":792,"type":16},"CLI","cli",{"name":747,"slug":748,"type":16},{"name":9,"slug":8,"type":16},1150,"https:\u002F\u002Fgithub.com\u002FGoogleCloudPlatform\u002Fvertex-ai-creative-studio","2026-07-12T07:39:08.41406",{"slug":799,"name":799,"fn":800,"description":801,"org":802,"tags":803,"stars":795,"repoUrl":796,"updatedAt":814},"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},[804,807,808,811],{"name":805,"slug":806,"type":16},"API Development","api-development",{"name":9,"slug":8,"type":16},{"name":809,"slug":810,"type":16},"LLM","llm",{"name":812,"slug":813,"type":16},"MCP","mcp","2026-07-12T07:39:10.911302",{"slug":816,"name":816,"fn":817,"description":818,"org":819,"tags":820,"stars":795,"repoUrl":796,"updatedAt":831},"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},[821,824,827,828],{"name":822,"slug":823,"type":16},"Audio","audio",{"name":825,"slug":826,"type":16},"Creative","creative",{"name":9,"slug":8,"type":16},{"name":829,"slug":830,"type":16},"Vertex AI","vertex-ai","2026-07-12T07:39:16.623879",{"slug":833,"name":833,"fn":834,"description":835,"org":836,"tags":837,"stars":795,"repoUrl":796,"updatedAt":844},"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},[838,839,840,843],{"name":825,"slug":826,"type":16},{"name":9,"slug":8,"type":16},{"name":841,"slug":842,"type":16},"Image Generation","image-generation",{"name":829,"slug":830,"type":16},"2026-07-12T07:39:15.372822",{"slug":846,"name":846,"fn":847,"description":848,"org":849,"tags":850,"stars":795,"repoUrl":796,"updatedAt":860},"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},[851,852,853,854,857],{"name":822,"slug":823,"type":16},{"name":825,"slug":826,"type":16},{"name":9,"slug":8,"type":16},{"name":855,"slug":856,"type":16},"Media","media",{"name":858,"slug":859,"type":16},"Video","video","2026-07-12T07:39:09.672849",{"slug":862,"name":862,"fn":863,"description":864,"org":865,"tags":866,"stars":795,"repoUrl":796,"updatedAt":870},"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},[867,868,869],{"name":825,"slug":826,"type":16},{"name":9,"slug":8,"type":16},{"name":858,"slug":859,"type":16},"2026-07-12T07:39:13.749081",{"slug":872,"name":872,"fn":873,"description":874,"org":875,"tags":876,"stars":795,"repoUrl":796,"updatedAt":888},"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},[877,878,879,882,885],{"name":822,"slug":823,"type":16},{"name":825,"slug":826,"type":16},{"name":880,"slug":881,"type":16},"Gemini","gemini",{"name":883,"slug":884,"type":16},"Speech","speech",{"name":886,"slug":887,"type":16},"Text-to-Speech","text-to-speech","2026-07-12T07:39:17.86673",80,{"items":891,"total":973},[892,899,914,925,938,951,963],{"slug":4,"name":4,"fn":5,"description":6,"org":893,"tags":894,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[895,896,897,898],{"name":14,"slug":15,"type":16},{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"slug":900,"name":900,"fn":901,"description":902,"org":903,"tags":904,"stars":24,"repoUrl":25,"updatedAt":913},"context-engineering-dataset-generation","generate golden SQL evaluation datasets","Generate or expand a golden evaluation dataset of SQL\u002FQuestion (NLQ+SQL) pairs for evaluating NL-to-SQL translation accuracy on a target database.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[905,906,909,910],{"name":729,"slug":730,"type":16},{"name":907,"slug":908,"type":16},"Evals","evals",{"name":9,"slug":8,"type":16},{"name":911,"slug":912,"type":16},"SQL","sql","2026-07-18T05:47:55.878915",{"slug":915,"name":915,"fn":916,"description":917,"org":918,"tags":919,"stars":24,"repoUrl":25,"updatedAt":924},"context-engineering-evaluate","evaluate ContextSet against golden datasets","Guides the agent to execute an evaluation of a ContextSet against a golden NLQ+SQL dataset using the Evalbench framework.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[920,921,922,923],{"name":729,"slug":730,"type":16},{"name":907,"slug":908,"type":16},{"name":9,"slug":8,"type":16},{"name":911,"slug":912,"type":16},"2026-07-18T05:47:52.594607",{"slug":926,"name":926,"fn":927,"description":928,"org":929,"tags":930,"stars":24,"repoUrl":25,"updatedAt":937},"context-engineering-hillclimb","improve ContextSet via hill-climbing iterations","Guides the agent to perform hill-climbing iterations to improve a ContextSet based on Evalbench evaluation results.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[931,932,933,934],{"name":729,"slug":730,"type":16},{"name":907,"slug":908,"type":16},{"name":9,"slug":8,"type":16},{"name":935,"slug":936,"type":16},"Optimization","optimization","2026-07-18T05:47:54.951176",{"slug":939,"name":939,"fn":940,"description":941,"org":942,"tags":943,"stars":24,"repoUrl":25,"updatedAt":950},"context-engineering-init","initialize context engineering and database connections","Orchestrates the initialization workflow for context engineering, and provides helper workflow for setting up database connections by creating or updating tools.yaml configurations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[944,947,948,949],{"name":945,"slug":946,"type":16},"Configuration","configuration",{"name":18,"slug":19,"type":16},{"name":747,"slug":748,"type":16},{"name":9,"slug":8,"type":16},"2026-07-18T05:47:59.493278",{"slug":62,"name":62,"fn":952,"description":953,"org":954,"tags":955,"stars":24,"repoUrl":25,"updatedAt":962},"optimize context sets for Gemini data agents","Context engineering for Gemini Data Analytics API's data agent developer platform tools. Generates, evaluates, and iteratively optimizes a ContextSet (Templates, Facets, Value Searches) to maximize Natural-Language-to-SQL translation accuracy. Use this skill to run the automated setup, NL-SQL pair evaluation dataset generation and expansion, bootstrapping, scoring, and optimization pipeline. For manual authoring standards and schema syntax rules, see the context-generation-guide skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[956,959,960,961],{"name":957,"slug":958,"type":16},"Agent Context","agent-context",{"name":729,"slug":730,"type":16},{"name":880,"slug":881,"type":16},{"name":9,"slug":8,"type":16},"2026-07-18T05:13:44.430929",{"slug":466,"name":466,"fn":964,"description":965,"org":966,"tags":967,"stars":24,"repoUrl":25,"updatedAt":972},"generate context items for database enrichment","Guidelines and best practices for generating context items (Templates, Facets, Value Searches). Use this skill whenever the user asks to create, author, or generate context for database enrichment, or asks for examples and instructions on how to write templates, facets, or value searches. It helps bridge the gap between LLMs and structured databases. For running the automated generation, evaluation, and tuning lifecycle, see the context-engineering-workflow skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[968,969,970,971],{"name":957,"slug":958,"type":16},{"name":18,"slug":19,"type":16},{"name":710,"slug":711,"type":16},{"name":9,"slug":8,"type":16},"2026-07-18T05:13:43.403052",7]