Happy Infra Metrics and Grafana
slopus/happy
Queries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API.
Generates valid PromQL queries for Cloud Monitoring metrics from metric descriptors and resource parameters, with a validator script and error-recovery notes.
$ npx skills add google/skills --skill cloud-monitoring-promql-query -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/skills cloud-monitoring-promql-query --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cloud/cloud-monitoring-promql-query .claude/skills/cloud-monitoring-promql-query && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cloud-monitoring-promql-query" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-query into .claude/skills/cloud-monitoring-promql-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-monitoring-promql-query", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-queryType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google/skills --skill cloud-monitoring-promql-query -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/skills cloud-monitoring-promql-query --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cloud/cloud-monitoring-promql-query .agents/skills/cloud-monitoring-promql-query && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cloud-monitoring-promql-query" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-query into .agents/skills/cloud-monitoring-promql-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-monitoring-promql-query", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/skills --skill cloud-monitoring-promql-query -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/skills cloud-monitoring-promql-query --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cloud/cloud-monitoring-promql-query .cursor/skills/cloud-monitoring-promql-query && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cloud-monitoring-promql-query" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-query into .cursor/skills/cloud-monitoring-promql-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-monitoring-promql-query", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google/skills.git --path skills/cloud/cloud-monitoring-promql-query--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google/skills --skill cloud-monitoring-promql-query -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/skills cloud-monitoring-promql-query --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cloud/cloud-monitoring-promql-query .gemini/skills/cloud-monitoring-promql-query && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cloud-monitoring-promql-query" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-query into .gemini/skills/cloud-monitoring-promql-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-monitoring-promql-query", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google/skills cloud-monitoring-promql-queryInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google/skills --skill cloud-monitoring-promql-query -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cloud/cloud-monitoring-promql-query .github/skills/cloud-monitoring-promql-query && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cloud-monitoring-promql-query" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-query into .github/skills/cloud-monitoring-promql-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-monitoring-promql-query", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/skills --skill cloud-monitoring-promql-query -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/skills cloud-monitoring-promql-query --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cloud/cloud-monitoring-promql-query .opencode/skills/cloud-monitoring-promql-query && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cloud-monitoring-promql-query" agent skill from https://github.com/google/skills/tree/main/skills/cloud/cloud-monitoring-promql-query into .opencode/skills/cloud-monitoring-promql-query/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloud-monitoring-promql-query", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cloud-monitoring-promql-queryGenerates valid PromQL queries for Cloud Monitoring metrics from metric descriptors and resource parameters, with a validator script and error-recovery notes.
Before anything else, the agent must know the Google Cloud project ID. It looks in your prompt, then tries `gcloud config get-value project`, and if both fail it stops and asks you rather than writing a query with a made-up value. Next it needs the metric's descriptor fields, such as `metric.type`, `metricKind`, `valueType` and the monitored resource types.
Descriptors you supply are used directly. For a vague request like VM CPU usage, the agent turns to the `cloud-monitoring-metric-selection` skill. For a known metric type it calls the `google-cloud-monitoring:list_metric_descriptors` MCP tool, falling back to a direct Cloud Monitoring API call. The skill ships `scripts/validate_promql.py` with a test file, plus references on basic aggregations and error recovery. It is not meant for raw metric discovery.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4b940dd. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3pipgcloudFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.cloud.google.commonitoring.googleapis.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cloud Monitoring PromQL Generator loads about 2.6k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 1,058 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from google/skills at commit 4b940dd, republished under its Apache-2.0 licence (© google). 1,058 words, ~2,586 tokens.
.claude/skills/cloud-monitoring-promql-query/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Use this skill to generate a valid PromQL query from any Cloud Monitoring metric type. This guide applies to all Cloud Monitoring metric types by mapping Cloud Monitoring metric and resource descriptors to PromQL structures.
Before performing any other actions (such as searching code, reading references, or running validation), you MUST verify whether the Google Cloud Project ID is available:
gcloud config get-value project to attempt to resolve it from the
environment.gcloud command fails, returns an empty string, or is unavailable,
you MUST immediately stop. Do NOT generate a PromQL query, do not run the
validation script, and do not use placeholders (like YOUR_PROJECT_ID). You
must refuse to proceed and ask the user to provide the Project ID.metric.type, metricKind, valueType,
or monitoredResourceTypes) or specific resource filter values, use those
values directly instead of calling the Cloud Monitoring API.metric.type, metricKind, valueType) are missing or underspecified,
resolve the target metric type's descriptor using one of these paths:"VM CPU usage"),
use the cloud-monitoring-metric-selection skill first to identify the
specific metric type.compute.googleapis.com/instance/cpu/utilization) but
need its descriptor, call the
google-cloud-monitoring:list_metric_descriptors MCP tool. If the tool
is missing, refer to the cloud-monitoring-metric-selection skill to
configure the Cloud Monitoring MCP server.type: The Cloud Monitoring metric type string.metricKind: GAUGE, DELTA, or CUMULATIVE.valueType: INT64, DOUBLE, DISTRIBUTION, or BOOL.monitoredResourceTypes: Compatible resource.type strings
required for resource scoping and grouping.To filter data by a specific resource instance, apply these resource rules and discovery protocols:
Monitored Resource Filter: Always include the
monitored_resource="<type>" filter in your query to prevent collisions
across services that share metric names.
monitored_resource="gae_app"Preserve User Literals (CRITICAL): ALWAYS use the literal resource names, namespaces, and IDs provided in the user's prompt. Do NOT override or replace these values with active resource names found during Cloud Monitoring discovery unless the user explicitly asked you to find active resources. Telemetry discovery must only be used to identify metric type names and label keys, not to override user input.
Resource Identifier Mapping:
version_id, cluster_name."instance-1"), but the resource schema uses numeric IDs (like
instance_id), use PromQL string name labels instead of numeric ID
labels. Example: instance_name, metadata_system_name.project_id and sub-resource
labels. Example: database_id="{project_id}:{instance_name}".Resource Label Discovery: The
google-cloud-monitoring:list_metric_descriptors tool only returns
metric-specific labels. If the label schema for a monitored resource is
unknown, fetch the resource descriptor directly from the Cloud Monitoring v3
REST API (projects.monitoredResourceDescriptors.get):
TOKEN=$(gcloud auth application-default print-access-token 2>/dev/null || gcloud auth print-access-token)
curl -s -H "Authorization: Bearer ${TOKEN}" \
"https://monitoring.googleapis.com/v3/projects/{project_id}/monitoredResourceDescriptors/{monitored_resource_type}"An HTTP 200 OK response returns the MonitoredResourceDescriptor object
containing the labels array with the exact resource label keys for that
resource.
The query structure and aggregation functions (such as rate,
histogram_quantile, sum, or avg) depend on the metric type and how it is
visualized.
topk(30, avg_over_time(...)).agent.googleapis.com/memory/percent_used and
agent.googleapis.com/disk/percent_used require {state!="free"}. Do
NOT filter by {state="used"}.Before presenting any PromQL queries, validate them using the linter:
Before executing the validation script (scripts/validate_promql.py), install
the required Python dependencies:
python3 -c "import promql_parser" || pip install promql-parser/) to separate the domain from the path.storage.googleapis.com/network/received_bytes_count -> domain
storage.googleapis.com, path network/received_bytes_count.) in the domain with
underscores (_).storage.googleapis.com ->
storage_googleapis_com.) and slashes (/) in
the path with underscores (_).network/received_bytes_count ->
network_received_bytes_count:).storage_googleapis_com:network_received_bytes_countup -> up, http_requests_total ->
http_requests_totalvalueType is
DISTRIBUTION, append _bucket to the end of the normalized name.cloudfunctions.googleapis.com/function/execution_times ->
cloudfunctions_googleapis_com:function_execution_times_bucket# or
//). Cloud Monitoring query translation collapses whitespace and can
cause code trailing a comment to be ignored or throw parsing errors.by (label)) only follow aggregation operators (such as sum, avg,
min, max, or count). Never place a grouping clause directly after
a metric selector.metric{...} by (label)sum(rate(metric{...}[5m])) by (label)promql code block in your final response.python3 <path_to_skill>/scripts/validate_promql.py --query '<q1>' '<q2>'© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/cloud/cloud-monitoring-promql-query of google/skills.
Open the folder on GitHubat commit 4b940dd
Cloud Monitoring PromQL Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cloud Monitoring PromQL Generator this skillgoogle/skills | 21k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Happy Infra Metrics and Grafanaslopus/happy | 24k | — | ~2k | Automated safety check: Notes | MIT | |
| WizTelemetry Platform Servicekubesphere/kubesphere | 17k | — | ~1.8k | Automated safety check: Pass | Custom licence | |
| Redis Observabilityredis/agent-skills | 166 | 2 repos | ~911 | Automated safety check: Pass | MIT | |
| Developing Funboost Mixinydf0509/funboost | 895 | — | ~2.1k | Automated safety check: Pass | None | |
| Prometheus System Health Checkprometheus/prometheus-mcp | 121 | — | ~584 | Automated safety check: Pass | Apache-2.0 |
slopus/happy
Queries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API.
kubesphere/kubesphere
Installs and configures the WizTelemetry Platform Service extension for KubeSphere, the shared API server behind its observability extensions.
redis/agent-skills
Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO…
ydf0509/funboost
当需要为 funboost 创建 Consumer 或 Publisher 的 Mixin 扩展类时使用。触发场景:添加监控、熔断、限流、链路追踪等横切关注点,编写自定义前置/后置处理钩子。关键词:mixin, consumeroverridecls, publisheroverridecls, ConsumerMixin, 自定义消费者, hook, 拦截器, 熔断器, 监控…
prometheus/prometheus-mcp
Builds a picture of whether Prometheus itself is healthy and successfully monitoring its targets, covering readiness, firing alerts, target health and TSDB load.
archestra-ai/archestra
A skill your agent uses when changing Archestra tracing, metrics, OpenTelemetry, Tempo, Grafana, Prometheus, LLM/MCP spans, observability labels, or local observability setup.
google/skills
Query Cloud Trace spans, filter by latency thresholds or error status, correlate distributed traces with Cloud Logging, and diagnose latency bottlenecks across Google Cloud services.
google/skills
Manages Google Cloud Privileged Access Manager entitlements and grants: create and edit entitlements, request temporary access, and approve or deny pending grants.
google/skills
Writes Terraform alerting policies for AI agents that emit OpenTelemetry metrics, covering reliability, cost, safety, security and quality signals on Google Cloud.
google/skills
Deploys open models or custom weights from Model Garden to Agent Platform endpoints, checks deployment status and cleans up endpoints, confirming before any change.
google/skills
Searches, manages and scaffolds skills in the Gemini Enterprise Agent Platform Skill Registry using bundled Python scripts and Google Cloud credentials.
google/skills
Designs GCP infrastructure as local Terraform, validates and scans it against best practices, then imports it to Application Design Center for deployment and troubleshooting.
Works with
Categories
Generates valid PromQL queries for Cloud Monitoring metrics from metric descriptors and resource parameters, with a validator script and error-recovery notes. Before anything else, the agent must know the Google Cloud project ID. It looks in your prompt, then tries `gcloud config get-value project`, and if both fail it stops and asks you rather than writing a query with a made-up value.
Cloud Monitoring PromQL Generator fits situations like: writing a PromQL query for a Cloud Monitoring metric type; building a PromQL aggregation that filters on Cloud Monitoring resource parameters; recovering from a PromQL error returned for a Cloud Monitoring query.
Run `npx skills add google/skills --skill cloud-monitoring-promql-query -a claude-code`. Or copy the skill folder (skills/cloud/cloud-monitoring-promql-query in google/skills) into .claude/skills/cloud-monitoring-promql-query in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/skills --skill cloud-monitoring-promql-query -a codex`. Or copy the skill folder (skills/cloud/cloud-monitoring-promql-query in google/skills) into .agents/skills/cloud-monitoring-promql-query in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/skills --skill cloud-monitoring-promql-query -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cloud-monitoring-promql-query, .gemini/skills/cloud-monitoring-promql-query, .github/skills/cloud-monitoring-promql-query and .opencode/skills/cloud-monitoring-promql-query in your project.
Going by SKILL.md and its folder, Cloud Monitoring PromQL Generator needs Python for the scripts in its folder and the command-line tools its instructions call (python3, pip and gcloud). Our summary lists: A Google Cloud project ID, given in the prompt or set in `gcloud`; Python 3 for `scripts/validate_promql.py`; The Cloud Monitoring MCP server or API access to fetch descriptors.
SKILL.md names 2 domains. As links in the text: docs.cloud.google.com and monitoring.googleapis.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cloud Monitoring PromQL Generator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cloud Monitoring PromQL Generator: Happy Infra Metrics and Grafana (slopus/happy, 24k stars), WizTelemetry Platform Service (kubesphere/kubesphere, 17k stars), Redis Observability (redis/agent-skills, 166 stars) and Developing Funboost Mixin (ydf0509/funboost, 895 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google (a GitHub organization, an official publisher) maintains it in google/skills, which has 21,097 GitHub stars. The repository holds 150 skills in this directory. The repository was last updated on October 9, 2026.
Source: google/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.