[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69949G569ATZHDNS2QMZTT2":3,"skill-same:01M69949G569ATZHDNS2QMZTT2":76},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M69949G569ATZHDNS2QMZTT2","gke-multitenancy",null,"Plans and configures multi-tenancy on GKE. Covers namespace isolation, RBAC planning for teams, resource quotas, LimitRanges, network isolation, and cost allocation. Use when designing GKE multi-tenancy, configuring GKE namespaces, setting up resource quotas, or isolating GKE teams. Don't use for single-tenant cluster configuration or general deployment instructions (use gke-basics or gke-app-onboarding instead).","google\u002Fskills","google","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1342004?v=4","01M698VYEFDM0VJBZDYYJ2T83S","Google","01M698WR0H76ENHE587T9EJT89",24235,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fgke-multitenancy\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"gke","gke multitenancy","namespaces","cost","multi","when","use","plans","single","teams","general","up","basics","deployment","for","planning","cluster","app","tenant","containers","2026-11-10 10:12:30",false,"---\nname: gke-multitenancy\ndescription: >-\n  Plans and configures multi-tenancy on GKE. Covers namespace isolation, RBAC\n  planning for teams, resource quotas, LimitRanges, network isolation, and\n  cost allocation. Use when designing GKE multi-tenancy, configuring GKE\n  namespaces, setting up resource quotas, or isolating GKE teams. Don't use\n  for single-tenant cluster configuration or general deployment instructions\n  (use gke-basics or gke-app-onboarding instead).\nmetadata:\n  version: \"1.0.2\"\n  category: Containers\n---\n\n# GKE Multi-Tenancy\n\nThis reference covers enterprise multi-tenancy patterns on GKE, including\nnamespace isolation, RBAC planning, resource quotas, and network segmentation.\n\n> **MCP Tools:** `apply_k8s_manifest`, `get_k8s_resource`, `check_k8s_auth`,\n> `describe_k8s_resource`, `delete_k8s_resource`\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-multitenancy)\"`\nand append `agent-skills\u002F1.0 (skill:gke-multitenancy)` to `User-Agent` headers.\n\n## When to Use\n\n-   Multiple teams sharing a single GKE cluster\n-   Isolating workloads by environment (dev\u002Fstaging\u002Fprod) within one cluster\n-   Implementing least-privilege access control\n-   Cost allocation across teams or projects\n\n## Multi-Tenancy Models\n\n| Model                         | Isolation    | Complexity | Cost           |\n| ----------------------------- | ------------ | ---------- | -------------- |\n| **Namespace-per-team**        | Soft (RBAC + | Low        | Lowest (shared |\n:                               : Network      :            : cluster)       :\n:                               : Policy)      :            :                :\n| **Namespace-per-environment** | Soft         | Low        | Low            |\n| **Node pool-per-team**        | Medium       | Medium     | Medium         |\n:                               : (dedicated   :            :                :\n:                               : compute)     :            :                :\n| **Cluster-per-team**          | Hard (full   | High       | Highest        |\n:                               : isolation)   :            :                :\n\n> **Golden path recommendation**: Start with namespace-per-team for cost\n> efficiency. Escalate to stronger isolation only when compliance requires it.\n\n## Namespace Isolation Setup\n\n### 1. Create Namespaces\n\n```bash\nkubectl create namespace team-a\nkubectl create namespace team-b\nkubectl label namespace team-a team=a\nkubectl label namespace team-b team=b\n```\n\n### 2. RBAC Configuration\n\n**Principle**: Grant minimal permissions per namespace. Never bind to\n`system:authenticated`.\n\n```yaml\n# Namespace-scoped role for a team\napiVersion: rbac.authorization.k8s.io\u002Fv1\nkind: Role\nmetadata:\n  name: team-a-developer\n  namespace: team-a\nrules:\n- apiGroups: [\"\", \"apps\", \"batch\"]\n  resources: [\"pods\", \"deployments\", \"services\", \"configmaps\", \"jobs\"]\n  verbs: [\"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\"]\n---\napiVersion: rbac.authorization.k8s.io\u002Fv1\nkind: RoleBinding\nmetadata:\n  name: team-a-developers\n  namespace: team-a\nsubjects:\n- kind: Group\n  name: \"team-a@example.com\"  # Google Group\n  apiGroup: rbac.authorization.k8s.io\nroleRef:\n  kind: Role\n  name: team-a-developer\n  apiGroup: rbac.authorization.k8s.io\n```\n\n**RBAC best practices:** Use Google Groups for subject bindings. Prefer\nnamespace-scoped Roles over ClusterRoles. See the `gke-platform-security` skill\nfor full RBAC hardening guidance.\n\n### 3. Resource Quotas\n\nPrevent any single team from consuming all cluster resources:\n\n```yaml\napiVersion: v1\nkind: ResourceQuota\nmetadata:\n  name: team-a-quota\n  namespace: team-a\nspec:\n  hard:\n    requests.cpu: \"10\"\n    requests.memory: \"20Gi\"\n    limits.cpu: \"20\"\n    limits.memory: \"40Gi\"\n    pods: \"50\"\n    services: \"10\"\n    persistentvolumeclaims: \"10\"\n```\n\n### 4. LimitRanges\n\nSet default and maximum resource constraints per container:\n\n```yaml\napiVersion: v1\nkind: LimitRange\nmetadata:\n  name: team-a-limits\n  namespace: team-a\nspec:\n  limits:\n  - type: Container\n    default:\n      cpu: \"500m\"\n      memory: \"512Mi\"\n    defaultRequest:\n      cpu: \"100m\"\n      memory: \"128Mi\"\n    max:\n      cpu: \"4\"\n      memory: \"8Gi\"\n```\n\n> [!IMPORTANT] **Mandatory Defaults**: When defining `min` or `max` limits in a\n> `LimitRange`, you **must** also define corresponding `default` and\n> `defaultRequest` values. If you set a `min` or `max` without defaults, any pod\n> deployed without explicit resource requests\u002Flimits will be rejected by the\n> admission controller.\n\n### 5. Network Isolation\n\nApply default-deny per namespace (see the `gke-workload-security` skill), then\nallow intra-team traffic:\n\n```yaml\n# Allow same-namespace pods to talk + DNS\napiVersion: networking.k8s.io\u002Fv1\nkind: NetworkPolicy\nmetadata:\n  name: allow-same-namespace\n  namespace: team-a\nspec:\n  podSelector: {}\n  ingress:\n  - from:\n    - podSelector: {}\n  egress:\n  - to:\n    - podSelector: {}\n  - to:  # Allow DNS\n    - namespaceSelector: {}\n      podSelector:\n        matchLabels:\n          k8s-app: kube-dns\n    ports:\n    - protocol: UDP\n      port: 53\n```\n\n## Cost Allocation\n\n### Labels for Cost Attribution\n\n```bash\n# Label namespaces for billing\nkubectl label namespace team-a cost-center=engineering\nkubectl label namespace team-b cost-center=data-science\n```\n\n### GKE Cost Allocation\n\nEnable GKE cost allocation to break down costs by namespace and label:\n\n```bash\ngcloud container clusters update \u003CCLUSTER_NAME> --region \u003CREGION> \\\n  --enable-cost-allocation\n```\n\nView in the Cloud Billing Reports page or query the Cloud Billing detailed usage\ncost export in BigQuery.\n","# GKE Multi-Tenancy\n\nThis reference covers enterprise multi-tenancy patterns on GKE, including\nnamespace isolation, RBAC planning, resource quotas, and network segmentation.\n\n> **MCP Tools:** `apply_k8s_manifest`, `get_k8s_resource`, `check_k8s_auth`,\n> `describe_k8s_resource`, `delete_k8s_resource`\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-multitenancy)\"`\nand append `agent-skills\u002F1.0 (skill:gke-multitenancy)` to `User-Agent` headers.\n\n## When to Use\n\n-   Multiple teams sharing a single GKE cluster\n-   Isolating workloads by environment (dev\u002Fstaging\u002Fprod) within one cluster\n-   Implementing least-privilege access control\n-   Cost allocation across teams or projects\n\n## Multi-Tenancy Models\n\n| Model                         | Isolation    | Complexity | Cost           |\n| ----------------------------- | ------------ | ---------- | -------------- |\n| **Namespace-per-team**        | Soft (RBAC + | Low        | Lowest (shared |\n:                               : Network      :            : cluster)       :\n:                               : Policy)      :            :                :\n| **Namespace-per-environment** | Soft         | Low        | Low            |\n| **Node pool-per-team**        | Medium       | Medium     | Medium         |\n:                               : (dedicated   :            :                :\n:                               : compute)     :            :                :\n| **Cluster-per-team**          | Hard (full   | High       | Highest        |\n:                               : isolation)   :            :                :\n\n> **Golden path recommendation**: Start with namespace-per-team for cost\n> efficiency. Escalate to stronger isolation only when compliance requires it.\n\n## Namespace Isolation Setup\n\n### 1. Create Namespaces\n\n```bash\nkubectl create namespace team-a\nkubectl create namespace team-b\nkubectl label namespace team-a team=a\nkubectl label namespace team-b team=b\n```\n\n### 2. RBAC Configuration\n\n**Principle**: Grant minimal permissions per namespace. Never bind to\n`system:authenticated`.\n\n```yaml\n# Namespace-scoped role for a team\napiVersion: rbac.authorization.k8s.io\u002Fv1\nkind: Role\nmetadata:\n  name: team-a-developer\n  namespace: team-a\nrules:\n- apiGroups: [\"\", \"apps\", \"batch\"]\n  resources: [\"pods\", \"deployments\", \"services\", \"configmaps\", \"jobs\"]\n  verbs: [\"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\"]\n---\napiVersion: rbac.authorization.k8s.io\u002Fv1\nkind: RoleBinding\nmetadata:\n  name: team-a-developers\n  namespace: team-a\nsubjects:\n- kind: Group\n  name: \"team-a@example.com\"  # Google Group\n  apiGroup: rbac.authorization.k8s.io\nroleRef:\n  kind: Role\n  name: team-a-developer\n  apiGroup: rbac.authorization.k8s.io\n```\n\n**RBAC best practices:** Use Google Groups for subject bindings. Prefer\nnamespace-scoped Roles over ClusterRoles. See the `gke-platform-security` skill\nfor full RBAC hardening guidance.\n\n### 3. Resource Quotas\n\nPrevent any single team from consuming all cluster resources:\n\n```yaml\napiVersion: v1\nkind: ResourceQuota\nmetadata:\n  name: team-a-quota\n  namespace: team-a\nspec:\n  hard:\n    requests.cpu: \"10\"\n    requests.memory: \"20Gi\"\n    limits.cpu: \"20\"\n    limits.memory: \"40Gi\"\n    pods: \"50\"\n    services: \"10\"\n    persistentvolumeclaims: \"10\"\n```\n\n### 4. LimitRanges\n\nSet default and maximum resource constraints per container:\n\n```yaml\napiVersion: v1\nkind: LimitRange\nmetadata:\n  name: team-a-limits\n  namespace: team-a\nspec:\n  limits:\n  - type: Container\n    default:\n      cpu: \"500m\"\n      memory: \"512Mi\"\n    defaultRequest:\n      cpu: \"100m\"\n      memory: \"128Mi\"\n    max:\n      cpu: \"4\"\n      memory: \"8Gi\"\n```\n\n> [!IMPORTANT] **Mandatory Defaults**: When defining `min` or `max` limits in a\n> `LimitRange`, you **must** also define corresponding `default` and\n> `defaultRequest` values. If you set a `min` or `max` without defaults, any pod\n> deployed without explicit resource requests\u002Flimits will be rejected by the\n> admission controller.\n\n### 5. Network Isolation\n\nApply default-deny per namespace (see the `gke-workload-security` skill), then\nallow intra-team traffic:\n\n```yaml\n# Allow same-namespace pods to talk + DNS\napiVersion: networking.k8s.io\u002Fv1\nkind: NetworkPolicy\nmetadata:\n  name: allow-same-namespace\n  namespace: team-a\nspec:\n  podSelector: {}\n  ingress:\n  - from:\n    - podSelector: {}\n  egress:\n  - to:\n    - podSelector: {}\n  - to:  # Allow DNS\n    - namespaceSelector: {}\n      podSelector:\n        matchLabels:\n          k8s-app: kube-dns\n    ports:\n    - protocol: UDP\n      port: 53\n```\n\n## Cost Allocation\n\n### Labels for Cost Attribution\n\n```bash\n# Label namespaces for billing\nkubectl label namespace team-a cost-center=engineering\nkubectl label namespace team-b cost-center=data-science\n```\n\n### GKE Cost Allocation\n\nEnable GKE cost allocation to break down costs by namespace and label:\n\n```bash\ngcloud container clusters update \u003CCLUSTER_NAME> --region \u003CREGION> \\\n  --enable-cost-allocation\n```\n\nView in the Cloud Billing Reports page or query the Cloud Billing detailed usage\ncost export in BigQuery.\n",{"name":5,"metadata":44,"description":7},{"version":45,"category":46},"1.0.2","Containers","main","e3c591afe426ea585e4c21799e5199d6d47cd1be","skills\u002Fcloud\u002Fgke-multitenancy",2014,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills","https:\u002F\u002Fgithub.com\u002Fgoogle","https:\u002F\u002Fopensource.google\u002F","Google ❤️ Open Source","2026-11-14 23:31:00",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add google\u002Fskills --skill gke-multitenancy",{"tool":62,"command":63},"bunx","bunx skills add google\u002Fskills --skill gke-multitenancy",{"tool":65,"command":66},"pnpm","pnpm dlx skills add google\u002Fskills --skill gke-multitenancy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fgke-multitenancy\u002FSKILL.md",true,[70],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fattribution.md","REFERENCE","参考文档",1888,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fgke-multitenancy\u002Freferences\u002Fattribution.md",[77,85,92,130,161,190],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":84},"01M741CFQ1NJXT0DDNA847HAK8","litert-google-tensor","Compiles LiteRT (.tflite) models ahead-of-time for Google Tensor TPUs (Tensor G5 on Pixel 10, Tensor G6 on Pixel 11) locally on Linux x86_64 or on Google Colab (--colab on macOS, Windows, or ARM hosts), benchmarks them on a USB-attached Pixel with LiteRT's benchmark_model (NPU latency, peak memory, TPU tile time, TPU energy, optional CPU baseline), and packages compiled models for an Android Gradle app as a Google Play AI pack with the Tensor NPU runtime module and a Kotlin loader, applies it to the app and verifies it on a Pixel. Use when the user asks to compile, AOT-compile, or prepare a .tflite model for the Pixel TPU\u002FNPU, check whether a .tflite is already Tensor-compiled, measure on-device NPU performance of a compiled model, or package or deploy a compiled model into their Android app (or replace the one it ships). Don't use for Qualcomm, MediaTek, or Samsung NPUs, GPU-only benchmarking, LiteRT-LM or LLM (.litertlm) models, on-device JIT compilation, non-Gradle builds, or publishing to Google Play.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fplatform-devices\u002Flitert-google-tensor\u002FSKILL.md",[],[],"2026-11-11 15:11:14",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":84},"01M741B20ZPRZKYYFDE73WMSFX","compute-spot-capacity-advice","Evaluates Google Compute Engine (GCE) Spot VM capacity obtainability, placement likelihood, and machine family or regional flexibility. Use when planning batch workloads, finding available Spot CPU or GPU capacity, assessing stockout risks, or optimizing instance distribution across zones. Don't use for TPU availability, on-demand reservation capacity (use compute-on-demand-reservations), or future GPU\u002FTPU calendar bookings (use compute-future-reservations).","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fcompute-spot-capacity-advice\u002FSKILL.md",[],[],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":106,"publishedAt":39},"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",[98,103],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000010","后端与接口",[107,108,109,110,9,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],"web","with","sign","sign in with google web","go","android","google workspace","react","runtimes","domain","architectures","identity","manager","secure","buttons","permissions","iam","security","implementing","python","policy","implement","google cloud",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":145,"publishedAt":39},"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",[136,137,140],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":138,"categoryName":139,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[146,147,148,24,149,115,118,150,151,152,153,154,123,155,156,157,158,159,160,129,9],"adoption","dpop adoption","pair","platform","token","node","at","loops","browser","code","challenge","flows","authentication","retry","es6",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":173,"publishedAt":39},"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",[167,168,171,172],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":169,"categoryName":170,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":138,"categoryName":139,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},[174,175,176,177,178,129,179,180,181,122,182,123,183,184,24,185,186,187,188,189],"developer","knowledge","retrieving developer knowledge","official","mcp server","MCP","developer documentation","across","documentation","api","query","documents","choice","local","search","get",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":39},"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",[],[197,198,199,200,201,202,203,204,205,206,207,181,208,24,209,210,211,187,212,213,214,215,126,216],"rust","migrate","migrate to rust","performance","directory","github","memory","URL","ports","llvm","unrelated","architecture","high-performance","infographic","arrays","fix","porting","cycle","safe","soa"]