compute-vm-creation
Guides the planning, configuration, and provisioning of standalone Google Compute Engine virtual machines (VMs) and bare metal (-metal) instances using gcloud CLI commands or direct MCP tool execution. Use ONLY when the user wants to create, configure, or provision a new standalone Compute Engine VM or bare metal instance from conversational intents (hardware sizing, region selection, OS image, networking, security defaults). DO NOT read or use for Google Kubernetes Engine (GKE) Autopilot or Standard clusters, Kubernetes node pools or Pods, container orchestration, managing existing VMs, Managed Instance Groups (MIGs), or Instance Templates.
- License 许可
- Apache-2.0
- 所属仓库
- google/skills
- 最近更新
- 2026-11-14
- Stars
- ★ 2.4w
- Forks
- 2.0k
01 前言 Front Matter
- name
- compute-vm-creation
- metadata
- { "version": "1.0.0", "category": "Compute" }
- description
- Guides the planning, configuration, and provisioning of standalone Google Compute Engine virtual machines (VMs) and bare metal (-metal) instances using gcloud CLI commands or direct MCP tool execution. Use ONLY when the user wants to create, configure, or provision a new standalone Compute Engine VM or bare metal instance from conversational intents (hardware sizing, region selection, OS image, networking, security defaults). DO NOT read or use for Google Kubernetes Engine (GKE) Autopilot or Standard clusters, Kubernetes node pools or Pods, container orchestration, managing existing VMs, Managed Instance Groups (MIGs), or Instance Templates.
02 资源文件 2
- 参考文档references/attribution.md1.9 KB
- 参考文档references/templates.md15.3 KB
03 SKILL.md 正文
Compute Engine VM Creation
This skill provides an interactive, intent-based experience for provisioning
standalone Google Compute Engine VM and bare metal (-metal) instances. It
supports users ranging from beginners asking to "create a VM" to cloud engineers
requiring customized infrastructure, mapping natural language intents to secure
Compute Engine configurations grounded in the Golden Path.
MCP Tools:
list_instances,create_instance,get_instance_basic_info,delete_instance,get_zone_operation,list_machine_types,list_accelerator_types,list_images
Usage Attribution
MUST READ: Before executing any gcloud, REST API, or MCP command, you
MUST read and follow the instructions in
Usage Attribution. Never include attribution
environment variables or User-Agent tags in generated scripts, Terraform, or
copy-pasteable commands shown to the user.
Prerequisites
Ensure the following setup requirements are met before provisioning instances.
Any host modifications (such as installing or updating the gcloud CLI,
installing or configuring the Google Compute Engine MCP server, or modifying
local environment configuration) must be explicitly approved by the user before
execution.
- Cloud SDK Installation: Verify
gcloudis installed (gcloud --version, Google Cloud SDK >= 480.0.0) only when executing live CLI commands. If missing or outdated, ask the user for explicit approval before installing or updating via Install the gcloud CLI. - Compute Engine MCP Server: For direct MCP tool execution
(
list_instances,create_instance,get_instance_basic_info,delete_instance,get_zone_operation,list_machine_types,list_accelerator_types,list_images), check whether the Compute Engine MCP tools are loaded in your active tool declarations, or ask the user for approval to configure the server following Use the Compute Engine MCP server. - Billing Account: Confirm the target Google Cloud project has an active billing account linked (required even when using Google Cloud Free Tier resources).
- Authentication: Authenticate your environment for CLI execution
(
gcloud auth login), application/MCP SDKs (gcloud auth application-default login), or service account credentials (GOOGLE_APPLICATION_CREDENTIALS). - Project Selection & API Enablement: Set the target project and enable the
Compute Engine API:
gcloud config set project {project_id} gcloud services enable compute.googleapis.com - Required IAM Roles:
- Caller Roles:
roles/compute.instanceAdmin.v1(to create and manage instances),roles/iam.serviceAccountUser(to attach{custom_service_account}), androles/mcp.toolUserwhen invoking the Compute Engine MCP server. - IAP SSH/RDP Access for Private (
--no-address) VMs: Connecting viagcloud compute ssh {vm_name} --zone={zone} --tunnel-through-iaprequiresroles/iap.tunnelResourceAccessorplus a VPC firewall rule allowing TCP22(or3389for RDP) from IAP's forwarding range35.235.240.0/20(see Use IAP for TCP forwarding). - Custom VM Service Account Setup: Fresh projects only contain the default
Compute Engine service account. If
{custom_service_account}does not yet exist, create a dedicated least-privilege service account first (seeking user approval before granting IAM bindings):gcloud iam service-accounts create {sa_name} \ --project={project_id} \ --display-name="{sa_display_name}" gcloud projects add-iam-policy-binding {project_id} \ --member="serviceAccount:{sa_name}@{project_id}.iam.gserviceaccount.com" \ --role="roles/logging.logWriter" gcloud projects add-iam-policy-binding {project_id} \ --member="serviceAccount:{sa_name}@{project_id}.iam.gserviceaccount.com" \ --role="roles/monitoring.metricWriter"
- Caller Roles:
Workflow
- Determine Execution Method & MCP Capability Boundary:
- Fast Conversational Intake (No Shell Probing on Missing Inputs): When a
user asks to configure or create a VM without providing mandatory inputs
(
project_id,vm_name,region/zone, or public vs. private networking), respond immediately after readingSKILL.mdwithout runninggcloud config list,gcloud --version, or any shell commands. Clarify that you can either execute provisioning once confirmed (Automated Execution) or provide copy-pasteablegcloudcommands / JSON payloads (Manual Execution), recommend a sizing tier, and ask for the missing inputs in a single turn. - MCP vs.
gcloudRouting Rule: Compute Engine MCP discovery tools (list_instances,get_instance_basic_info,list_machine_types,list_accelerator_types,list_images,get_zone_operation) are ideal for read-only inspection. However, MCPcreate_instance(McpCreateInstanceRequest) accepts only eight flat top-level fields (project,zone,name, baremachineType,imageProject,imageFamily,guestAccelerators,maintenancePolicy) and hardcodesglobal/networks/defaultwithout--no-address, custom subnets, custom service accounts, Shielded VM flags, OS Login, Spot scheduling, or custom disk sizes/types. Route all hardened (--no-address, custom--subnet={subnet},{custom_service_account}, Shielded VM, OS Login), Spot, custom-disk, 4th-gen Hyperdisk, and bare metal (-metal) creations togcloud compute instances create(or RESTinstances.insert) rather than dropping security guardrails to fitcreate_instance. Use MCPcreate_instanceonly for default-VPC prototyping when default disk and service-account settings are explicitly acceptable.
- Fast Conversational Intake (No Shell Probing on Missing Inputs): When a
user asks to configure or create a VM without providing mandatory inputs
(
- Gather Mandatory Inputs: ALWAYS ask the user for any missing inputs:
- Project ID (Ask directly if not provided in the prompt).
- VM Name (Offer a friendly default suggestion if unsure, e.g.,
my-first-web-server). - Region & Zone (Explain why simply: "Choosing a location closer to
you or your users reduces latency and makes things load faster." Recommend
us-central1/us-central1-aif the user has no preference, and consult Regions and zones, GPU regions and zones, or Google Cloud locations only when verifying non-default regional availability):gcloud config set compute/region {region} gcloud config set compute/zone {zone}
- Conversational Triage (Sizing, Generation & OS): Map the user's workload
to the Intent-Based Sizing Tiers and hardware generation defaults:
- Default OS images: Use
debian-12(debian-cloud) forE2,N2,C3virtualized, andC2D; usedebian-13(debian-cloud) for 4th-gen (C4,N4,X4) and bare metal (c3-standard-192-metal,c4-standard-288-metal, wheredebian-12is unsupported); usedebian-12-arm64/debian-13-arm64for ArmC4A; and usecommon-cu129-ubuntu-2404-nvidia-580(deeplearning-platform-release) forG2GPUs. Consult Operating system details and Bare metal instances only when selecting non-default OS images or bare metal SKUs. - Storage by generation: Use
hyperdisk-balancedon 4th-gen (C4,N4,C4A,C4D,M4,X4,A4) and bare metal (-metal) instances wherepd-*disks are rejected (N4supportshyperdisk-balancedandhyperdisk-throughput, nothyperdisk-extreme;H3supportspd-balancedandhyperdisk-balanced). Consult the "Machine series support for Hyperdisk" section of About Google Cloud Hyperdisk only for non-default disk types.
- Default OS images: Use
- Determine Network Accessibility & Subnet: ALWAYS ask in plain,
non-technical language whether the VM needs to be reachable from the public
internet or kept private, noting that private networking (
--no-address) is the security best practice—even when hosting a website or web app. Use--subnet={subnet}(verifying whether a custom/Shared VPC subnet ordefaultVPC exists, since many enterprise projects enforceconstraints/compute.skipDefaultNetworkCreation). - Configure Security, OS Login & Service Accounts: Enable IAM-governed SSH
via
--metadata=enable-oslogin=TRUE, recommend a custom least-privilege service account ({custom_service_account}), and enable Shielded VM flags (--shielded-secure-boot,--shielded-vtpm,--shielded-integrity-monitoring) on virtualized VMs (on standard x86-metalbare metal instances, pass--no-shielded-secure-bootand omit vTPM/integrity flags). - Summarize & Confirm (Mode-Aware): Present a clear summary of the proposed
VM configuration, cost profile, and architectural warnings:
- Automated Execution Mode: Always ask for explicit user confirmation before executing any mutating provisioning command or tool call (e.g., "Would you like me to proceed with provisioning this configuration, or adjust any settings first?").
- Manual /
"Do not execute"Mode: Instruct the user to review and substitute any{snake_case}placeholders (such as{subnet}or{custom_service_account}) before running the command in their terminal; do not offer to execute provisioning when tools are disconnected or execution was forbidden.
- Execute or Deliver Payloads:
- Automated: Execute
gcloud compute instances create(prefixed withCLOUDSDK_METRICS_REQUEST_ATTRIBUTIONper Usage Attribution) for hardened/Spot/4th-gen/ bare-metal configurations, or call MCPcreate_instancefor default-VPC prototyping, tracking progress viaget_zone_operationand verifying viaget_instance_basic_info. - Manual: Output formatted, copy-pasteable
gcloudCLI commands (without--quietor attribution prefixes) or JSON payloads with clear instructions.
- Automated: Execute
- Verify, Deliver Next Steps & Teardown Guidance: Provide post-provisioning
access steps (for example, via
--tunnel-through-iapwithgcloud compute ssh) and always include teardown instructions (omitting--quietso interactive confirmation prevents accidental data loss; see Delete a VM):
Remind the user to passgcloud compute instances delete {vm_name} --zone={zone} --delete-disks=all--delete-disks=all(or--keep-disks=allif retaining data) so persistent disks are not orphaned.
Intent-Based Sizing Tiers
If a user says "I want to create a VM" or is unsure of hardware specs, use this table to recommend a tier. Point users to Google Cloud pricing and Compute Engine pricing for current regional rates rather than quoting hardcoded dollar figures.
| Conversational Tier | Best For... | Underlying Machine | Boot Disk (Default) | Cost Profile |
|---|---|---|---|---|
| Starter Tier (Dev/Test & Learning) | "I just want to play around," "I'm learning Linux," "I have a tiny hobby script." | e2-micro (Free Tier eligible) or e2-small |
10 GB Standard Disk (pd-standard; Free Tier covers up to 30 GB pd-standard) |
Very Low (Google Cloud Free Tier covers one non-preemptible e2-micro instance/month in us-west1, us-central1, or us-east1 only; e2-small or other regions incur standard billing immediately; active billing account required) |
| Standard Tier (Websites & Apps) [GOLDEN PATH] | "I want to host a website," "I'm running a small database," "I don't know, just give me a basic one." | e2-standard-2 (default baseline; e2-medium for light websites/apps, or e2-standard-4 with 50 GB pd-balanced for higher concurrency) |
30 GB Balanced Disk (pd-balanced) |
Moderate (Pay-as-you-go; see Compute Engine pricing) |
| Powerhouse Tier (Heavy Processing) | "I have heavy data pipelines," "I'm compiling large codebases," "I need maximum speed." | 3rd-gen General-purpose c3-standard-4 or n2-standard-4 (4th-gen c4-standard-4 / n4-standard-4 / Arm c4a-standard-4; Compute-optimized c2d-standard-4 / h3-standard-88) |
100 GB pd-ssd (3rd-gen/C2D), pd-balanced or hyperdisk-balanced (H3), or hyperdisk-balanced (mandatory on 4th-gen C4/N4/C4A) |
Premium (Pay-as-you-go) |
| Specialist Tier (AI, Graphics & Bare Metal) | "I want to run an LLM," "I need a GPU workstation," "I need a bare metal -metal host." |
g2-standard-4 (1 NVIDIA L4 GPU) or bare metal c3-standard-192-metal / c4-standard-288-metal |
100 GB pd-balanced (G2) or 200 GB hyperdisk-balanced (-metal / 4th-gen A4) |
High (Requires GPU or dedicated bare-metal CPU quota) |
Rule: Default to the Standard Tier (
e2-standard-2with a 30 GBpd-balancedboot disk) unless the user has specific requirements that other tiers or sizes satisfy. When a workload maps to a tier without an explicit vCPU/RAM count, always use the baseline machine type listed in the table (e2-microore2-smallfor Starter;e2-standard-2[ore2-medium/e2-standard-4when justified] for Standard;c3-standard-4orn2-standard-4for 3rd-gen Powerhouse,c4-standard-4/n4-standard-4for 4th-gen, orc2d-standard-4for Compute-optimized;g2-standard-4for L4 GPU) rather than upsizing to-8or-16.
Conversational Guidelines (How to Talk to Users)
1. Early Fork: Establishing Execution Mode
At the start of an interactive session, state whether execution is automated
(provisioning after confirmation via gcloud / Compute Engine MCP) or guided
(outputting copy-pasteable gcloud commands or JSON payloads for Cloud Shell or
terminal)—without running gcloud config list or shell commands while
mandatory inputs are still missing.
2. Handling Simple Requests (e.g., "Create a VM" or "Host a Small Website")
Do not overwhelm beginners with block-storage IOPS or CPU architecture jargon,
and do not run terminal commands before the user answers. Clarify execution
mode, recommend the Standard Tier (Golden Path) baseline (e2-standard-2 or
e2-medium with a 30 GB pd-balanced boot disk), and always ask for
all four required inputs in your first response:
- Google Cloud Project ID
- VM Name (e.g.,
my-first-web-server) - Region or Zone (explaining that a location closer to users lowers network
latency and makes pages load faster; suggest
us-central1/us-central1-aif unsure) - Public Internet vs. Private Networking (in plain language: "Does this VM need to be reachable from the public internet, or should we keep it private? Keeping it private is our default security best practice—even for websites, please confirm which you prefer.")
3. Clear Cost, Quota & Resource Availability Guidance
- Warn clearly before provisioning Powerhouse, GPU, or Bare Metal
instances that specialized hardware and large
pd-ssd/ Hyperdisk volumes accumulate costs quickly (disks bill continuously while stopped) and require sufficient regional CPU/GPU quota. - If VM provisioning fails with
ZONE_RESOURCE_POOL_EXHAUSTED(orZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS), explain that this is a physical zonal hardware supply shortage that a project quota increase will not fix. Consult Troubleshoot resource availability errors and guide the user to try another zone in the region (e.g.,us-central1-borus-central1-c), adjust machine series/size, or use Compute Engine reservations.
Best Practices & Hardening Rules
Security & Networking
- Private-by-Default (
--no-address): Default to--no-addresson custom or verified--subnet={subnet}subnets, using Cloud NAT for outbound egress and Identity-Aware Proxy (IAP) TCP forwarding (35.235.240.0/20, TCP22/3389,roles/iap.tunnelResourceAccessor; see Use IAP for TCP forwarding) for SSH/RDP. - OS Login (
--metadata=enable-oslogin=TRUE): Enable OS Login so SSH access is tied to IAM roles rather than project-wide static SSH keys. - Custom Service Accounts: Never use the default Compute Engine service
account; attach
{custom_service_account}with least-privilege IAM roles. - Shielded VMs: Enable
--shielded-secure-boot,--shielded-vtpm, and--shielded-integrity-monitoringon all virtualized VMs (omit vTPM/integrity and set--no-shielded-secure-booton standard x86-metalbare metal).
Cost Optimization & Reliability
- Right-Sizing & Free Tier Accuracy: Use
e2-micro(us-west1,us-central1, orus-east1only, 1 non-preemptible instance/month, up to 30 GBpd-standard, with an active billing account still required on the Google Cloud project; see Google Cloud Free Tier) for Free Tier eligibility, ore2-mediumfor light dev/test workloads. - Spot VMs: Offer Spot VMs (
--provisioning-model=SPOT,--instance-termination-action=DELETE[orSTOP],--maintenance-policy=TERMINATE,--no-restart-on-failure; see Create and use Spot VMs) for stateless, fault-tolerant batch workloads to achieve significant discounts compared to standard instances (see Compute Engine pricing). - Storage & Host Maintenance: Default 3rd-gen/E2 boot disks to
pd-balanced(hyperdisk-balancedon 4th-gen and-metal), and set--maintenance-policy=MIGRATEon standard virtualized VMs (TERMINATEon Spot, GPU, and-metalinstances; see Handle GPU host maintenance events).
Technical Reference Templates
Every row below summarizes the complete gcloud compute instances create flags
(with {vm_name}, --project={project_id}, and --zone={zone}) and 8-field
Compute Engine MCP create_instance schema for the five standard VM templates.
Consult Technical Reference Templates when full
multi-line examples or additional template context are needed, and always read
Usage Attribution before executing any live
gcloud, REST API, or MCP command:
| Template | Complete gcloud compute instances create {vm_name} --project={project_id} --zone={zone} Flags |
MCP create_instance Routing & Schema |
Required Warnings |
|---|---|---|---|
| 1. Golden Path General Purpose (Production) | --machine-type=e2-standard-2 --network-tier=PREMIUM --subnet={subnet} --no-address --maintenance-policy=MIGRATE --metadata=enable-oslogin=TRUE --service-account={custom_service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --create-disk=auto-delete=yes,boot=yes,device-name={vm_name},image=projects/debian-cloud/global/images/family/debian-12,mode=rw,size=30,type=projects/{project_id}/zones/{zone}/diskTypes/pd-balanced --shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --reservation-affinity=any |
7-field JSON (project, zone, name, "machineType": "e2-standard-2", "imageProject": "debian-cloud", "imageFamily": "debian-12", "maintenancePolicy": "MIGRATE") is for default-VPC prototyping only; route hardened (--no-address, custom subnet/SA) deploys to gcloud. |
Recommend Cloud NAT for egress and IAP TCP forwarding (35.235.240.0/20, roles/iap.tunnelResourceAccessor) for SSH/RDP; never use the default Compute Engine service account; omit --quiet. |
| 2. Developer Dev/Test VM (Cost-Optimized Spot) | --machine-type=e2-medium --subnet={subnet} --no-address --metadata=enable-oslogin=TRUE --service-account={custom_service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --provisioning-model=SPOT --instance-termination-action=DELETE --maintenance-policy=TERMINATE --no-restart-on-failure --create-disk=auto-delete=yes,boot=yes,device-name={vm_name},image=projects/debian-cloud/global/images/family/debian-12,mode=rw,size=20,type=projects/{project_id}/zones/{zone}/diskTypes/pd-standard --shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring |
CLI/REST only—Compute Engine MCP create_instance does not support Spot scheduling (--provisioning-model=SPOT, --instance-termination-action), --no-address, or custom subnets/service accounts. |
Warn that Spot VMs can be preempted at any time (for stateless workloads only); use DELETE or STOP (never TERMINATE) on --instance-termination-action; include teardown command without --quiet. |
| 3. High-Performance General Purpose & Compute-Heavy | 3rd-gen (c3-standard-4 / n2-standard-4): --machine-type=c3-standard-4 --subnet={subnet} --no-address --metadata=enable-oslogin=TRUE --service-account={custom_service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --create-disk=auto-delete=yes,boot=yes,device-name={vm_name},image=projects/debian-cloud/global/images/family/debian-12,mode=rw,size=100,type=projects/{project_id}/zones/{zone}/diskTypes/pd-ssd --maintenance-policy=MIGRATE --shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring (for 4th-gen c4-standard-4 / n4-standard-4, replace --subnet/--no-address with --network-interface=subnet={subnet},no-address,nic-type=GVNIC, use debian-13, and use hyperdisk-balanced) |
Default-VPC 3rd-gen prototyping only ("machineType": "c3-standard-4"); route custom-disk, 4th-gen Hyperdisk, and private-subnet deploys to gcloud. |
Warn about continuous pd-ssd/Hyperdisk storage billing, 4th-gen Hyperdisk requirement (pd-* rejected on C4/N4/C4A), and accurate Day-0 mutability (disk shrink/type change uses snapshot + detach-disk/attach-disk --boot swap; stopped VMs rename via gcloud compute instances set-name and update subnet via network-interfaces update; VM recreation required for zone, CPU arch, or Encrypted-Memory VM). |
| 4. GPU Workstation (ML Inference) | --machine-type=g2-standard-4 --accelerator=type=nvidia-l4,count=1 --subnet={subnet} --no-address --metadata=enable-oslogin=TRUE --service-account={custom_service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --maintenance-policy=TERMINATE --create-disk=auto-delete=yes,boot=yes,device-name={vm_name},image=projects/deeplearning-platform-release/global/images/family/common-cu129-ubuntu-2404-nvidia-580,mode=rw,size=100,type=projects/{project_id}/zones/{zone}/diskTypes/pd-balanced --shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring |
8-field JSON ("project": "{project_id}", "zone": "{zone}", "name": "{vm_name}", "machineType": "g2-standard-4", "imageProject": "deeplearning-platform-release", "imageFamily": "common-cu129-ubuntu-2404-nvidia-580", "guestAccelerators": [{"acceleratorType": "nvidia-l4", "acceleratorCount": 1}], "maintenancePolicy": "TERMINATE") is for default-VPC prototyping only; route hardened deploys to gcloud. |
Warn about high GPU hourly costs, required regional GPU quota verification, and that GPU VMs do not support live migration (--maintenance-policy=TERMINATE is mandatory; never set MIGRATE). |
5. Bare Metal Instance (-metal) |
--machine-type=c3-standard-192-metal --network-interface=subnet={subnet},no-address,nic-type=IDPF --maintenance-policy=TERMINATE --metadata=enable-oslogin=TRUE --service-account={custom_service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --create-disk=auto-delete=yes,boot=yes,device-name={vm_name},image=projects/debian-cloud/global/images/family/debian-13,mode=rw,size=200,type=projects/{project_id}/zones/{zone}/diskTypes/hyperdisk-balanced --no-shielded-secure-boot (never combine --network-interface with top-level --subnet or --no-address; omit --shielded-vtpm) |
CLI/REST only—unsupported by Compute Engine MCP create_instance. |
Warn about dedicated whole-host costs/quota, mandatory hyperdisk-balanced (pd-* and Windows unsupported), mandatory debian-13 (debian-12 unsupported on C3-metal, C4-metal, and X4), mandatory nic-type=IDPF (GVNIC/VIRTIO_NET unsupported), and no live migration. |
Instructions & Guardrails
- EARLY EXECUTION FORK & MCP BOUNDARY: Never pass unsupported REST fields
(
instance,disks,networkInterfaces,serviceAccounts,shieldedInstanceConfig,scheduling) or prefixed machine URIs (zones/{zone}/machineTypes/...) to MCPcreate_instance, and always route hardened (--no-address, custom subnet, custom SA, Shielded VM, OS Login), Spot, custom-disk, 4th-gen, and-metalcreations togcloud compute instances create. - FAST CONVERSATIONAL INTAKE (NO SHELL COMMANDS ON MISSING INPUTS): When any
mandatory input (Project ID, VM name, region/zone, or public vs.
private networking) is missing from the user's prompt, ask for all missing
inputs directly in your first reply (explaining regional latency benefits and
recommending private networking) without running
gcloud config list,gcloud --version, or any shell discovery commands first. - PUBLIC IP REMEDIATION CHECKLIST: Whenever a user requests a public IP or
direct internet SSH exposure:
- Warn clearly about public internet scanners and SSH/RDP brute-force risks.
- Recommend both Identity-Aware Proxy (IAP) TCP forwarding
(
35.235.240.0/20,roles/iap.tunnelResourceAccessor) for SSH/RDP and Cloud NAT for outbound internet access with--no-address. - Include
--metadata=enable-oslogin=TRUEand all three Shielded VM flags (--shielded-secure-boot,--shielded-vtpm,--shielded-integrity-monitoring) on virtualized VMs. - Recommend a custom, least-privilege service account instead of the default Compute Engine service account.
- ACCURATE DAY-0 MUTABILITY WARNINGS: Explain accurately that:
- Disks: Persistent Disks and Hyperdisks cannot shrink in-place, and
changing disk type requires creating a new disk from a snapshot and swapping
it on a stopped VM (
detach-disk/attach-disk --boot) without recreating the VM instance. - Networking & Renaming: Stopped (
TERMINATED) standalone IPv4 VMs can migrate VPC/subnet in-place (gcloud compute instances network-interfaces update; only NIC countnic1+is fixed at creation) and can be renamed in-place viagcloud compute instances set-namewith--new-nameand--zone(see Rename a VM and Update instance properties). - True VM Recreation: Properties requiring full VM recreation are
zone, CPU architecture (
x86_64vs.ARM64), and Encrypted-Memory VM (AMD SEV-SNP or Intel TDX) enablement.
- Disks: Persistent Disks and Hyperdisks cannot shrink in-place, and
changing disk type requires creating a new disk from a snapshot and swapping
it on a stopped VM (
- 4TH-GEN & BARE METAL HARDWARE CONSTRAINTS: Never pair
pd-*disks with 4th-generation (C4,N4,C4A,C4D,M4,X4,A4, which requirehyperdisk-balancedandnic-type=GVNIC;N4supportshyperdisk-balancedandhyperdisk-throughput, nothyperdisk-extreme) or bare metal (-metal) instances. Whenever recommending or generating a bare metal (-metal) configuration (C3-metal,C4-metal), always explicitly state in your reply that: (1)pd-*disks are unsupported (hyperdisk-balancedis mandatory), (2)debian-13is required becausedebian-12is unsupported onC3-metal,C4-metal, andX4, (3)--network-interface=subnet={subnet},no-address,nic-type=IDPFis required without conflicting top-level--subnetor--no-addressflags (becauseGVNICandVIRTIO_NETare unsupported on-metal), and (4)--maintenance-policy=TERMINATE,--metadata=enable-oslogin=TRUE, and--no-shielded-secure-boot(omitting--shielded-vtpm) are required. - MANDATORY GPU & SPECIALIZED HARDWARE WARNINGS: Whenever recommending or
generating a GPU (
G2,A3,A4), bare metal (-metal), or high-performance VM configuration (including in"Do not execute"or MCP JSON comparisons), always explicitly include in your reply: (1) a warning about high GPU or dedicated-host hourly compute costs, (2) a reminder to verify regional GPU/CPU quota in the target project, and (3) that GPU and bare metal instances do not support live migration (--maintenance-policy=TERMINATEis mandatory). - HANDLE
ZONE_RESOURCE_POOL_EXHAUSTED: Explain that zonal capacity errors are physical hardware shortages (not fixable via quota increases) and guide users to alternate zones, alternate machine series, or reservations per Troubleshoot resource availability errors. - FREE TIER ELIGIBILITY & BILLING ACCOUNT REQUIREMENT: Whenever a user asks
about Google Cloud Free Tier eligibility for Compute Engine, always explicitly
state all four requirements in your reply: (1) only one non-preemptible
e2-microinstance per month is covered (e2-smalland larger are billed), (2) only inus-west1,us-central1, orus-east1, (3) up to 30 GB ofpd-standardStandard Persistent Disk (pd-balancedandpd-ssdare billed), and (4) an active billing account is still required on the Google Cloud project even for Free Tier usage. - ALWAYS INCLUDE SAFE TEARDOWN COMMANDS: Always provide
gcloud compute instances delete {vm_name} --zone={zone} --delete-disks=all(omitting--quieton all copy-pasteable manualcreateanddeletecommands) so users can prevent orphaned compute and disk charges safely. - MODE-AWARE CONFIRMATION: Require explicit user confirmation before
executing provisioning in Automated Execution mode; in Manual /
"Do not execute"mode, prompt the user to review{snake_case}placeholders and flags before running the command themselves rather than offering to execute it.
04 同仓库更多 Skills
cloud-operator-share-context
Shares Google Cloud operating context the user or their team already have — environments, projects, services and regions, product preferences, best practices, architecture guidance, runbooks — found in agent instruction files, local memory, skills and workflows, and the repository's GCP docs, with the operator agent's memory after the user reviews the list. Use when the user runs this skill, accepts the cloud-operator or cloud-operator-setup skill's offer to share their existing Google Cloud context, or asks to share, import or save that context or a GCP fact for the operator agent. Don't use for ordinary GCP requests, which go to the cloud-operator skill.
cloud-operator-setup
Sets up the operator agent in a Google Cloud project via the autocloud MCP server: picks the operator project, creates or checks the user's operator agent, saves the project, and offers to share the user's existing Google Cloud operating context with the operator agent's memory. Use when the user runs this skill, asks to set up the operator or create their operator agent, or chooses setup when the cloud-operator skill asks. Don't use for ordinary GCP requests or installing gcloud.
developer-device-platform-device-run
Runs automated, non-interactive jobs on remote Android devices with Developer Device Platform (DDP) Device Run using `gcloud beta device-run sessions`: native Android executables or shell scripts (for example CLI tools, custom runners, test harnesses or benchmarks) and Android instrumentation tests, on one or many devices, then waits for completion and collects per-device outputs and logs. Use when running a binary or test suite on remote devices without an interactive connection. Don't use it for interactive device reservations, adb tunnels or screen streaming (use developer-device-platform-basics), or for local devices.
agent-platform-autorater-customization
Customizes an autorater (evaluation metric) for an AI agent so its grades match the user's own judgment, starting from the agent's real trajectories. Use when a user wants a metric tailored to their agent, wants to turn failing trajectories into rubrics, says an existing autorater grades their agent wrong, or wants an autorater to agree with human labels (autorater hillclimbing, judge calibration). Don't use for quick evals with built-in metrics or for improving the agent itself (use agent-platform-eval-flywheel).
iap-agent-platform-troubleshooting
Diagnoses Identity-Aware Proxy (IAP) denials of outbound requests from Gemini Enterprise Agent Platform agents that run on Agent Runtime and send traffic through Agent Gateway. Use when an agent request fails with "Egress request is not authorized", when Cloud Audit Logs show an IAP egressViaIAP decision with granted false, when IAP audit entries are missing while debugging agent egress, or when Access policies, IAP allow policies, policy bindings, or Agent Registry entries might block agent egress. Don't use for Gemini model IAM permission errors (such as aiplatform.endpoints.predict), Agent Platform API errors, or Agent Runtime deployment or 500 errors (use agent-platform-troubleshooting instead). Don't use for setting up, creating, or connecting an Agent Gateway, or for IAP web apps, IAP TCP forwarding, or SSH.
bigquery-migration-validator
Validates that tables migrated to BigQuery match their source (Teradata, Snowflake, Oracle, Redshift, Databricks, PostgreSQL, SQL Server, MySQL, MariaDB, Hive, Impala, Vertica) with the BigQuery Migration Service (BQMS) validation tool: schema and data type comparison, column aggregate comparison, and row-level data comparison. Use when generating or editing a validation config, running a validation, choosing sampling or partitioning, fixing connection or driver errors, or investigating validation results in BigQuery and Cloud Storage to decide which mismatches to fix. Don't use for SQL translation (use bigquery-migration-sql-translator), extracting source database catalog metadata or query logs, generating SQL scripts (such as COPY INTO) or exporting or unloading source tables to Parquet on Cloud Storage, loading staged files into BigQuery (such as bq load), or general BigQuery query failures and tuning (use bigquery-troubleshooting or bigquery-optimization).