[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698WZCSH1FMMRAVX16AJ59Y":3,"skill-same:01M698WZCSH1FMMRAVX16AJ59Y":80},{"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":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M698WZCSH1FMMRAVX16AJ59Y","google-cloud-recipe-onboarding",null,"Guides a developer's first steps on Google Cloud, covering account creation, billing setup, project management, and deploying a first resource. Use when a new developer wants to initialize their first Google Cloud project, configure billing, and verify deployment. Don't use for enterprise organization setup (use Google Cloud Setup guided flow for that instead). Don't use for complex multi-project architectures.","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\u002Fplugins\u002Fcloud\u002Fgoogle-cloud-developer\u002Fskills\u002Fgoogle-cloud-recipe-onboarding\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[24,25,9,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"google cloud recipe onboarding","google cloud","onboarding","cloud","recipe","when","for","billing setup","billing","account creation","architectures","guides","creation","project","use","initialize","configure","Enterprise","deployment","2026-11-10 10:12:30",false,"---\nname: google-cloud-recipe-onboarding\nmetadata:\n  version: \"1.0.1\"\n  category: GettingStarted\ndescription: >-\n  Guides a developer's first steps on Google Cloud, covering account creation,\n  billing setup, project management, and deploying a first resource.\n  Use when a new developer wants to initialize their first Google Cloud project,\n  configure billing, and verify deployment.\n  Don't use for enterprise organization setup (use Google Cloud Setup guided flow for that instead).\n  Don't use for complex multi-project architectures.\n---\n\n# Onboarding to Google Cloud\n\nThis skill provides a streamlined, non-interactive \"happy path\" for a singleton developer to get started with [Google Cloud](https:\u002F\u002Fcloud.google.com\u002F). It covers everything from environment verification and authentication to project selection, billing account linkage, and downstream safety chaining.\n\n## Attribution\n\nFor all `gcloud` CLI, REST API, and MCP attribution requirements when executing\ncommands with this skill, follow the instructions in\n[Usage Attribution](references\u002Fattribution.md).\n\n> [!IMPORTANT]\n> For autonomous agents executing this skill:\n> 1. **Check-Before-Mutate Audits**: Always perform silent pre-execution state audits prior to proposing or executing any project or billing changes.\n> 2. **Single-Question Policy**: Ask the user for exactly **one** operational parameter or confirmation at a time during interactive execution.\n> 3. **Non-Interactive Output**: Append non-interactive overrides (`--quiet`, `--format=\"json\"`) to all mutation commands to guarantee deterministic, machine-parseable outputs and prevent terminal hangs.\n> 4. **First Turn Interaction Rules (Trigger Turn)**: When the developer first triggers this skill with a general onboarding request (e.g. says \"I want to get started with Google Cloud\"):\n>    - **Preamble Guidance**: Proactively include a short orienting preamble guiding the developer to create a Google Cloud account (pointing to the console at `https:\u002F\u002Fconsole.cloud.google.com\u002F`) and run `gcloud auth login` to authorize their workstation, even if they appear to be already logged in.\n>    - **First Turn Single-Question**: Perform pre-flight audits silently, but do not present a complete parameters summary table or ask for final consent in the first turn. Instead, ask the developer exactly **one** initial operational question (e.g., *\"Would you like to reuse an existing active project, or create a brand new one?\"*).\n>    *Note: If the developer's initial prompt explicitly states \"I approve the onboarding configuration\", \"Let's proceed with onboarding\", or requests a dry-run plan (e.g., \"Show me the exact plan or dry-run commands\"), bypass the general preamble and initial question, and proceed directly to the requested step.*\n\n---\n\n## Overview\n\nFor an individual developer, onboarding to Google Cloud involves verifying local terminal tools, establishing an authenticated session, selecting or instantiating a workspace ([Project](https:\u002F\u002Fdocs.cloud.google.com\u002Fresource-manager\u002Fdocs\u002Fcloud-platform-resource-hierarchy.md.txt)), and linking it to an active billing account. Google Cloud offers a Free Tier and a Free Trial with $300 in credits for first-time users. [Learn more here](https:\u002F\u002Fdocs.cloud.google.com\u002Ffree\u002Fdocs\u002Ffree-cloud-features).\n\n---\n\n## Prerequisites\n\n- A personal Google Account (e.g., `@gmail.com`) or Google Workspace \u002F Cloud Identity account.\n- A valid payment method (credit card or bank account) required for identity verification and to activate the $300 Free Trial credit introduced in the Overview.\n\n---\n\n## Steps\n\n### Section 1: Verify Host Tooling Setup\n\nBefore soliciting input or proposing mutations, silently audit the host system's active tooling and environment status.\n\n1. Check if the `gcloud` CLI binary is installed and accessible:\n   \n   ```bash\n   which gcloud\n   ```\n2. Check if there is an active authenticated identity session:\n   \n   ```bash\n   gcloud auth list --format=\"json\"\n   ```\n3. If the pre-execution audit for `which gcloud` returns a valid path, proceed directly to Section 2: Authenticate and Route Session.\n4. If the binary is missing, halt execution and direct the agent to install gcloud using the [gcloud skill](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002Fcloud\u002Fgcloud). Provide the official [Google Cloud CLI Installation Guide](https:\u002F\u002Fdocs.cloud.google.com\u002Fsdk\u002Fdocs\u002Finstall-sdk) to the developer for steps to set up authentication.\n\n---\n\n### Section 2: Authenticate and Route Session\n\nAuthorize the gcloud CLI to access Google Cloud using the developer's Google Account, and verify that the account is appropriate for standalone developer onboarding.\n\n1. **Execute Credentials Authentication:**\n   \n   ```bash\n   gcloud auth login\n   ```\n   > [!IMPORTANT]\n   > **New User \u002F Unauthenticated Guidance**:\n   > If the pre-execution state audits or command failures confirm that the developer is unauthenticated (e.g., `gcloud auth list` is empty or active credentials are missing):\n   > 1. Guide them to create a Google Cloud account by navigating to the [Google Cloud Console](https:\u002F\u002Fconsole.cloud.google.com\u002F).\n   > 2. Instruct them to execute the `gcloud auth login` command to authorize their local workstation terminal session.\n   > 3. Do not attempt project creation or resource configuration until authentication is completed successfully.\n\n2. **Verify Active Identity:**\n   \n   ```bash\n   gcloud config get-value account --format=\"json\"\n   ```\n\n3. **Programmatic Enterprise Routing Guardrail:**\n   Before proceeding, verify if the account is bound to a corporate organization, as enterprise setups must follow a different architecture:\n   \n   ```bash\n   gcloud organizations list --format=\"json\"\n   ```\n   - Note that new Free Trial accounts automatically receive a Self-Owned Organization (SOO). To distinguish between a personal Free Trial account and an enterprise organization, inspect the JSON output:\n     - **Enterprise Organization (Halt Execution)**: If the output list contains an organization node where `owner.directoryCustomerId` is present (confirming a domain-verified Google Workspace or Cloud Identity organization), or if the user's prompt explicitly mentions corporate landing zones or multi-tenant project structures:\n       - **Halt execution** of this skill immediately.\n       - Route the developer to the official [Google Cloud Setup guided flow](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fenterprise\u002Fcloud-setup).\n     - **Personal Account \u002F Free Trial SOO (Proceed)**: If the output list is empty `[]`, or if it contains a Self-Owned Organization (where `owner.directoryCustomerId` is absent and `displayName` is not a verified domain name), proceed to Section 3: Select or Instantiate Your Google Cloud Project.\n\n---\n\n### Section 3: Select or Instantiate Your Google Cloud Project\n\nGoogle Cloud resources are organized into **Projects**. When developers sign up for a Free Trial via the console, Google Cloud automatically creates a default project (e.g., \"My First Project\"). Always audit the active environment first to reuse existing projects and prevent token-burning collision errors.\n\n1. **Silent Project Discovery:**\n   List active, accessible projects (limited to prevent context window overflow):\n   \n   ```bash\n   gcloud projects list --filter=\"lifecycleState=ACTIVE\" --limit=20 --format=\"json\"\n   ```\n2. **Reuse Existing Project (Recommended):**\n   If the list returns an active project, present it to the developer and propose setting it as the default working project:\n   \n   ```bash\n   gcloud config set project {PROJECT_ID} --quiet\n   ```\n3. **Create Custom Project:**\n   If no projects exist, or if the developer explicitly requests a brand new workspace:\n   - Solicit a custom `PROJECT_ID` and `PROJECT_NAME` from the developer (Single-Question Policy).\n   - **Structured Confirmation & Consent Gate (Mandatory)**:\n     Before running any project creation or billing linkage commands, the agent **must** present a structured markdown table summarizing the target parameters:\n     | Parameter | Value |\n     | :--- | :--- |\n     | Target Project ID | `{PROJECT_ID}` |\n     | Target Project Name | `{PROJECT_NAME}` |\n     | Active Identity Account | `{ACCOUNT}` |\n     | Target Billing Account ID | `{BILLING_ACCOUNT_ID}` |\n\n     Ask the user the exact consent query:\n     `\"I am ready to initialize your Google Cloud project and link billing. Do you want me to proceed?\"`\n\n     **CRITICAL**: The agent **MUST NOT** execute any `gcloud projects create` or billing link commands during this turn. You must display this table, ask the exact consent query, and **strictly stop** to wait for the user's positive affirmation.\n    - **Project ID Collision Suffix Recovery**: If the project creation\n      command fails because the `PROJECT_ID` is already taken globally\n      (returning a `PROJECT_ID_COLLISION` or `ALREADY_EXISTS` error):\n      - Automatically append a random 4-digit suffix (e.g., changing `my-project` to `my-project-8472`).\n      - Propose this new available project ID to the developer and re-solicit consent before retrying.\n   - **Execute Project Creation**: Once explicit user consent is confirmed:\n     \n     ```bash\n     gcloud projects create {PROJECT_ID} --name=\"{PROJECT_NAME}\" --quiet --format=\"json\"\n     ```\n   - Set the active working project:\n     \n     ```bash\n     gcloud config set project {PROJECT_ID} --quiet\n     ```\n\n---\n\n### Section 4: Verify and Link Billing\n\nTo deploy resources on Google Cloud, your project must be linked to an active Cloud Billing account.\n\n1. **Audit Billing Status:**\n   Check if the active project is already linked to a billing account:\n   \n   ```bash\n   gcloud billing projects describe {PROJECT_ID} --format=\"json\"\n   ```\n2. If the output contains `\"billingEnabled\": true`, skip linkage and proceed immediately to Section 5: Skill Chaining (Spend Controls & Workloads).\n3. **Discover Available Billing Accounts:**\n   If the project is unlinked, query the available billing account handles linked to the authenticated user identity:\n   \n   ```bash\n   gcloud billing accounts list --format=\"json\"\n   ```\n4. **Link Billing Account:**\n   Propose linking the project to the discovered Billing Account ID, and execute:\n   \n   ```bash\n   gcloud billing projects link {PROJECT_ID} --billing-account={BILLING_ACCOUNT_ID} --format=\"json\"\n   ```\n\n---\n\n### Section 5: Skill Chaining (Spend Controls & Workloads)\n\nOnboarding setup is now complete. To safeguard your environment and deploy workloads, you can chain to downstream specialized skills:\n\n1. **Billing Spend Controls:**\n   To avoid accidental cost overruns, consider setting up a programmatic control to automatically disable billing. When billing is disabled, all Google Cloud services and usage in the project are terminated to stop further costs:\n- Direct the developer to the official [Disable Billing Usage with Notifications Guide](https:\u002F\u002Fdocs.cloud.google.com\u002Fbilling\u002Fdocs\u002Fhow-to\u002Fdisable-billing-with-notifications), which provides detailed instructions on how to automatically shut down billing when costs exceed the project budget.\n2.  **Deploy Workloads**: To deploy your first resource, trigger the downstream\n    specialized skill matching your target application (e.g.,\n    [cloud-run-basics](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fcloud-run-basics)\n    or `bigquery-basics`). If the specialized skill is not locally available,\n    direct the developer to the corresponding official quickstart, such as the\n    [Cloud Run Container Deployment Quickstart](https:\u002F\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Fquickstarts\u002Fdeploy-container).\n    *Note: Those downstream specialized skills are individually responsible for\n    dynamically enabling their own required service APIs (e.g.,\n    run.googleapis.com) inline during execution.*\n\n---\n\n## Validation Logic\n\nAfter completing the onboarding steps, programmatically verify the completed environment state using these diagnostic commands:\n\n1. **Verify CLI Installation:**\n   \n   ```bash\n   which gcloud\n   ```\n2. **Verify Authenticated Identity:**\n   \n   ```bash\n   gcloud config get-value account\n   ```\n3. **Verify Project Workspace Existence:**\n   \n   ```bash\n   gcloud projects describe {PROJECT_ID} --format=\"json\"\n   ```\n4. **Verify Billing Linkage** (Ensure the JSON output contains `\"billingEnabled\": true`):\n   \n   ```bash\n   gcloud billing projects describe {PROJECT_ID} --format=\"json\"\n   ```\n\n---\n\n## Additional Resources\n\n- [Google Cloud Getting Started landing page](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fget-started.md.txt)\n- [Google Cloud overview](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Foverview.md.txt)\n- [Google Cloud Free Program](https:\u002F\u002Fdocs.cloud.google.com\u002Ffree\u002Fdocs\u002Ffree-cloud-features)\n- [Google Cloud Setup overview](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fenterprise\u002Fcloud-setup.md.txt)\n- [Google Cloud Setup Advanced production foundation](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fenterprise\u002Fadvanced-production.md.txt)\n- [Usage Attribution](references\u002Fattribution.md): Standardized usage attribution tags for `gcloud` CLI, REST API, and MCP requests.\n","# Onboarding to Google Cloud\n\nThis skill provides a streamlined, non-interactive \"happy path\" for a singleton developer to get started with [Google Cloud](https:\u002F\u002Fcloud.google.com\u002F). It covers everything from environment verification and authentication to project selection, billing account linkage, and downstream safety chaining.\n\n## Attribution\n\nFor all `gcloud` CLI, REST API, and MCP attribution requirements when executing\ncommands with this skill, follow the instructions in\n[Usage Attribution](references\u002Fattribution.md).\n\n> [!IMPORTANT]\n> For autonomous agents executing this skill:\n> 1. **Check-Before-Mutate Audits**: Always perform silent pre-execution state audits prior to proposing or executing any project or billing changes.\n> 2. **Single-Question Policy**: Ask the user for exactly **one** operational parameter or confirmation at a time during interactive execution.\n> 3. **Non-Interactive Output**: Append non-interactive overrides (`--quiet`, `--format=\"json\"`) to all mutation commands to guarantee deterministic, machine-parseable outputs and prevent terminal hangs.\n> 4. **First Turn Interaction Rules (Trigger Turn)**: When the developer first triggers this skill with a general onboarding request (e.g. says \"I want to get started with Google Cloud\"):\n>    - **Preamble Guidance**: Proactively include a short orienting preamble guiding the developer to create a Google Cloud account (pointing to the console at `https:\u002F\u002Fconsole.cloud.google.com\u002F`) and run `gcloud auth login` to authorize their workstation, even if they appear to be already logged in.\n>    - **First Turn Single-Question**: Perform pre-flight audits silently, but do not present a complete parameters summary table or ask for final consent in the first turn. Instead, ask the developer exactly **one** initial operational question (e.g., *\"Would you like to reuse an existing active project, or create a brand new one?\"*).\n>    *Note: If the developer's initial prompt explicitly states \"I approve the onboarding configuration\", \"Let's proceed with onboarding\", or requests a dry-run plan (e.g., \"Show me the exact plan or dry-run commands\"), bypass the general preamble and initial question, and proceed directly to the requested step.*\n\n---\n\n## Overview\n\nFor an individual developer, onboarding to Google Cloud involves verifying local terminal tools, establishing an authenticated session, selecting or instantiating a workspace ([Project](https:\u002F\u002Fdocs.cloud.google.com\u002Fresource-manager\u002Fdocs\u002Fcloud-platform-resource-hierarchy.md.txt)), and linking it to an active billing account. Google Cloud offers a Free Tier and a Free Trial with $300 in credits for first-time users. [Learn more here](https:\u002F\u002Fdocs.cloud.google.com\u002Ffree\u002Fdocs\u002Ffree-cloud-features).\n\n---\n\n## Prerequisites\n\n- A personal Google Account (e.g., `@gmail.com`) or Google Workspace \u002F Cloud Identity account.\n- A valid payment method (credit card or bank account) required for identity verification and to activate the $300 Free Trial credit introduced in the Overview.\n\n---\n\n## Steps\n\n### Section 1: Verify Host Tooling Setup\n\nBefore soliciting input or proposing mutations, silently audit the host system's active tooling and environment status.\n\n1. Check if the `gcloud` CLI binary is installed and accessible:\n   \n   ```bash\n   which gcloud\n   ```\n2. Check if there is an active authenticated identity session:\n   \n   ```bash\n   gcloud auth list --format=\"json\"\n   ```\n3. If the pre-execution audit for `which gcloud` returns a valid path, proceed directly to Section 2: Authenticate and Route Session.\n4. If the binary is missing, halt execution and direct the agent to install gcloud using the [gcloud skill](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002Fcloud\u002Fgcloud). Provide the official [Google Cloud CLI Installation Guide](https:\u002F\u002Fdocs.cloud.google.com\u002Fsdk\u002Fdocs\u002Finstall-sdk) to the developer for steps to set up authentication.\n\n---\n\n### Section 2: Authenticate and Route Session\n\nAuthorize the gcloud CLI to access Google Cloud using the developer's Google Account, and verify that the account is appropriate for standalone developer onboarding.\n\n1. **Execute Credentials Authentication:**\n   \n   ```bash\n   gcloud auth login\n   ```\n   > [!IMPORTANT]\n   > **New User \u002F Unauthenticated Guidance**:\n   > If the pre-execution state audits or command failures confirm that the developer is unauthenticated (e.g., `gcloud auth list` is empty or active credentials are missing):\n   > 1. Guide them to create a Google Cloud account by navigating to the [Google Cloud Console](https:\u002F\u002Fconsole.cloud.google.com\u002F).\n   > 2. Instruct them to execute the `gcloud auth login` command to authorize their local workstation terminal session.\n   > 3. Do not attempt project creation or resource configuration until authentication is completed successfully.\n\n2. **Verify Active Identity:**\n   \n   ```bash\n   gcloud config get-value account --format=\"json\"\n   ```\n\n3. **Programmatic Enterprise Routing Guardrail:**\n   Before proceeding, verify if the account is bound to a corporate organization, as enterprise setups must follow a different architecture:\n   \n   ```bash\n   gcloud organizations list --format=\"json\"\n   ```\n   - Note that new Free Trial accounts automatically receive a Self-Owned Organization (SOO). To distinguish between a personal Free Trial account and an enterprise organization, inspect the JSON output:\n     - **Enterprise Organization (Halt Execution)**: If the output list contains an organization node where `owner.directoryCustomerId` is present (confirming a domain-verified Google Workspace or Cloud Identity organization), or if the user's prompt explicitly mentions corporate landing zones or multi-tenant project structures:\n       - **Halt execution** of this skill immediately.\n       - Route the developer to the official [Google Cloud Setup guided flow](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fenterprise\u002Fcloud-setup).\n     - **Personal Account \u002F Free Trial SOO (Proceed)**: If the output list is empty `[]`, or if it contains a Self-Owned Organization (where `owner.directoryCustomerId` is absent and `displayName` is not a verified domain name), proceed to Section 3: Select or Instantiate Your Google Cloud Project.\n\n---\n\n### Section 3: Select or Instantiate Your Google Cloud Project\n\nGoogle Cloud resources are organized into **Projects**. When developers sign up for a Free Trial via the console, Google Cloud automatically creates a default project (e.g., \"My First Project\"). Always audit the active environment first to reuse existing projects and prevent token-burning collision errors.\n\n1. **Silent Project Discovery:**\n   List active, accessible projects (limited to prevent context window overflow):\n   \n   ```bash\n   gcloud projects list --filter=\"lifecycleState=ACTIVE\" --limit=20 --format=\"json\"\n   ```\n2. **Reuse Existing Project (Recommended):**\n   If the list returns an active project, present it to the developer and propose setting it as the default working project:\n   \n   ```bash\n   gcloud config set project {PROJECT_ID} --quiet\n   ```\n3. **Create Custom Project:**\n   If no projects exist, or if the developer explicitly requests a brand new workspace:\n   - Solicit a custom `PROJECT_ID` and `PROJECT_NAME` from the developer (Single-Question Policy).\n   - **Structured Confirmation & Consent Gate (Mandatory)**:\n     Before running any project creation or billing linkage commands, the agent **must** present a structured markdown table summarizing the target parameters:\n     | Parameter | Value |\n     | :--- | :--- |\n     | Target Project ID | `{PROJECT_ID}` |\n     | Target Project Name | `{PROJECT_NAME}` |\n     | Active Identity Account | `{ACCOUNT}` |\n     | Target Billing Account ID | `{BILLING_ACCOUNT_ID}` |\n\n     Ask the user the exact consent query:\n     `\"I am ready to initialize your Google Cloud project and link billing. Do you want me to proceed?\"`\n\n     **CRITICAL**: The agent **MUST NOT** execute any `gcloud projects create` or billing link commands during this turn. You must display this table, ask the exact consent query, and **strictly stop** to wait for the user's positive affirmation.\n    - **Project ID Collision Suffix Recovery**: If the project creation\n      command fails because the `PROJECT_ID` is already taken globally\n      (returning a `PROJECT_ID_COLLISION` or `ALREADY_EXISTS` error):\n      - Automatically append a random 4-digit suffix (e.g., changing `my-project` to `my-project-8472`).\n      - Propose this new available project ID to the developer and re-solicit consent before retrying.\n   - **Execute Project Creation**: Once explicit user consent is confirmed:\n     \n     ```bash\n     gcloud projects create {PROJECT_ID} --name=\"{PROJECT_NAME}\" --quiet --format=\"json\"\n     ```\n   - Set the active working project:\n     \n     ```bash\n     gcloud config set project {PROJECT_ID} --quiet\n     ```\n\n---\n\n### Section 4: Verify and Link Billing\n\nTo deploy resources on Google Cloud, your project must be linked to an active Cloud Billing account.\n\n1. **Audit Billing Status:**\n   Check if the active project is already linked to a billing account:\n   \n   ```bash\n   gcloud billing projects describe {PROJECT_ID} --format=\"json\"\n   ```\n2. If the output contains `\"billingEnabled\": true`, skip linkage and proceed immediately to Section 5: Skill Chaining (Spend Controls & Workloads).\n3. **Discover Available Billing Accounts:**\n   If the project is unlinked, query the available billing account handles linked to the authenticated user identity:\n   \n   ```bash\n   gcloud billing accounts list --format=\"json\"\n   ```\n4. **Link Billing Account:**\n   Propose linking the project to the discovered Billing Account ID, and execute:\n   \n   ```bash\n   gcloud billing projects link {PROJECT_ID} --billing-account={BILLING_ACCOUNT_ID} --format=\"json\"\n   ```\n\n---\n\n### Section 5: Skill Chaining (Spend Controls & Workloads)\n\nOnboarding setup is now complete. To safeguard your environment and deploy workloads, you can chain to downstream specialized skills:\n\n1. **Billing Spend Controls:**\n   To avoid accidental cost overruns, consider setting up a programmatic control to automatically disable billing. When billing is disabled, all Google Cloud services and usage in the project are terminated to stop further costs:\n- Direct the developer to the official [Disable Billing Usage with Notifications Guide](https:\u002F\u002Fdocs.cloud.google.com\u002Fbilling\u002Fdocs\u002Fhow-to\u002Fdisable-billing-with-notifications), which provides detailed instructions on how to automatically shut down billing when costs exceed the project budget.\n2.  **Deploy Workloads**: To deploy your first resource, trigger the downstream\n    specialized skill matching your target application (e.g.,\n    [cloud-run-basics](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fcloud-run-basics)\n    or `bigquery-basics`). If the specialized skill is not locally available,\n    direct the developer to the corresponding official quickstart, such as the\n    [Cloud Run Container Deployment Quickstart](https:\u002F\u002Fdocs.cloud.google.com\u002Frun\u002Fdocs\u002Fquickstarts\u002Fdeploy-container).\n    *Note: Those downstream specialized skills are individually responsible for\n    dynamically enabling their own required service APIs (e.g.,\n    run.googleapis.com) inline during execution.*\n\n---\n\n## Validation Logic\n\nAfter completing the onboarding steps, programmatically verify the completed environment state using these diagnostic commands:\n\n1. **Verify CLI Installation:**\n   \n   ```bash\n   which gcloud\n   ```\n2. **Verify Authenticated Identity:**\n   \n   ```bash\n   gcloud config get-value account\n   ```\n3. **Verify Project Workspace Existence:**\n   \n   ```bash\n   gcloud projects describe {PROJECT_ID} --format=\"json\"\n   ```\n4. **Verify Billing Linkage** (Ensure the JSON output contains `\"billingEnabled\": true`):\n   \n   ```bash\n   gcloud billing projects describe {PROJECT_ID} --format=\"json\"\n   ```\n\n---\n\n## Additional Resources\n\n- [Google Cloud Getting Started landing page](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fget-started.md.txt)\n- [Google Cloud overview](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Foverview.md.txt)\n- [Google Cloud Free Program](https:\u002F\u002Fdocs.cloud.google.com\u002Ffree\u002Fdocs\u002Ffree-cloud-features)\n- [Google Cloud Setup overview](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fenterprise\u002Fcloud-setup.md.txt)\n- [Google Cloud Setup Advanced production foundation](https:\u002F\u002Fdocs.cloud.google.com\u002Fdocs\u002Fenterprise\u002Fadvanced-production.md.txt)\n- [Usage Attribution](references\u002Fattribution.md): Standardized usage attribution tags for `gcloud` CLI, REST API, and MCP requests.\n",{"name":5,"metadata":48,"description":7},{"version":49,"category":50},"1.0.1","GettingStarted","main","bb9b3f464aae37af360d079c1d863524955b0363","plugins\u002Fcloud\u002Fgoogle-cloud-developer\u002Fskills\u002Fgoogle-cloud-recipe-onboarding",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":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add google\u002Fskills --skill google-cloud-recipe-onboarding",{"tool":66,"command":67},"bunx","bunx skills add google\u002Fskills --skill google-cloud-recipe-onboarding",{"tool":69,"command":70},"pnpm","pnpm dlx skills add google\u002Fskills --skill google-cloud-recipe-onboarding","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcloud\u002Fgoogle-cloud-developer\u002Fskills\u002Fgoogle-cloud-recipe-onboarding\u002FSKILL.md",true,[74],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fattribution.md","REFERENCE","参考文档",1825,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcloud\u002Fgoogle-cloud-developer\u002Fskills\u002Fgoogle-cloud-recipe-onboarding\u002Freferences\u002Fattribution.md",[81,117,146,175,202,226],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":95,"publishedAt":43},"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",[87,92],{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":93,"categoryName":94,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000010","后端与接口",[9,96,97,98,99,100,101,102,103,25,104,105,106,107,108,109,110,111,112,113,114,34,115,116],"sign in with google web","sign","with","web","android","go","security","google workspace","implement","policy","python","implementing","react","iam","permissions","buttons","secure","manager","identity","domain","runtimes",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":130,"publishedAt":43},"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",[123,124,127],{"categoryNo":93,"categoryName":94,"taxonomyType":90,"taxonomyTypeDesc":91},{"categoryNo":125,"categoryName":126,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师",[131,132,9,25,133,134,135,136,137,138,109,139,140,141,142,143,144,114,116,145,29],"dpop adoption","adoption","es6","retry","authentication","flows","challenge","code","browser","loops","at","node","token","pair","platform",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":158,"publishedAt":43},"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",[152,153,156,157],{"categoryNo":93,"categoryName":94,"taxonomyType":90,"taxonomyTypeDesc":91},{"categoryNo":154,"categoryName":155,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":125,"categoryName":126,"taxonomyType":90,"taxonomyTypeDesc":91},{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},[159,160,161,162,25,163,164,165,166,167,168,169,170,29,171,172,173,109,174,110],"retrieving developer knowledge","knowledge","developer","MCP","mcp server","official","developer documentation","get","search","local","choice","documents","query","api","across","documentation",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":181,"publishedAt":43},"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",[],[182,183,184,185,186,187,188,189,106,190,191,192,193,194,195,168,196,197,198,29,199,200,173,201],"migrate to rust","rust","migrate","github","memory","performance","directory","safe","ports","llvm","soa","cycle","porting","fix","arrays","infographic","high-performance","URL","architecture","unrelated",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":211,"publishedAt":43},"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",[208,209,210],{"categoryNo":93,"categoryName":94,"taxonomyType":90,"taxonomyTypeDesc":91},{"categoryNo":125,"categoryName":126,"taxonomyType":90,"taxonomyTypeDesc":91},{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},[9,212,213,214,215,145,216,217,218,219,220,135,221,222,223,169,38,224,29,225,172],"finding google skills","storage","as","messaging","model","trade-offs","provider","answer","fit","catalog","up","decision","database","candidate",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":234,"publishedAt":43},"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",[232,233],{"categoryNo":93,"categoryName":94,"taxonomyType":90,"taxonomyTypeDesc":91},{"categoryNo":125,"categoryName":126,"taxonomyType":90,"taxonomyTypeDesc":91},[235,236,113,237,9,162,238,25,163,239,240,241,242,29,243,172,109,244,245,246,247],"workload manager basics","workload","basics","cli","review","vpc","resources","inspect","you","create","libraries","server","run"]