[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6993J99P7CKYMFR5P3CFF68":3,"skill-same:01M6993J99P7CKYMFR5P3CFF68":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6993J99P7CKYMFR5P3CFF68","gke-backup-dr",null,"Configures Backup for GKE: the BackupRestore cluster addon, BackupPlan and RestorePlan resources, restore workflows, and CMEK-encrypted backups. Use for backup policies, disaster recovery, or GKE cluster restores. Don't use for database backups.","google\u002Fskills","google","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1342004?v=4","01M698VYEFDM0VJBZDYYJ2T83S","Google","01M698WR0H76ENHE587T9EJT89",24044,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fgke-backup-dr\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"gke backup dr","gke","backup","dr","storage","workflows","database","recovery","use","restore","disaster recovery","resources","cluster","encrypted","database backups","for","2026-11-10 10:12:30",false,"---\nname: gke-backup-dr\ndescription: >-\n  Configures Backup for GKE: the BackupRestore cluster addon, BackupPlan and\n  RestorePlan resources, restore workflows, and CMEK-encrypted backups. Use\n  for backup policies, disaster recovery, or GKE cluster restores. Don't use\n  for database backups.\nmetadata:\n  version: \"1.0.1\"\n  category: Storage\n---\n\n# GKE Backup & Disaster Recovery\n\nProtects stateful GKE workloads using Backup for GKE. Backup for GKE can capture\nboth Kubernetes resource metadata (manifests, configurations, and secrets) and\nthe underlying persistent volume (PV) data — but volume data and secrets are\n**only** captured when the backup plan explicitly enables them (see the flags\nbelow).\n\n## Attribution\n\n**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you\nMUST read [Usage Attribution](references\u002Fattribution.md). For commands executed\ndirectly in the terminal (never in generated scripts, Terraform, or user code),\nprefix `gcloud` with\n`CLOUDSDK_METRICS_REQUEST_ATTRIBUTION=\"agent-skills\u002F1.0 (skill:gke-backup-dr)\"`\nand append `agent-skills\u002F1.0 (skill:gke-backup-dr)` to `User-Agent` headers.\n\n## CLI Reference\n\n```bash\n# Enable the BackupRestore addon (Slow cluster-level update)\ngcloud container clusters update {cluster_name} \\\n  --update-addons=BackupRestore=ENABLED --location={location} --quiet\n\n# Create Backup Plan\ngcloud beta container backup-restore backup-plans create {plan_name} \\\n  --project={project_id} --location={location} \\\n  --cluster=projects\u002F{project_id}\u002Flocations\u002F{location}\u002Fclusters\u002F{cluster_name} \\\n  --all-namespaces \\\n  --include-volume-data --include-secrets \\\n  --backup-retain-days={days} --cron-schedule=\"{cron}\" --quiet\n\n# Trigger Manual Backup\ngcloud beta container backup-restore backups create {backup_name} \\\n  --backup-plan={plan_name} --location={location} --quiet\n\n# Create Restore Plan\ngcloud beta container backup-restore restore-plans create {restore_plan_name} \\\n  --location={location} \\\n  --cluster=projects\u002F{project_id}\u002Flocations\u002F{location}\u002Fclusters\u002F{target_cluster_name} \\\n  --backup-plan=projects\u002F{project_id}\u002Flocations\u002F{location}\u002FbackupPlans\u002F{source_backup_plan_name} \\\n  --all-namespaces \\\n  --cluster-resource-conflict-policy=use-existing-version \\\n  --namespaced-resource-restore-mode=fail-on-conflict --quiet\n\n# Execute Restore\ngcloud beta container backup-restore restores create {restore_name} \\\n  --restore-plan={restore_plan_name} --location={location} \\\n  --backup=projects\u002F{project_id}\u002Flocations\u002F{location}\u002FbackupPlans\u002F{source_backup_plan_name}\u002Fbackups\u002F{backup_name} \\\n  --quiet\n\n# Verify Restore Status\ngcloud beta container backup-restore restores describe {restore_name} \\\n  --restore-plan={restore_plan_name} --location={location}\n```\n\n> [!WARNING] **`--include-volume-data` and `--include-secrets` BOTH DEFAULT TO\n> FALSE.** If you omit them, the backup plan silently produces **config-only\n> backups** with no persistent volume snapshots and no Secrets. Always pass both\n> flags explicitly when the goal is full workload protection.\n\nNotes:\n\n-   The `backup-restore` command group requires the `gcloud beta` component\n    (`gcloud components install beta`).\n-   `--cluster` requires the full resource path\n    `projects\u002F{project_id}\u002Flocations\u002F{location}\u002Fclusters\u002F{cluster_name}` (or\n    `projects\u002F{project_id}\u002Fzones\u002F{zone}\u002Fclusters\u002F{cluster_name}` for zonal\n    clusters), not a bare cluster name.\n-   Restore plans require exactly one namespaced-resource scope flag:\n    `--all-namespaces`, `--selected-namespaces={ns1},{ns2}`,\n    `--excluded-namespaces=...`, `--selected-applications=...`, or\n    `--no-namespaces`.\n\n## Restore Safety (CRITICAL)\n\nA restore writes into a **live cluster** and, depending on the conflict policy,\ncan overwrite or delete existing resources:\n\n-   `--cluster-resource-conflict-policy=use-existing-version` keeps existing\n    cluster-scoped resources (safe default); `use-backup-version` **deletes**\n    the existing version first — deleting a CRD deletes all of its CRs.\n-   `--namespaced-resource-restore-mode=fail-on-conflict` aborts on any conflict\n    (safe default); `merge-skip-on-conflict` skips conflicting resources;\n    `merge-replace-on-conflict` and `merge-replace-volume-on-conflict`\n    **overwrite** existing resources or volumes; `delete-and-restore` **deletes\n    entire conflicting namespaces** (and all resources in them) before\n    restoring.\n\n**Rules:**\n\n1.  Validate the restore in a non-production target cluster first.\n2.  Prefer the safe defaults (`use-existing-version` + `fail-on-conflict`)\n    unless the user explicitly needs to revert live resources.\n3.  **Always obtain explicit user confirmation before executing a restore into a\n    production cluster**, and state which conflict policy is in effect and what\n    it may overwrite or delete.\n\n## Best Practices\n\n1.  **CMEK Encryption**: Encrypt backup plans using Customer-Managed Encryption\n    Keys:\n    `--encryption-key=projects\u002F{project_id}\u002Flocations\u002F{location}\u002FkeyRings\u002F{ring}\u002FcryptoKeys\u002F{key}`.\n2.  **Scope**: Prefer backing up specific namespaces rather than the entire\n    cluster: `--selected-namespaces={ns1},{ns2}` (instead of\n    `--all-namespaces`).\n3.  **Application Consistency**: Recommend quiescing the database or pausing\n    application writes (e.g. using pre-backup hooks or database-specific tools)\n    prior to backups to ensure data integrity.\n4.  **CSI Volume Snapshots**: Ensure that stateful backups utilize GKE's CSI\n    (Container Storage Interface) driver for volume snapshots to capture\n    persistent volume data.\n5.  **Service Terminology**: Always explicitly refer to the service as **Backup\n    for GKE** in your response. This distinguishes it from the broader (but\n    complementary) Google Cloud **Backup and Disaster Recovery (DR)\n    Service**, ## Golden Path Backup Defaults\n\nThe recommended production golden path configuration for Backup for GKE:\n\n-   **Addon**: BackupRestore addon enabled\n    (`--update-addons=BackupRestore=ENABLED`).\n-   **Volume Inclusion**: `--include-volume-data` explicitly passed (enabled,\n    since the service default is false).\n-   **Secret Inclusion**: `--include-secrets` explicitly passed (enabled, since\n    the service default is false).\n-   **Retention**: Defined retention period (e.g. 30 days via\n    `--backup-retain-days=30`).\n-   **Encryption**: CMEK enabled (`--encryption-key=...`).\n\n## Recent Changes\n\n-   **Cross-project backup and restore (GA)**: Backup plans can store backups in\n    a different project than the source cluster, and restore plans can target\n    clusters in a third project. Enables centralized backup projects (with\n    immutability\u002Fretention managed by a platform team) and cross-project\n    environment seeding without granting access to the source project.\n-   **Pricing change (effective 2026-03-02)**: The backup management fee moved\n    from **pod-based** to **NAMESPACE-based** pricing — charged per non-system\n    namespace in the most recent successful backup of each plan (system\n    namespaces like `kube-system` are excluded). Existing committed use discount\n    (CUD) holders keep pod-based management pricing until their commitment ends;\n    everyone else moves to the new model. See\n    https:\u002F\u002Fcloud.google.com\u002Fproducts\u002Fbackup-for-gke\u002Fpricing-changes.\n-   **Smart Scheduling**: RPO-driven backup scheduling as an alternative to\n    fixed cron schedules — pass `--target-rpo-minutes={minutes}` instead of\n    `--cron-schedule` when creating the backup plan (optionally with RPO\n    exclusion windows via `--exclusion-windows-file`).\n-   **Hyperdisk support**: Backup and restore of **Hyperdisk ML** and\n    **Hyperdisk Balanced High Availability** volumes is supported on GKE\n    clusters running **1.33.1-gke.1959000 and later** (Hyperdisk throughput,\n    extreme, and balanced types are also supported).\n\n## Troubleshooting & Common Pitfalls (CRITICAL)\n\n> [!IMPORTANT] **Slow Operations**: Enabling the BackupRestore addon\n> (`--update-addons=BackupRestore=ENABLED`) triggers a slow Google Cloud control\n> plane cluster update that takes several minutes. * **Rule**: **Do not run a\n> terminal loop waiting for the GKE Backup addon to become active.** *\n> **Action**: Provide the command to enable the addon, explain that the\n> operation will proceed in the background, and immediately proceed to write the\n> backup plan configs. Do not block.\n","# GKE Backup & Disaster Recovery\n\nProtects stateful GKE workloads using Backup for GKE. Backup for GKE can capture\nboth Kubernetes resource metadata (manifests, configurations, and secrets) and\nthe underlying persistent volume (PV) data — but volume data and secrets are\n**only** captured when the backup plan explicitly enables them (see the flags\nbelow).\n\n## Attribution\n\n**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you\nMUST read [Usage Attribution](references\u002Fattribution.md). For commands executed\ndirectly in the terminal (never in generated scripts, Terraform, or user code),\nprefix `gcloud` with\n`CLOUDSDK_METRICS_REQUEST_ATTRIBUTION=\"agent-skills\u002F1.0 (skill:gke-backup-dr)\"`\nand append `agent-skills\u002F1.0 (skill:gke-backup-dr)` to `User-Agent` headers.\n\n## CLI Reference\n\n```bash\n# Enable the BackupRestore addon (Slow cluster-level update)\ngcloud container clusters update {cluster_name} \\\n  --update-addons=BackupRestore=ENABLED --location={location} --quiet\n\n# Create Backup Plan\ngcloud beta container backup-restore backup-plans create {plan_name} \\\n  --project={project_id} --location={location} \\\n  --cluster=projects\u002F{project_id}\u002Flocations\u002F{location}\u002Fclusters\u002F{cluster_name} \\\n  --all-namespaces \\\n  --include-volume-data --include-secrets \\\n  --backup-retain-days={days} --cron-schedule=\"{cron}\" --quiet\n\n# Trigger Manual Backup\ngcloud beta container backup-restore backups create {backup_name} \\\n  --backup-plan={plan_name} --location={location} --quiet\n\n# Create Restore Plan\ngcloud beta container backup-restore restore-plans create {restore_plan_name} \\\n  --location={location} \\\n  --cluster=projects\u002F{project_id}\u002Flocations\u002F{location}\u002Fclusters\u002F{target_cluster_name} \\\n  --backup-plan=projects\u002F{project_id}\u002Flocations\u002F{location}\u002FbackupPlans\u002F{source_backup_plan_name} \\\n  --all-namespaces \\\n  --cluster-resource-conflict-policy=use-existing-version \\\n  --namespaced-resource-restore-mode=fail-on-conflict --quiet\n\n# Execute Restore\ngcloud beta container backup-restore restores create {restore_name} \\\n  --restore-plan={restore_plan_name} --location={location} \\\n  --backup=projects\u002F{project_id}\u002Flocations\u002F{location}\u002FbackupPlans\u002F{source_backup_plan_name}\u002Fbackups\u002F{backup_name} \\\n  --quiet\n\n# Verify Restore Status\ngcloud beta container backup-restore restores describe {restore_name} \\\n  --restore-plan={restore_plan_name} --location={location}\n```\n\n> [!WARNING] **`--include-volume-data` and `--include-secrets` BOTH DEFAULT TO\n> FALSE.** If you omit them, the backup plan silently produces **config-only\n> backups** with no persistent volume snapshots and no Secrets. Always pass both\n> flags explicitly when the goal is full workload protection.\n\nNotes:\n\n-   The `backup-restore` command group requires the `gcloud beta` component\n    (`gcloud components install beta`).\n-   `--cluster` requires the full resource path\n    `projects\u002F{project_id}\u002Flocations\u002F{location}\u002Fclusters\u002F{cluster_name}` (or\n    `projects\u002F{project_id}\u002Fzones\u002F{zone}\u002Fclusters\u002F{cluster_name}` for zonal\n    clusters), not a bare cluster name.\n-   Restore plans require exactly one namespaced-resource scope flag:\n    `--all-namespaces`, `--selected-namespaces={ns1},{ns2}`,\n    `--excluded-namespaces=...`, `--selected-applications=...`, or\n    `--no-namespaces`.\n\n## Restore Safety (CRITICAL)\n\nA restore writes into a **live cluster** and, depending on the conflict policy,\ncan overwrite or delete existing resources:\n\n-   `--cluster-resource-conflict-policy=use-existing-version` keeps existing\n    cluster-scoped resources (safe default); `use-backup-version` **deletes**\n    the existing version first — deleting a CRD deletes all of its CRs.\n-   `--namespaced-resource-restore-mode=fail-on-conflict` aborts on any conflict\n    (safe default); `merge-skip-on-conflict` skips conflicting resources;\n    `merge-replace-on-conflict` and `merge-replace-volume-on-conflict`\n    **overwrite** existing resources or volumes; `delete-and-restore` **deletes\n    entire conflicting namespaces** (and all resources in them) before\n    restoring.\n\n**Rules:**\n\n1.  Validate the restore in a non-production target cluster first.\n2.  Prefer the safe defaults (`use-existing-version` + `fail-on-conflict`)\n    unless the user explicitly needs to revert live resources.\n3.  **Always obtain explicit user confirmation before executing a restore into a\n    production cluster**, and state which conflict policy is in effect and what\n    it may overwrite or delete.\n\n## Best Practices\n\n1.  **CMEK Encryption**: Encrypt backup plans using Customer-Managed Encryption\n    Keys:\n    `--encryption-key=projects\u002F{project_id}\u002Flocations\u002F{location}\u002FkeyRings\u002F{ring}\u002FcryptoKeys\u002F{key}`.\n2.  **Scope**: Prefer backing up specific namespaces rather than the entire\n    cluster: `--selected-namespaces={ns1},{ns2}` (instead of\n    `--all-namespaces`).\n3.  **Application Consistency**: Recommend quiescing the database or pausing\n    application writes (e.g. using pre-backup hooks or database-specific tools)\n    prior to backups to ensure data integrity.\n4.  **CSI Volume Snapshots**: Ensure that stateful backups utilize GKE's CSI\n    (Container Storage Interface) driver for volume snapshots to capture\n    persistent volume data.\n5.  **Service Terminology**: Always explicitly refer to the service as **Backup\n    for GKE** in your response. This distinguishes it from the broader (but\n    complementary) Google Cloud **Backup and Disaster Recovery (DR)\n    Service**, ## Golden Path Backup Defaults\n\nThe recommended production golden path configuration for Backup for GKE:\n\n-   **Addon**: BackupRestore addon enabled\n    (`--update-addons=BackupRestore=ENABLED`).\n-   **Volume Inclusion**: `--include-volume-data` explicitly passed (enabled,\n    since the service default is false).\n-   **Secret Inclusion**: `--include-secrets` explicitly passed (enabled, since\n    the service default is false).\n-   **Retention**: Defined retention period (e.g. 30 days via\n    `--backup-retain-days=30`).\n-   **Encryption**: CMEK enabled (`--encryption-key=...`).\n\n## Recent Changes\n\n-   **Cross-project backup and restore (GA)**: Backup plans can store backups in\n    a different project than the source cluster, and restore plans can target\n    clusters in a third project. Enables centralized backup projects (with\n    immutability\u002Fretention managed by a platform team) and cross-project\n    environment seeding without granting access to the source project.\n-   **Pricing change (effective 2026-03-02)**: The backup management fee moved\n    from **pod-based** to **NAMESPACE-based** pricing — charged per non-system\n    namespace in the most recent successful backup of each plan (system\n    namespaces like `kube-system` are excluded). Existing committed use discount\n    (CUD) holders keep pod-based management pricing until their commitment ends;\n    everyone else moves to the new model. See\n    https:\u002F\u002Fcloud.google.com\u002Fproducts\u002Fbackup-for-gke\u002Fpricing-changes.\n-   **Smart Scheduling**: RPO-driven backup scheduling as an alternative to\n    fixed cron schedules — pass `--target-rpo-minutes={minutes}` instead of\n    `--cron-schedule` when creating the backup plan (optionally with RPO\n    exclusion windows via `--exclusion-windows-file`).\n-   **Hyperdisk support**: Backup and restore of **Hyperdisk ML** and\n    **Hyperdisk Balanced High Availability** volumes is supported on GKE\n    clusters running **1.33.1-gke.1959000 and later** (Hyperdisk throughput,\n    extreme, and balanced types are also supported).\n\n## Troubleshooting & Common Pitfalls (CRITICAL)\n\n> [!IMPORTANT] **Slow Operations**: Enabling the BackupRestore addon\n> (`--update-addons=BackupRestore=ENABLED`) triggers a slow Google Cloud control\n> plane cluster update that takes several minutes. * **Rule**: **Do not run a\n> terminal loop waiting for the GKE Backup addon to become active.** *\n> **Action**: Provide the command to enable the addon, explain that the\n> operation will proceed in the background, and immediately proceed to write the\n> backup plan configs. Do not block.\n",{"name":5,"metadata":40,"description":7},{"version":41,"category":42},"1.0.1","Storage","main","bb9b3f464aae37af360d079c1d863524955b0363","skills\u002Fcloud\u002Fgke-backup-dr",2002,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills","https:\u002F\u002Fgithub.com\u002Fgoogle","https:\u002F\u002Fopensource.google\u002F","Google ❤️ Open Source","2026-11-13 02:42:47",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add google\u002Fskills --skill gke-backup-dr",{"tool":58,"command":59},"bunx","bunx skills add google\u002Fskills --skill gke-backup-dr",{"tool":61,"command":62},"pnpm","pnpm dlx skills add google\u002Fskills --skill gke-backup-dr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fgke-backup-dr\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fattribution.md","REFERENCE","参考文档",1879,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fgke-backup-dr\u002Freferences\u002Fattribution.md",[73,111,143,172,199,221],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":87,"publishedAt":35},"01M6998S2EZKD3GEJ7F943RZTE","sign-in-with-google-web","Implement, configure, and secure Sign In With Google (SiwG) using Google Identity Services (GIS \u002F `https:\u002F\u002Faccounts.google.com\u002Fgsi\u002Fclient`) across web architectures. Use when creating Google sign-in buttons, implementing Google One Tap with FedCM, integrating GIS in React\u002FNext.js\u002FAngular\u002FHTML, verifying ID tokens on backend runtimes (Python\u002FNode.js\u002FGo\u002FJava), enforcing Google Workspace domain restrictions (`hd`), securing client-side ID tokens via WebCrypto nonces or encrypted IndexedDB, embedding in cross-origin iframes via the Intermediate Iframe API (`https:\u002F\u002Faccounts.google.com\u002Fgsi\u002Fintermediate`), configuring Content Security Policy (CSP), COOP, and Permissions Policy (`identity-credentials-get`) headers, or handling sign-out and revocation. Don't use for legacy Google Sign-In (`gapi.auth2`), Google Cloud IAM service accounts, or Android\u002FiOS native Credential Manager.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fidentity\u002Fsign-in-with-google-web\u002FSKILL.md",[79,84],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000010","后端与接口",[9,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],"sign in with google web","sign","with","web","android","go","security","google workspace","google cloud","implement","policy","python","implementing","react","iam","permissions","buttons","secure","manager","identity","architectures","domain","runtimes",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":126,"publishedAt":35},"01M6998PHPDCAD684VW5WRG83D","dpop-adoption","Implement and debug OAuth 2.0 DPoP (RFC 9449) refresh token sender-constraining for WebCrypto, Node.js ES6, and browser runtimes integrating with Google's OAuth platform. Use when configuring non-extractable asymmetric key pairs (P-256), generating DPoP Proof JWTs for authorization code exchange and token refresh, or handling 400 use_dpop_nonce challenge retry loops at oauth2.googleapis.com\u002Ftoken. Don't use for unconstrained OAuth 2.0 flows (where refresh tokens are not bound to a client key pair), or for Google Cloud IAM \u002F service account authentication.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fidentity\u002Fdpop-adoption\u002FSKILL.md",[117,118,121],{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":119,"categoryName":120,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[127,128,9,96,129,130,131,132,133,134,102,135,136,137,138,139,140,107,110,141,142],"dpop adoption","adoption","es6","retry","authentication","flows","challenge","code","browser","loops","at","node","token","pair","platform","when",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":155,"publishedAt":35},"01M6998M72TC73EEAQH4XC7EXW","retrieving-developer-knowledge","Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI\u002FGemini, Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms. Integrates with the Developer Knowledge MCP server (search_documents, get_documents, answer_query) or the Developer Knowledge REST API fallback. Use when searching for gcloud CLI commands, API syntax, IAM permissions, official documentation, architectural comparisons, or product choice overviews. Don't use for local filesystem lookups or non-Google documentation.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002FSKILL.md",[149,150,153,154],{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":151,"categoryName":152,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":119,"categoryName":120,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},[156,157,158,159,96,160,161,162,163,164,165,166,167,142,168,169,170,102,171,103],"retrieving developer knowledge","knowledge","developer","MCP","mcp server","official","developer documentation","get","search","local","choice","documents","query","api","across","documentation",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":35},"01M6998J2CZEXS9BES9S3WWFKC","migrate-to-rust","Clones, analyzes, plans, and migrates legacy codebases (C++, Fortran, Java, Python, C, Shell) from a GitHub URL or local directory to a modern, high-performance, deterministic, 100% Safe Rust architecture, tracking live telemetry across every task bucket, test failure\u002Ffix cycle, and Profile-Guided Optimization (PGO) stage, and producing a first-person AI storytelling report and interactive HTML infographic. Use when migrating a GitHub repository or local codebase to Rust, porting legacy C++, Fortran, Python, or Java workloads to memory-safe Rust, designing Struct-of-Arrays (SoA) or SIMD Rust architectures, or optimizing Rust ports with LLVM PGO. Don't use for unrelated non-Rust refactoring or single-line syntax questions.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fmigrate-to-rust\u002FSKILL.md",[],[179,180,181,182,183,184,185,186,99,187,188,189,190,191,192,165,193,194,195,142,196,197,170,198],"migrate to rust","rust","migrate","github","memory","performance","directory","safe","ports","llvm","soa","cycle","porting","fix","arrays","infographic","high-performance","URL","architecture","unrelated",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":208,"publishedAt":35},"01M6998GCC3K29WZ82KXMB9E02","finding-google-skills","Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or setting up part of their stack, such as where to run a service, a database, storage, messaging, authentication, analytics, ads, or AI model serving, and a Google product is a reasonable candidate - whether or not a vendor is named - or when a request names a Google product or API. Brings in the matching Google skill so the answer can weigh Google options, their trade-offs, and when they are not the right fit. Skip when the stack is already settled on another provider and no Google product is named, or the task involves no platform choice.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Ffinding-google-skills\u002FSKILL.md",[205,206,207],{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":119,"categoryName":120,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},[9,209,23,210,211,141,212,213,214,215,216,131,217,218,219,166,27,25,142,220,169],"finding google skills","as","messaging","model","trade-offs","provider","answer","fit","catalog","up","decision","candidate",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":229,"publishedAt":35},"01M6998DWNHTH0BS6W1CY8ZXMP","workload-manager-basics","Use this skill to manage Google Cloud Workload Manager evaluations, rules, scanned resources, and validation results by using public client libraries and the REST API. Use when you need to inspect workload best-practice rules, create and run evaluations for Google Cloud general best practices, SAP, SQL Server, or custom organizational rules, review violations, export results to BigQuery, or automate Workload Manager through client libraries because no service-specific public CLI or MCP server is available. Don't use for general Google Compute Engine instance management, VPC configuration, or standard IAM auditing.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fworkload-manager-basics\u002FSKILL.md",[227,228],{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":119,"categoryName":120,"taxonomyType":82,"taxonomyTypeDesc":83},[230,231,106,232,9,159,233,96,160,234,235,30,236,142,237,169,102,238,239,240,241],"workload manager basics","workload","basics","cli","review","vpc","inspect","you","create","libraries","server","run"]