Skip to content

Guide · Agent skill

How to use the Cloud Monitoring Notification Channels agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

This guide explains how to install and use the cloud-monitoring-notification-channels-configuration agent skill from google/skills. It is for engineers who manage Google Cloud alerting as Terraform and want an AI agent to write the configuration that sends alerts to email, SMS, Slack, PagerDuty, Pub/Sub or webhooks. After reading, you will know what the skill does, how to install it, how to phrase requests so it triggers, and what it needs from your Google Cloud setup.

Cloud Monitoring Notification Channelsgoogle/skills · Apache-2.0

Quick start

  1. 1Download the ZIP. Download the skill ZIP from this page and unzip it on your computer.
  2. 2Place the folder. Move the unzipped skill into ~/.claude/skills/ for all projects, or into the project's .claude/skills/ folder for one project.
  3. 3Or upload it in the Claude apps. In the Claude apps, open Settings → Capabilities → Skills and upload the skill.
  4. 4Prepare gcloud. Run gcloud auth login and gcloud auth application-default login, then set your project with gcloud config set project {project_id}.
  5. 5Ask in plain language. Describe the channel type, the destination and the alert policy in a request, such as adding a Slack channel to an existing policy.
  6. 6Review the Terraform. Check the generated .tf file, which is written to your project or to monitoring/notification_channels.tf by default, before any deployment.

What does the skill make the agent do?

When installed, the agent writes Terraform configuration files that create Google Cloud Monitoring notification channels. A notification channel is the destination that receives alerts, such as email, SMS, Slack, PagerDuty, Pub/Sub or a webhook. The agent can also attach those channels to existing alerting policies.

For Pub/Sub channels, the skill runs a bundled script, scripts/verify_pubsub_topic.sh, to check that the topic exists, that the Cloud Monitoring Service Agent can publish to it, and that the topic does not use a message storage policy or in-transit enforcement, which would block delivery.

  • Writes .tf files using the google_monitoring_notification_channel resource
  • Adds channels to google_monitoring_alert_policy resources
  • Verifies Pub/Sub topic compatibility and publishing permissions
  • Follows the bundled guidance on permissions, project setup and attribution

What the skill will not do

The skill is limited on purpose. It tells the agent not to author or edit alerting policy conditions, select metric descriptors, or write PromQL or Monitoring filter queries. If you need those, use a different workflow.

It also only outputs Terraform (.tf) files. It will not create channels by clicking in the console or by using other tools.

Install the skill from the ZIP download

Download the ZIP for this skill from this page and unzip it. Then place the folder in one of the two locations below. Use your user-level folder to make the skill available in every project, or a project folder to limit it to one repository.

  • User-wide: unzip into ~/.claude/skills/
  • Project-only: unzip into the project's .claude/skills/ folder
  • Claude apps: upload the skill under Settings → Capabilities → Skills

Trigger the skill with a natural request

You do not need to type the skill name. The skill's description tells the agent when to use it, so ask for the outcome in plain language. Name the channel type and, if relevant, the alert policy you want to attach it to. Mention the project if you have one in mind, since the agent will use a project ID you provide or the one set in gcloud.

  • Create a Slack notification channel for project my-prod-project and attach it to the existing CPU alert policy.
  • Add a PagerDuty channel to our alerting policies in the monitoring/ folder.
  • Set up a Pub/Sub notification channel that publishes to projects/shared-ops/topics/alerts and check that the topic is valid for Cloud Monitoring.
  • Write a webhook notification channel in Terraform and do not deploy it.

Requirements before the agent can deploy

Writing Terraform files needs only the agent and the skill. Running discovery or deployment commands needs more. The skill expects the Google Cloud SDK (gcloud) for discovery and deployment, an authenticated gcloud session with Application Default Credentials, and a Google Cloud project with billing enabled. The Terraform CLI is needed only when you ask for deployment.

The principal you use needs permission to manage notification channels. The predefined role is roles/monitoring.notificationChannelEditor, plus roles/monitoring.alertPolicyEditor when attaching a channel to an existing alert policy. A custom role with the equivalent monitoring.notificationChannels.* and monitoring.alertPolicies.* permissions also works.

  • Terraform CLI: only if you ask for deployment
  • Google Cloud SDK (gcloud) for discovery and deployment
  • Authenticated gcloud session and Application Default Credentials
  • Google Cloud project with billing enabled
  • Monitoring and Pub/Sub permissions (notificationChannelEditor role or an equivalent custom role)
gcloud auth login gcloud auth application-default login gcloud config set project {project_id}

Safety notes: scripts and network access

This skill runs scripts and uses the network. The bundled script, scripts/verify_pubsub_topic.sh, makes calls to Google Cloud to check topics and permissions. Discovery commands such as gcloud beta monitoring channels list read your project. Review the SKILL.md and the script before you run them in a sensitive environment.

The skill also sets a usage attribution tag on gcloud commands run in the terminal. It sets this inline on each command rather than with gcloud config set, so the tag does not persist after the task.

  • Only run the Pub/Sub script with the project and topic you intend to check
  • Deployment is blocked until billing is active and the required permissions are present
  • PERMISSION_DENIED errors stop the agent so a project administrator can grant access

Tips for good results

Give the agent the exact project ID and, for Pub/Sub, the full topic path in the form projects/{topic_project_id}/topics/{topic_name}. If you do not give a path, the agent looks for an existing monitoring/, ops/ or sre/ directory and writes notification_channels.tf there.

Keep alert conditions out of the request. If you want a new alert condition, write that part yourself or use a separate tool, then ask the skill to attach the channel.

  • Ask for Terraform only if you do not want to deploy yet
  • Specify the destination details such as the Slack channel or email address up front
  • Expect the agent to ask for a 32-character key for PagerDuty if you do not supply one

What people use it for

  • Adding a Slack channel to an existing Cloud Monitoring alert policy as Terraform
  • Setting up a PagerDuty destination with a 32-character integration key provided by the user
  • Checking that a shared Pub/Sub topic in another project can receive Cloud Monitoring alerts
  • Creating email or SMS channels for an on-call team in a monitoring/ Terraform directory
  • Generating webhook channel configuration for a custom incident tool

Frequently asked questions

How do I install the cloud monitoring notification channels agent skill?

Download the ZIP for this skill from this page and unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.

Is this skill free to use?

The skill is published under the Apache-2.0 licence, as listed on this page. The licence terms govern use, and this page does not state any price.

What do I need to run it?

Writing Terraform files needs only the agent and the skill. Deploying or running discovery commands needs the gcloud SDK, an authenticated session with Application Default Credentials, a project with billing enabled, and Monitoring permissions such as roles/monitoring.notificationChannelEditor or an equivalent custom role.

Can it change my alert conditions or write PromQL?

No. The skill explicitly tells the agent not to author or edit alerting policy conditions, select metric descriptors, or write PromQL or Monitoring filter queries.

Why does my Pub/Sub channel fail verification?

The skill's script checks that the topic exists, that the Cloud Monitoring Service Agent has roles/pubsub.publisher on it, and that the topic has no message storage policy and no in-transit enforcement. Cloud Monitoring cannot deliver to a topic that has either of those settings, so use a different topic.

Does it work with setups that are not Terraform?

No. The skill only outputs .tf files and will not create channels through the console or other tools. Use it only if your alerting is managed as Terraform code.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits platform and SRE engineers who manage Google Cloud alerting as Terraform and need to add Slack, PagerDuty, Pub/Sub or other destinations to existing alert policies. It is a poor fit if you need help writing alert conditions or PromQL, or if you do not use Terraform, because the skill excludes both.

Download the skill