[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6998M72TC73EEAQH4XC7EXW":3,"skill-same:01M6998M72TC73EEAQH4XC7EXW":104},{"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":34,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":69,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M6998M72TC73EEAQH4XC7EXW","retrieving-developer-knowledge",null,"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.","google\u002Fskills","google","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1342004?v=4","01M698VYEFDM0VJBZDYYJ2T83S","Google","01M698WR0H76ENHE587T9EJT89",23908,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002FSKILL.md",[18,23,26,29],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"knowledge","developer","retrieving developer knowledge","local","permissions","documentation","iam","across","api","query","when","documents","choice","search","get","developer documentation","official","mcp server","google cloud","MCP","2026-11-10 10:12:30",false,"---\nname: retrieving-developer-knowledge\nmetadata:\n  version: \"1.0.2\"\n  category: CloudInfrastructureAndServices\ndescription: >-\n  Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud,\n  AI\u002FGemini, Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms.\n  Integrates with the Developer Knowledge MCP server (search_documents, get_documents, answer_query)\n  or the Developer Knowledge REST API fallback. Use when searching for gcloud CLI commands, API syntax,\n  IAM permissions, official documentation, architectural comparisons, or product choice overviews.\n  Don't use for local filesystem lookups or non-Google documentation.\n---\n\n# Google Developer Knowledge\n\nThe Developer Knowledge skill provides access to official Google developer documentation across Google Cloud, AI\u002FML (ai.google.dev, ADK, TensorFlow), Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms via the Developer Knowledge MCP server or REST API fallback.\n\n## Usage Attribution\n\nBefore executing any `gcloud`, REST API, or MCP command with this skill, follow\nthe instructions in [Usage Attribution](references\u002Fattribution.md).\n\n## Workflow\n\n1. **Direct Retrieval**: When answering a technical question, execute a single documentation lookup directly within your current conversation context (do not delegate retrieval to subagents):\n   - **If MCP tools are present in your environment**: Call `answer_query` (for conceptual guides\u002Fworkflows) or `search_documents` (for CLI flags\u002Fsyntax).\n   - **If MCP tools are not present**: Execute a REST API request via `curl` against `https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1`.\n   - **A declared server is not always a connected server.** Some clients cannot complete the MCP handshake with this server and expose no `answer_query`, `search_documents` or `get_documents` tool at all, even though the plugin declares one. Treat their absence as normal and use the REST fallback below.\n2. **Confirm the lookup succeeded before using it**: A response that arrives is not automatically an answer. `PERMISSION_DENIED`, `UNAUTHENTICATED`, HTTP 401 or 403, an empty result set, or any error payload is a FAILED lookup even when the tool itself reported no error. On a failed lookup, do not answer as though it had succeeded.\n   - **Rate Limits (HTTP 429 \u002F Out of Quota)**: If calling `answer_query` or the REST `:answerQuery` endpoint returns an HTTP 429 (`RESOURCE_EXHAUSTED` \u002F out of quota error), this indicates server-side generative QA quota exhaustion. Do not treat this as an unrecoverable failure or fall back to ungrounded memory; immediately retry using the search endpoint (`search_documents` for MCP, or `documents:searchDocumentChunks` for REST) with 2–5 focused keywords from the query.\n   - **Persistent Failures**: Try the other transport once, and if that also fails, state plainly in your reply to the user that you could not reach Developer Knowledge and are answering without it. Presenting recalled documentation as a retrieved result is the worst available outcome, because nothing in the reply distinguishes it from a real lookup.\n3. **Immediate & Complete Solution Output**: Immediately upon receiving the documentation response, output the complete, self-contained, and executable technical solution (commands with all required flags and placeholders, YAML\u002FJSON configurations, or code snippets) directly in your response text.\n\n## Tool Selection & Usage\n\nChoose the appropriate tool based on availability in your runtime environment:\n\n### 1. Developer Knowledge MCP Tools (Preferred)\nWhen MCP tools are present in your active tool definitions:\n- **`answer_query(query=\"...\")`**: Use for conceptual guides, architectural comparisons, product choice overviews, and multi-step workflows. This tool has limited quota. If you get a 429 out of quota error, use `search_documents` instead.\n- **`search_documents(query=\"...\")`**: Use for granular CLI flags, exact syntax, parameter names, and IAM permissions (`service.resource.verb`). Use 2–5 focused keywords (e.g., `cloud run filestore nfs mount gcloud`) rather than full conversational sentences.\n- **`get_documents(names=[\"documents\u002F{uri_without_scheme}\"])`**: Fetch full documentation pages by resource name (e.g. `names: [\"documents\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Foverview\u002Fwhat-is-cloud-run\"]`).\n\n### 2. REST API Fallback\nWhen the MCP tools are absent, query the Developer Knowledge REST API\n(`https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1`) with `curl`. Two credentials\nwork, and you should try them in this order.\n\n**An existing Google credential, preferred.** If `gcloud` is authenticated,\npass a bearer token and your quota project. Nothing needs to be installed or\nconfigured:\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1:answerQuery\" \\\n  -H \"Authorization: Bearer $(gcloud auth print-access-token)\" \\\n  -H \"X-Goog-User-Project: $(gcloud config get-value project 2>\u002Fdev\u002Fnull)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"query\\\": \\\"How do I configure public read access on Cloud Storage?\\\"}\"\n```\n\nIf that fails to authenticate, on a 401, a 403, or any other credential error,\nthe account has a token the API will not accept. Substitute\n`gcloud auth application-default print-access-token` for\n`gcloud auth print-access-token` in the command above and try again. Which\ncredential the API accepts depends on how the environment was authenticated, so\ntreat an auth error here as a reason to try the application-default credential\nrather than as a failed lookup.\n\n**An API key, if one is configured.** Where `DEVELOPERKNOWLEDGE_API_KEY` is set\nin the environment, pass it as a `key` query parameter instead of an\n`Authorization` header. If neither credential is available, an API key is the\nsupported path for this client: enable the API and create one by following the\n[Developer Knowledge quickstart](https:\u002F\u002Fdevelopers.google.com\u002Fknowledge\u002Fquickstart),\nthen export it as `DEVELOPERKNOWLEDGE_API_KEY`. Say that you need a credential\nrather than answering without a lookup. The remaining examples in this section\nuse that form:\n- **Answer Query**:\n  ```bash\n  curl -s -X POST \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1:answerQuery?key=${DEVELOPERKNOWLEDGE_API_KEY}\" \\\n    -H \"Content-Type: application\u002Fjson\" \\\n    -d '{\"query\": \"How do I configure public read access on Cloud Storage?\"}'\n  ```\n  This endpoint has limited quota. If you get a 429 out of quota error, use `documents:searchDocumentChunks` instead.\n- **Search Document Chunks** (use 2–5 focused keywords):\n  ```bash\n  curl -s \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1\u002Fdocuments:searchDocumentChunks?query=gcloud+logging+metrics+create&key=${DEVELOPERKNOWLEDGE_API_KEY}\"\n  ```\n- **Get Document**:\n  ```bash\n  curl -s \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1\u002Fdocuments\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Foverview\u002Fwhat-is-cloud-run?key=${DEVELOPERKNOWLEDGE_API_KEY}\"\n  ```\n- **Batch Get Documents** (a `GET`, with one `names` parameter per document and no\n  request body; up to 20 per call):\n  ```bash\n  curl -s -G \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1\u002Fdocuments:batchGet\" \\\n    --data-urlencode \"names=documents\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Foverview\u002Fwhat-is-cloud-run\" \\\n    --data-urlencode \"names=documents\u002Fdocs.cloud.google.com\u002Fstorage\u002Fdocs\u002Fcreating-buckets\" \\\n    --data-urlencode \"key=${DEVELOPERKNOWLEDGE_API_KEY}\"\n  ```\n\n## Synthesis & Output Guidelines\n\n1. **Grounding in Official Documentation**: Ground all solutions directly in retrieved documentation. Official documentation conventions have absolute precedence over memorized defaults.\n2. **Exact Parameter Formatting**: Format CLI flags, composite keys (e.g. `location=IP:PATH`), and IAM permission strings according to official Google specifications.\n3. **Complete Solutions in Final Response**: Always output the full, self-contained, executable technical solution (commands, configurations, or code snippets) with clear standard placeholders (e.g. `PROJECT_ID`, `SERVICE_NAME`, `REGION`) directly in your final message, even if previously referenced during internal planning.\n\n## References\n\n- [Usage Attribution](references\u002Fattribution.md)\n- [MCP Usage & Tool Details](references\u002Fmcp-usage.md)\n- [REST API Fallback Guide](references\u002Fapi-fallback.md)\n- [Supported Domains & Scoping](references\u002Fsupported-domains.md)\n","# Google Developer Knowledge\n\nThe Developer Knowledge skill provides access to official Google developer documentation across Google Cloud, AI\u002FML (ai.google.dev, ADK, TensorFlow), Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms via the Developer Knowledge MCP server or REST API fallback.\n\n## Usage Attribution\n\nBefore executing any `gcloud`, REST API, or MCP command with this skill, follow\nthe instructions in [Usage Attribution](references\u002Fattribution.md).\n\n## Workflow\n\n1. **Direct Retrieval**: When answering a technical question, execute a single documentation lookup directly within your current conversation context (do not delegate retrieval to subagents):\n   - **If MCP tools are present in your environment**: Call `answer_query` (for conceptual guides\u002Fworkflows) or `search_documents` (for CLI flags\u002Fsyntax).\n   - **If MCP tools are not present**: Execute a REST API request via `curl` against `https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1`.\n   - **A declared server is not always a connected server.** Some clients cannot complete the MCP handshake with this server and expose no `answer_query`, `search_documents` or `get_documents` tool at all, even though the plugin declares one. Treat their absence as normal and use the REST fallback below.\n2. **Confirm the lookup succeeded before using it**: A response that arrives is not automatically an answer. `PERMISSION_DENIED`, `UNAUTHENTICATED`, HTTP 401 or 403, an empty result set, or any error payload is a FAILED lookup even when the tool itself reported no error. On a failed lookup, do not answer as though it had succeeded.\n   - **Rate Limits (HTTP 429 \u002F Out of Quota)**: If calling `answer_query` or the REST `:answerQuery` endpoint returns an HTTP 429 (`RESOURCE_EXHAUSTED` \u002F out of quota error), this indicates server-side generative QA quota exhaustion. Do not treat this as an unrecoverable failure or fall back to ungrounded memory; immediately retry using the search endpoint (`search_documents` for MCP, or `documents:searchDocumentChunks` for REST) with 2–5 focused keywords from the query.\n   - **Persistent Failures**: Try the other transport once, and if that also fails, state plainly in your reply to the user that you could not reach Developer Knowledge and are answering without it. Presenting recalled documentation as a retrieved result is the worst available outcome, because nothing in the reply distinguishes it from a real lookup.\n3. **Immediate & Complete Solution Output**: Immediately upon receiving the documentation response, output the complete, self-contained, and executable technical solution (commands with all required flags and placeholders, YAML\u002FJSON configurations, or code snippets) directly in your response text.\n\n## Tool Selection & Usage\n\nChoose the appropriate tool based on availability in your runtime environment:\n\n### 1. Developer Knowledge MCP Tools (Preferred)\nWhen MCP tools are present in your active tool definitions:\n- **`answer_query(query=\"...\")`**: Use for conceptual guides, architectural comparisons, product choice overviews, and multi-step workflows. This tool has limited quota. If you get a 429 out of quota error, use `search_documents` instead.\n- **`search_documents(query=\"...\")`**: Use for granular CLI flags, exact syntax, parameter names, and IAM permissions (`service.resource.verb`). Use 2–5 focused keywords (e.g., `cloud run filestore nfs mount gcloud`) rather than full conversational sentences.\n- **`get_documents(names=[\"documents\u002F{uri_without_scheme}\"])`**: Fetch full documentation pages by resource name (e.g. `names: [\"documents\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Foverview\u002Fwhat-is-cloud-run\"]`).\n\n### 2. REST API Fallback\nWhen the MCP tools are absent, query the Developer Knowledge REST API\n(`https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1`) with `curl`. Two credentials\nwork, and you should try them in this order.\n\n**An existing Google credential, preferred.** If `gcloud` is authenticated,\npass a bearer token and your quota project. Nothing needs to be installed or\nconfigured:\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1:answerQuery\" \\\n  -H \"Authorization: Bearer $(gcloud auth print-access-token)\" \\\n  -H \"X-Goog-User-Project: $(gcloud config get-value project 2>\u002Fdev\u002Fnull)\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"query\\\": \\\"How do I configure public read access on Cloud Storage?\\\"}\"\n```\n\nIf that fails to authenticate, on a 401, a 403, or any other credential error,\nthe account has a token the API will not accept. Substitute\n`gcloud auth application-default print-access-token` for\n`gcloud auth print-access-token` in the command above and try again. Which\ncredential the API accepts depends on how the environment was authenticated, so\ntreat an auth error here as a reason to try the application-default credential\nrather than as a failed lookup.\n\n**An API key, if one is configured.** Where `DEVELOPERKNOWLEDGE_API_KEY` is set\nin the environment, pass it as a `key` query parameter instead of an\n`Authorization` header. If neither credential is available, an API key is the\nsupported path for this client: enable the API and create one by following the\n[Developer Knowledge quickstart](https:\u002F\u002Fdevelopers.google.com\u002Fknowledge\u002Fquickstart),\nthen export it as `DEVELOPERKNOWLEDGE_API_KEY`. Say that you need a credential\nrather than answering without a lookup. The remaining examples in this section\nuse that form:\n- **Answer Query**:\n  ```bash\n  curl -s -X POST \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1:answerQuery?key=${DEVELOPERKNOWLEDGE_API_KEY}\" \\\n    -H \"Content-Type: application\u002Fjson\" \\\n    -d '{\"query\": \"How do I configure public read access on Cloud Storage?\"}'\n  ```\n  This endpoint has limited quota. If you get a 429 out of quota error, use `documents:searchDocumentChunks` instead.\n- **Search Document Chunks** (use 2–5 focused keywords):\n  ```bash\n  curl -s \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1\u002Fdocuments:searchDocumentChunks?query=gcloud+logging+metrics+create&key=${DEVELOPERKNOWLEDGE_API_KEY}\"\n  ```\n- **Get Document**:\n  ```bash\n  curl -s \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1\u002Fdocuments\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Foverview\u002Fwhat-is-cloud-run?key=${DEVELOPERKNOWLEDGE_API_KEY}\"\n  ```\n- **Batch Get Documents** (a `GET`, with one `names` parameter per document and no\n  request body; up to 20 per call):\n  ```bash\n  curl -s -G \"https:\u002F\u002Fdeveloperknowledge.googleapis.com\u002Fv1\u002Fdocuments:batchGet\" \\\n    --data-urlencode \"names=documents\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Foverview\u002Fwhat-is-cloud-run\" \\\n    --data-urlencode \"names=documents\u002Fdocs.cloud.google.com\u002Fstorage\u002Fdocs\u002Fcreating-buckets\" \\\n    --data-urlencode \"key=${DEVELOPERKNOWLEDGE_API_KEY}\"\n  ```\n\n## Synthesis & Output Guidelines\n\n1. **Grounding in Official Documentation**: Ground all solutions directly in retrieved documentation. Official documentation conventions have absolute precedence over memorized defaults.\n2. **Exact Parameter Formatting**: Format CLI flags, composite keys (e.g. `location=IP:PATH`), and IAM permission strings according to official Google specifications.\n3. **Complete Solutions in Final Response**: Always output the full, self-contained, executable technical solution (commands, configurations, or code snippets) with clear standard placeholders (e.g. `PROJECT_ID`, `SERVICE_NAME`, `REGION`) directly in your final message, even if previously referenced during internal planning.\n\n## References\n\n- [Usage Attribution](references\u002Fattribution.md)\n- [MCP Usage & Tool Details](references\u002Fmcp-usage.md)\n- [REST API Fallback Guide](references\u002Fapi-fallback.md)\n- [Supported Domains & Scoping](references\u002Fsupported-domains.md)\n",{"name":5,"metadata":60,"description":7},{"version":61,"category":62},"1.0.2","CloudInfrastructureAndServices","main","2194d3b8b1f31975fef2f1a0ae6b9ab55bd7ceee","skills\u002Fdevelopers\u002Fretrieving-developer-knowledge",1994,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills","https:\u002F\u002Fgithub.com\u002Fgoogle","https:\u002F\u002Fopensource.google\u002F","Google ❤️ Open Source","2026-11-12 00:37:41",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add google\u002Fskills --skill retrieving-developer-knowledge",{"tool":78,"command":79},"bunx","bunx skills add google\u002Fskills --skill retrieving-developer-knowledge",{"tool":81,"command":82},"pnpm","pnpm dlx skills add google\u002Fskills --skill retrieving-developer-knowledge","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002FSKILL.md",true,[86,92,96,100],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fapi-fallback.md","REFERENCE","参考文档",6611,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002Freferences\u002Fapi-fallback.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fattribution.md",1862,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002Freferences\u002Fattribution.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fmcp-usage.md",1042,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002Freferences\u002Fmcp-usage.md",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fsupported-domains.md",1719,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002Freferences\u002Fsupported-domains.md",[105,136,161,188,213,235],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":115,"publishedAt":55},"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",[111,114],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[9,116,117,118,119,120,121,122,123,53,124,125,126,127,128,41,39,129,130,131,132,133,134,135],"sign in with google web","sign","with","web","android","go","security","google workspace","implement","policy","python","implementing","react","buttons","secure","manager","identity","architectures","domain","runtimes",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":145,"publishedAt":55},"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",[142,143,144],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},[146,147,9,53,148,149,150,151,152,153,41,154,155,156,157,158,159,132,135,160,45],"dpop adoption","adoption","es6","retry","authentication","flows","challenge","code","browser","loops","at","node","token","pair","platform",{"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":167,"publishedAt":55},"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",[],[168,169,170,171,172,173,174,175,126,176,177,178,179,180,181,38,182,183,184,45,185,186,42,187],"migrate to rust","rust","migrate","github","memory","performance","directory","safe","ports","llvm","soa","cycle","porting","fix","arrays","infographic","high-performance","URL","architecture","unrelated",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":197,"publishedAt":55},"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",[194,195,196],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},[9,198,199,200,201,160,202,203,204,205,206,150,207,208,209,47,210,211,45,212,43],"finding google skills","storage","as","messaging","model","trade-offs","provider","answer","fit","catalog","up","decision","use","database","candidate",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":221,"publishedAt":55},"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",[219,220],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[222,223,131,224,9,54,225,53,52,226,227,228,229,45,230,43,41,231,232,233,234],"workload manager basics","workload","basics","cli","review","vpc","resources","inspect","you","create","libraries","server","run",{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":239,"categories":240,"keywords":241,"publishedAt":55},"01M6998BC1CC8QSEKKJSQ7VE1G","spanner-basics","Assists in provisioning instances and databases, designing performant schemas, and querying data in Cloud Spanner on Google Cloud. Use when designing primary keys, writing SQL queries or client library code, or diagnosing performance issues.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fspanner-basics\u002FSKILL.md",[],[242,224,9,243,53,173,244,245,246,247,210,45,153,248,249,250,251,252,253,254],"spanner basics","writing","sql queries","instances","databases","issues","queries","keys","sql","data","provisioning","cloud","client"]