Archestra Dev Observability
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.
Queries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API.
$ npx skills add slopus/happy --skill metrics-graphana -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install slopus/happy metrics-graphana --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/slopus/happy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/metrics-graphana .claude/skills/metrics-graphana && 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 "metrics-graphana" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/metrics-graphana into .claude/skills/metrics-graphana/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metrics-graphana", 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/slopus/happy/tree/main/.agents/skills/metrics-graphanaType 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 slopus/happy --skill metrics-graphana -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install slopus/happy metrics-graphana --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/metrics-graphana .agents/skills/metrics-graphana && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "metrics-graphana" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/metrics-graphana into .agents/skills/metrics-graphana/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metrics-graphana", 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 slopus/happy --skill metrics-graphana -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install slopus/happy metrics-graphana --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/metrics-graphana .cursor/skills/metrics-graphana && 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 "metrics-graphana" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/metrics-graphana into .cursor/skills/metrics-graphana/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metrics-graphana", 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/slopus/happy.git --path .agents/skills/metrics-graphana--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 slopus/happy --skill metrics-graphana -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install slopus/happy metrics-graphana --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/metrics-graphana .gemini/skills/metrics-graphana && 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 "metrics-graphana" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/metrics-graphana into .gemini/skills/metrics-graphana/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metrics-graphana", 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 slopus/happy metrics-graphanaInstalls 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 slopus/happy --skill metrics-graphana -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/metrics-graphana .github/skills/metrics-graphana && 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 "metrics-graphana" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/metrics-graphana into .github/skills/metrics-graphana/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metrics-graphana", 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 slopus/happy --skill metrics-graphana -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install slopus/happy metrics-graphana --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/metrics-graphana .opencode/skills/metrics-graphana && 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 "metrics-graphana" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/metrics-graphana into .opencode/skills/metrics-graphana/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "metrics-graphana", 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.
metrics-graphanaQueries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API.
Credentials for Grafana are loaded from a gitignored .env file into the shell before any command runs, and every grafanactl and curl command in the skill references them through environment variables rather than hardcoded values. The grafanactl CLI, installed through Go, lists resource types such as dashboards and folders, pulls dashboards to disk as JSON, and pushes them back to deploy changes, with a documented edit workflow of pulling the current state, editing the JSON, and pushing it back.
A specific warning covers pushing without the omit-manager-fields flag, which marks a dashboard as provisioned and locks it from further UI edits, so that flag is used unless CLI-only management is intended. For live investigation without the Grafana UI, Prometheus can be queried directly through Grafana's datasource proxy API, with separate patterns shown for an instant query and a range query over time.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fba320e. 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.
Shell commands in SKILL.md call:
curlpython3goFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GRAFANA_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Happy Infra Metrics and Grafana loads about 2k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 422 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 noted patterns worth knowing about, such as sudo or a known installer.
Credentials are stored in the repo root `.env` file (gitignored). Load them before running commands:set -a; source .env; set +aset -a; source .env; set +aAutomated 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); files beside SKILL.md are not scanned.
The full file from slopus/happy at commit fba320e, republished under its MIT licence (© slopus). 422 words, ~1,985 tokens.
.claude/skills/metrics-graphana/SKILL.md (or your agent's skills folder).You are the observability operator for the Happy infrastructure. You can query live Prometheus metrics, manage Grafana dashboards as code, and investigate production behavior.
Credentials are stored in the repo root .env file (gitignored). Load them before running commands:
GRAFANA_URL=...
GRAFANA_USER=...
GRAFANA_PASSWORD=...
GRAFANA_PROMETHEUS_UID=...To load in shell:
set -a; source .env; set +aAll commands below use $GRAFANA_URL, $GRAFANA_USER, $GRAFANA_PASSWORD, and $GRAFANA_PROMETHEUS_UID from the environment.
go install github.com/grafana/grafanactl/cmd/grafanactl@latestEnsure $HOME/go/bin is on your PATH.
# Load env vars first
set -a; source .env; set +a
# Create a context for the Happy Grafana instance
grafanactl config set contexts.happy.grafana.server "$GRAFANA_URL"
grafanactl config set contexts.happy.grafana.user "$GRAFANA_USER"
grafanactl config set contexts.happy.grafana.password "$GRAFANA_PASSWORD"
grafanactl config set contexts.happy.grafana.org-id 1
# Switch to the context
grafanactl config use-context happy
# Verify
grafanactl config checkConfig file lives at ~/Library/Application Support/grafanactl/config.yaml (macOS) or ~/.config/grafanactl/config.yaml (Linux).
grafanactl resources list # List all resource types
grafanactl resources get dashboards # List all dashboards
grafanactl resources get folders # List all foldersgrafanactl resources pull dashboards -p ./resources -o json
grafanactl resources pull dashboards/DASHBOARD_ID -p ./resources -o json# Push all dashboards from ./resources
grafanactl resources push dashboards -p ./resources
# Push a specific dashboard
grafanactl resources push dashboards/DASHBOARD_ID -p ./resources
# IMPORTANT: Use --omit-manager-fields to keep dashboards editable from the Grafana UI
grafanactl resources push dashboards -p ./resources --omit-manager-fields
# Dry run (no changes)
grafanactl resources push dashboards -p ./resources --dry-run# 1. Pull current state
mkdir -p /tmp/grafana-work
grafanactl resources pull dashboards -p /tmp/grafana-work -o json
# 2. Edit the JSON files (add panels, modify queries, etc.)
# 3. Push back — always use --omit-manager-fields to avoid locking the UI
grafanactl resources push dashboards -p /tmp/grafana-work --omit-manager-fieldsWarning: Pushing without
--omit-manager-fieldsmarks the dashboard as "provisioned" and locks it from UI edits. Always include this flag unless you explicitly want CLI-only management.
You can query Prometheus through Grafana's datasource proxy API. This is useful for live investigation without touching the Grafana UI.
curl -s -u "$GRAFANA_USER:$GRAFANA_PASSWORD" \
--data-urlencode 'query=YOUR_PROMQL_HERE' \
"$GRAFANA_URL/api/datasources/proxy/uid/$GRAFANA_PROMETHEUS_UID/api/v1/query" \
| python3 -m json.toolcurl -s -u "$GRAFANA_USER:$GRAFANA_PASSWORD" \
--data-urlencode 'query=YOUR_PROMQL_HERE' \
--data-urlencode 'start=UNIX_TIMESTAMP' \
--data-urlencode 'end=UNIX_TIMESTAMP' \
--data-urlencode 'step=60' \
"$GRAFANA_URL/api/datasources/proxy/uid/$GRAFANA_PROMETHEUS_UID/api/v1/query_range" \
| python3 -m json.toolcurl -s -u "$GRAFANA_USER:$GRAFANA_PASSWORD" \
"$GRAFANA_URL/api/datasources/proxy/uid/$GRAFANA_PROMETHEUS_UID/api/v1/label/__name__/values" \
| python3 -c "import json,sys; [print(n) for n in json.load(sys.stdin)['data']]"# Find all RPC-related metrics
curl -s -u "$GRAFANA_USER:$GRAFANA_PASSWORD" \
"$GRAFANA_URL/api/datasources/proxy/uid/$GRAFANA_PROMETHEUS_UID/api/v1/label/__name__/values" \
| python3 -c "import json,sys; [print(n) for n in json.load(sys.stdin)['data'] if 'rpc' in n.lower()]"| Metric | Type | Description |
|---|---|---|
rpc_calls_total | counter | RPC calls by method and result (success, not_available, target_disconnected, timeout) |
rpc_call_duration_seconds_bucket | histogram | RPC call duration by method |
rpc_lookup_retries_bucket | histogram | Number of retries per socket lookup by method |
rpc_fetchsockets_timeouts_total | counter | fetchSockets timeout count by context (lookup, presence) |
websocket_connections_total | gauge | Active WebSocket connections by type |
websocket_events_total | counter | WebSocket events by type |
http_requests_total | counter | HTTP requests by method, route, status |
http_request_duration_seconds_bucket | histogram | HTTP request duration by route |
session_cache_operations_total | counter | Session cache hits/misses by operation |
session_alive_events_total | counter | Session keepalive events |
machine_alive_events_total | counter | Machine keepalive events |
database_records_total | gauge | Record counts by table |
database_updates_skipped_total | counter | Skipped DB updates by type |
# RPC success rate by method
sum by(method) (rate(rpc_calls_total{result="success"}[5m]))
/ (sum by(method) (rate(rpc_calls_total[5m])))
# RPC failures by method and reason
sum by (method, result) (rate(rpc_calls_total{result!="success"}[5m]))
# RPC failures by type only
sum by (result) (rate(rpc_calls_total{result!="success"}[5m]))
# RPC P95 latency by method
histogram_quantile(0.95, sum by (method, le) (rate(rpc_call_duration_seconds_bucket[5m])))
# Socket lookup retry distribution (P95)
histogram_quantile(0.95, sum by (method, le) (rate(rpc_lookup_retries_bucket[5m])))
# fetchSockets timeout rate by context
sum by (context) (rate(rpc_fetchsockets_timeouts_total[5m]))
# HTTP error rate
sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m]))
# Top routes by request rate
topk(10, sum by(method, route) (rate(http_requests_total[5m])))470da978-91f7-4721-be2c-cc451bf074a2When adding panels to a dashboard JSON, follow this pattern:
{"type": "prometheus", "uid": "$GRAFANA_PROMETHEUS_UID"}id (check existing panels for max id)gridPos: h = height (8 standard), w = width (12 half, 24 full), x = column (0 or 12), y = rowstat, timeseries, piechart, bargauge, tableunit: percentunit, ops, s, short, reqps--dry-run on push to preview changes--omit-manager-fields flag is essential for hybrid CLI+UI workflowsdate +%s to get current time© slopus, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/metrics-graphana of slopus/happy.
Open the folder on GitHubat commit fba320e
Happy Infra Metrics and Grafana 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 |
|---|---|---|---|---|---|---|
| Happy Infra Metrics and Grafana this skillslopus/happy | 24k | — | ~2k | Automated safety check: Notes | MIT | |
| Archestra Dev Observabilityarchestra-ai/archestra | 4.4k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Frontmcp Observabilityagentfront/frontmcp | 146 | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Monitoring Observabilityahmedasmar/devops-claude-skills | 203 | — | ~3.9k | Automated safety check: Pass | None | |
| Monitoring ExpertJeffallan/claude-skills | 12k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Alloygrafana/skills | 281 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
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.
agentfront/frontmcp
A skill your agent uses when adding tracing, structured logging, metrics, or monitoring to a FrontMCP server.
ahmedasmar/devops-claude-skills
Monitoring and observability strategy, implementation, and troubleshooting.
Jeffallan/claude-skills
Sets up application monitoring: structured logs, Prometheus metrics, OpenTelemetry tracing, Grafana dashboards, alert rules and load tests with k6 or Artillery.
grafana/skills
Build a unified telemetry pipeline with Grafana Alloy — one OpenTelemetry-compatible binary that collects metrics, logs, traces, and profiles and ships to Grafana Cloud / Prometheus / Loki / Tempo /…
context-labs/whip
Go observability — always-on production signals: slog logging, Prometheus metrics, OpenTelemetry tracing, pprof profiling, alerting, Grafana.
slopus/happy
Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.
slopus/happy
Drives a real browser from the shell with the agent-browser CLI: open pages, snapshot elements by ref, click, fill and extract, for testing web flows.
slopus/happy
Traces how an action moves through your code and draws it as a compact ASCII tree: functions called, payload types, state changes and components that re-render.
slopus/happy
Local development guide for the Happy pnpm monorepo: install, build, test and run the CLI, server, Expo app and Tauri desktop packages.
slopus/happy
Tests interactive CLI and TUI programs with Microsoft's tui-test, driving prompts, arrow keys and screen output in a real pseudo-terminal.
slopus/happy
Walks you through releasing a component of the Happy monorepo (CLI, mobile, web or server) from a clean local main that matches origin/main.
Works with
Categories
Queries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API. env file into the shell before any command runs, and every grafanactl and curl command in the skill references them through environment variables rather than hardcoded values. The grafanactl CLI, installed through Go, lists resource types such as dashboards and folders, pulls dashboards to disk as JSON, and pushes them back to deploy changes, with a documented edit workflow of pulling the current state, editing the JSON, and pushing it back.
Happy Infra Metrics and Grafana fits situations like: querying current or historical Prometheus metrics for Happy's infrastructure; pulling and editing a Grafana dashboard as code; adding or modifying a dashboard panel.
Run `npx skills add slopus/happy --skill metrics-graphana -a claude-code`. Or copy the skill folder (.agents/skills/metrics-graphana in slopus/happy) into .claude/skills/metrics-graphana in your project. Claude Code loads it when a task matches its description.
Run `npx skills add slopus/happy --skill metrics-graphana -a codex`. Or copy the skill folder (.agents/skills/metrics-graphana in slopus/happy) into .agents/skills/metrics-graphana 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 slopus/happy --skill metrics-graphana -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/metrics-graphana, .gemini/skills/metrics-graphana, .github/skills/metrics-graphana and .opencode/skills/metrics-graphana in your project.
Going by SKILL.md and its folder, Happy Infra Metrics and Grafana needs the command-line tools its instructions call (curl, python3 and go) and credentials named GRAFANA_PASSWORD. Our summary lists: grafanactl (installed via Go); Grafana and Prometheus credentials in a local .env file.
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Happy Infra Metrics and Grafana is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Happy Infra Metrics and Grafana: Archestra Dev Observability (archestra-ai/archestra, 4.4k stars), Frontmcp Observability (agentfront/frontmcp, 146 stars), Monitoring Observability (ahmedasmar/devops-claude-skills, 203 stars) and Monitoring Expert (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
slopus (a GitHub organization) maintains it in slopus/happy, which has 24,066 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: slopus/happy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.