Skip to content
Development
Skill

/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

From plugin
google-skills
17k104 skills
Install
$ npx -y skills add google/skills --skill google-cloud-slo-alert-configuration --agent claude-code

How 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.md
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
Read more
Ships withgoogle-skills

This repository contains Agent Skills for Google products and technologies, including Google Cloud. This repository is under active development.

Get the whole plugin

Other skills on google-skills.