/google-cloud-slo-alert-configuration
Configures PromQL-based Service Level Objective (SLO) alerting policies for Google Cloud resources registered in App Hub or individually specified. Generates Terraform output. Use when the user asks to configure an SLO or Service Level Objective. Don't use for standard alerting
$ npx -y skills add google/skills --skill google-cloud-slo-alert-configuration --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/google-cloud-slo-alert-configuration
Context preview
The summary Claude sees to decide when to auto-load this skill.
Configures PromQL-based Service Level Objective (SLO) alerting policies for Google Cloud resources registered in App Hub or individually specified. Generates Terraform output. Use when the user asks to configure an SLO or Service Level Objective. Don't use for standard alerting
SKILL.md
google-cloud-slo-alert-configuration.SKILL.mdname: google-cloud-slo-alert-configuration
metadata:
category: CloudObservabilityAndMonitoring
description: >-
Configures PromQL-based Service Level Objective (SLO) alerting policies for Google Cloud
resources registered in App Hub or individually specified. Generates Terraform output.
Use when the user asks to configure an SLO or Service Level Objective.
Don't use for standard alerting policies.
SLO Alert Configuration Setup Wizard
This skill guides the user through a structured conversation to configure PromQL-based Service Level Objective (SLO) alerting policies in Terraform. Your role is to act as a setup wizard that conceptually models the 4 key components of an SLO API (Service Scope, Service Level, SLI, and Alert Condition), gathers the requirements, and outputs a Terraform configuration.
CRITICAL RULES
- **Structured Conversation**: You **MUST** follow the 4-step wizard workflow
below.
- **Gather Missing Information**: Evaluate all 4 steps below first. Ask the
user for all missing information across all steps in a single response.
- **DO NOT** stop after finding the first missing piece of information.
- **DO NOT** use the `ask_question` tool. You must ask questions using
plain text in your response and end your turn to wait for the user to reply.
- **DO NOT** write the Terraform configuration if information is missing.
- **Skip What Is Known**: If the user has already provided information for a
step in their previous messages or initial prompt **DO NOT** ask them for it. Move to the next missing piece of information. If ALL information for Steps 1-4 is provided, call `write_to_file` to generate the Terraform configuration without asking for permission to proceed.
- **Provide Best Practices**: Whenever you ask the user a question, you
**MUST** explicitly state the recommended "Best Practice".
- **Best Practice Shortcut**: If the user asks for "best practices" or
similar, do not overwrite their explicit inputs. **SKIP** all remaining data gathering and keep any specific targets or custom metrics they provided. For all fields left blank, apply the recommended defaults defined in the "SRE Best Practice Suggestion" of each step.
- **Terraform Output**: Write the generated observability configuration ONLY
as Terraform (`.tf`) files using the `google_monitoring_alert_policy` resource and `condition_prometheus_query_language` resources.
- **Alert Strategy**: **ALWAYS** include an `alert_strategy` block with an
`auto_close` setting. Leave `notification_channels` empty unless the user provides one. Provide plain-English explanations of the PromQL math before finalizing the conversation.
--------------------------------------------------------------------------------
SETUP WIZARD WORKFLOW
Step 1: Define `ServiceScope`
1. **Check Context**: Identify target resource, service, workload, or application the user wants to monitor. If you already know, proceed. Otherwise ask the user to identify it.
2. **Autonomous Investigation**: If the user specified a project or general service name without providing specifics, autonomously use `gcloud` to discover the target services in their environment. If multiple services or workloads are discovered, list all of them and suggest applying SLO **ONLY** to the most critical backend services as a best practice.
If you struggle to identify potential resources, ask the user to specify.
3. **Identify Underlying Infrastructure**: To resolve the correct PromQL metric, you **MUST** know the underlying Google Cloud resource type.
- If the user only provides a logical name or an App Hub Service/Workload
name such as `projects/.../services/frontend` or `projects/.../workloads/backend`, you still need to know the underlying infrastructure.
- If the prompt provides the underlying infrastructure, use that
information. Do **NOT** attempt to discover it.
- If you don't know the underlying infrastructure but have a resource
identified, you **MUST** proactively use `gcloud` to discover the infrastructure. If you struggle to identify the resource type, ask the user to specify.
4. **Label Scoping**:
- If the user explicitly mentions the resource is in App Hub or provides
an App Hub URI like `projects/.../locations/.../applications/...`, use App Hub labels and consult `references/app_hub_labels.md` to identify the correct group-by fields.
- Otherwise, assume it is a standard Google Cloud resource and use
standard grouping labels such as `project_id, location, service_name` for Cloud Run.
Example gcloud commands:
- `gcloud --quiet apphub applications services list --application=-
--location=-`
- `gcloud --quiet apphub applications workloads list --application=-
--location=-`
- `gcloud --quiet asset search-all-resources`
- `gcloud --quiet run services list`
- `gcloud --quiet apphub applications services describe <service>
--application=<app> --location=<loc>`
- `gcloud --quiet apphub applications workloads describe <workload>
--application=<app> --location=<loc>`
- `gcloud --quiet asset search-all-resources --query=<name>`
**Graceful Fallback:** If a command exits with an error such as API not enabled or permission denied, **DO NOT** try to troubleshoot it and **DO NOT** use the schedule tool to wait. Immediately fall back to asking the user to provide the missing information.
Step 2: Define `ServiceLevel` Target
1. **Check Context**: If the user has already provided a Service Level Target percentage, an SLI condition/threshold, and a measurement period proceed to the next step. Otherwise, if any are missing, you **MUST** ask for them.
- Servi
Read more
name: google-cloud-slo-alert-configuration metadata: category: CloudObservabilityAndMonitoring description: >- Configures PromQL-based Service Level Objective (SLO) alerting policies for Google Cloud resources registered in App Hub or individually specified. Generates Terraform output. Use when the user asks to configure an SLO or Service Level Objective. Don't use for standard alerting policies.
SLO Alert Configuration Setup Wizard
This skill guides the user through a structured conversation to configure PromQL-based Service Level Objective (SLO) alerting policies in Terraform. Your role is to act as a setup wizard that conceptually models the 4 key components of an SLO API (Service Scope, Service Level, SLI, and Alert Condition), gathers the requirements, and outputs a Terraform configuration.
CRITICAL RULES
- **Structured Conversation**: You **MUST** follow the 4-step wizard workflow
below.
- **Gather Missing Information**: Evaluate all 4 steps below first. Ask the
user for all missing information across all steps in a single response.
- **DO NOT** stop after finding the first missing piece of information.
- **DO NOT** use the `ask_question` tool. You must ask questions using
plain text in your response and end your turn to wait for the user to reply.
- **DO NOT** write the Terraform configuration if information is missing.
- **Skip What Is Known**: If the user has already provided information for a
step in their previous messages or initial prompt **DO NOT** ask them for it. Move to the next missing piece of information. If ALL information for Steps 1-4 is provided, call `write_to_file` to generate the Terraform configuration without asking for permission to proceed.
- **Provide Best Practices**: Whenever you ask the user a question, you
**MUST** explicitly state the recommended "Best Practice".
- **Best Practice Shortcut**: If the user asks for "best practices" or
similar, do not overwrite their explicit inputs. **SKIP** all remaining data gathering and keep any specific targets or custom metrics they provided. For all fields left blank, apply the recommended defaults defined in the "SRE Best Practice Suggestion" of each step.
- **Terraform Output**: Write the generated observability configuration ONLY
as Terraform (`.tf`) files using the `google_monitoring_alert_policy` resource and `condition_prometheus_query_language` resources.
- **Alert Strategy**: **ALWAYS** include an `alert_strategy` block with an
`auto_close` setting. Leave `notification_channels` empty unless the user provides one. Provide plain-English explanations of the PromQL math before finalizing the conversation.
--------------------------------------------------------------------------------
SETUP WIZARD WORKFLOW
Step 1: Define `ServiceScope`
1. **Check Context**: Identify target resource, service, workload, or application the user wants to monitor. If you already know, proceed. Otherwise ask the user to identify it.
2. **Autonomous Investigation**: If the user specified a project or general service name without providing specifics, autonomously use `gcloud` to discover the target services in their environment. If multiple services or workloads are discovered, list all of them and suggest applying SLO **ONLY** to the most critical backend services as a best practice.
If you struggle to identify potential resources, ask the user to specify.
3. **Identify Underlying Infrastructure**: To resolve the correct PromQL metric, you **MUST** know the underlying Google Cloud resource type.
- If the user only provides a logical name or an App Hub Service/Workload
name such as `projects/.../services/frontend` or `projects/.../workloads/backend`, you still need to know the underlying infrastructure.
- If the prompt provides the underlying infrastructure, use that
information. Do **NOT** attempt to discover it.
- If you don't know the underlying infrastructure but have a resource
identified, you **MUST** proactively use `gcloud` to discover the infrastructure. If you struggle to identify the resource type, ask the user to specify.
4. **Label Scoping**:
- If the user explicitly mentions the resource is in App Hub or provides
an App Hub URI like `projects/.../locations/.../applications/...`, use App Hub labels and consult `references/app_hub_labels.md` to identify the correct group-by fields.
- Otherwise, assume it is a standard Google Cloud resource and use
standard grouping labels such as `project_id, location, service_name` for Cloud Run.
Example gcloud commands:
- `gcloud --quiet apphub applications services list --application=-
--location=-`
- `gcloud --quiet apphub applications workloads list --application=-
--location=-`
- `gcloud --quiet asset search-all-resources`
- `gcloud --quiet run services list`
- `gcloud --quiet apphub applications services describe <service>
--application=<app> --location=<loc>`
- `gcloud --quiet apphub applications workloads describe <workload>
--application=<app> --location=<loc>`
- `gcloud --quiet asset search-all-resources --query=<name>`
**Graceful Fallback:** If a command exits with an error such as API not enabled or permission denied, **DO NOT** try to troubleshoot it and **DO NOT** use the schedule tool to wait. Immediately fall back to asking the user to provide the missing information.
Step 2: Define `ServiceLevel` Target
1. **Check Context**: If the user has already provided a Service Level Target percentage, an SLI condition/threshold, and a measurement period proceed to the next step. Otherwise, if any are missing, you **MUST** ask for them.
- Servi
This repository contains Agent Skills for Google products and technologies, including Google Cloud. This repository is under active development.
Repo: google/skills
Other skills on google-skills.
- /data-manager-api-audience-ingestion
Guides developers through managing (adding, removing, and clearing) audience members for Google products using the Data Manager API and its associated client libraries. Use this skill when the user wants to upload audience members, remove specific users, or clear/replace an
Open skill - /data-manager-api-event-ingestion
Guides developers through implementing event and conversion ingestion to Google products using the Data Manager API /v1/events/ingest endpoint and its associated client libraries. Use this skill when the user wants to upload offline conversions, enhanced conversions for leads,
Open skill - /data-manager-api-setup
Guides developers through client library installation and authentication setup steps for the Data Manager API. Use this skill when a user is getting started with the Data Manager API and needs to setup their local environment, install the client library, or setup access to the
Open skill - /google-ads-api-account-diagnostics
Diagnoses Google Ads account performance issues such as conversion loss (value or volume), low lead flow/volume, and lost impression share (opportunities) due to ad rank, bids, or budgets. Use when troubleshooting sudden performance drops, analyzing campaign impression share
Open skill - /google-ads-api-mcp-setup
Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server. Use this skill when a user wants to connect their AI assistant (such as Gemini, Claude Code, or Cursor) to their Google Ads account to query campaigns or retrieve
Open skill - /google-ads-api-quickstart
Guides developers through Google Ads API quickstart: credential setup, choosing from 6 client libraries/REST, configuring environments, and running a "retrieve campaigns" script. Troubleshoots common setup errors: USER_PERMISSION_DENIED, login_customer_id issues, and
Open skill

