{"id":"3a0c87f7-d3d3-4c34-88f9-b404f33ac346","shortId":"yzwpDL","kind":"skill","title":"grafana","tagline":"Query and manage Grafana dashboards, alert rules, and data sources via HTTP API. Use when viewing dashboards, troubleshooting alerts, checking service metrics, finding data sources, or when Grafana, monitoring, alerts, dashboards, or observability is mentioned.","description":"# Grafana\n\nQuery and manage Grafana monitoring dashboards, alert rules, and data sources via HTTP API.\n\n## Setup\n\nConfigure your Grafana instance:\n\n| Variable | Description | Required |\n|----------|-------------|----------|\n| `GRAFANA_URL` | Your Grafana server URL (e.g., `https://grafana.example.com`) | Yes |\n| `GRAFANA_TOKEN` | API Key (Settings → API Keys, viewer or editor role) | Yes |\n\nAuthentication: `curl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \"$GRAFANA_URL/api/...\"`\n\nCustomize the following for your organization:\n- **Folder structure**: How dashboards are organized (by team, region, service, etc.)\n- **Tag conventions**: What tags are used for filtering (region, environment, service type)\n- **Alert naming**: Your alert naming pattern (e.g., `{Service} {Metric} {Condition} [{env}]`)\n- **Key dashboards**: Which dashboards to check after deployments\n\n## Rules\n\n### Dashboard Operations\n\n- **Search first, then detail**: Use search API with tags/query to narrow scope, then fetch by uid\n- **Never delete production dashboards** — archive by moving to an Archive folder\n- **Write operations require user confirmation** before execution (create/modify dashboards, alert rules)\n\n### Common Workflows\n\n**Find a Dashboard:**\n```bash\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/search?query=<keyword>&tag=<tag>&type=dash-db\" \\\n  | jq '.[] | {uid, title, folderTitle}'\n```\n\n**Get Dashboard Details:**\n```bash\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/dashboards/uid/<uid>\" \\\n  | jq '.dashboard.panels[] | {title, type}'\n```\n\n**Check Active Alerts:**\n```bash\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/alerts?state=alerting\"\n```\n\n**List Data Sources:**\n```bash\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/datasources\" \\\n  | jq '.[] | {id, name, type, url}'\n```\n\n**Search by Folder:**\n```bash\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/search?folderIds=<folder_id>&type=dash-db\"\n```\n\n### Post-Deployment Checks\n\nAfter each deployment, check key dashboards for:\n- Error rate changes (before vs after deployment)\n- Latency P95/P99 trends\n- Consumer lag (if using message queues)\n- Connection counts (TCP/WebSocket)\n- Log level distribution (error/warn spikes)\n\n### Alert Troubleshooting\n\n1. `GET /api/alerts?state=alerting` — list all firing alerts\n2. Identify the dashboard and panel from the alert\n3. Read the PromQL expression from the panel\n4. Query Prometheus directly to understand the data\n5. Check recent deployments or config changes as potential cause\n\n## Examples\n\n### Bad\n\n```bash\n# Delete a production dashboard (never delete, archive instead)\ncurl -X DELETE \"$GRAFANA_URL/api/dashboards/uid/abc123\"\n\n# Fetch all dashboards without filtering (use search first)\nfor uid in $(curl ... /api/search | jq -r '.[].uid'); do\n  curl ... /api/dashboards/uid/$uid\ndone\n```\n\n### Good\n\n```bash\n# Search dashboards by tag\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/search?tag=production&type=dash-db\" \\\n  | jq '.[] | {uid, title, folderTitle}'\n\n# Check active alerts\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/alerts?state=alerting\"\n\n# Get alert details for troubleshooting\ncurl -s -H \"Authorization: Bearer $GRAFANA_TOKEN\" \\\n  \"$GRAFANA_URL/api/alerts/<alert_id>\"\n```","tags":["grafana","enterprise","harness","engineering","addxai","agent-skills","ai-agent","ai-engineering","claude-code","code-review","cursor","devops"],"capabilities":["skill","source-addxai","skill-grafana","topic-agent-skills","topic-ai-agent","topic-ai-engineering","topic-claude-code","topic-code-review","topic-cursor","topic-devops","topic-enterprise","topic-sre","topic-windsurf"],"categories":["enterprise-harness-engineering"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/addxai/enterprise-harness-engineering/grafana","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add addxai/enterprise-harness-engineering","source_repo":"https://github.com/addxai/enterprise-harness-engineering","install_from":"skills.sh"}},"qualityScore":"0.458","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 16 github stars · SKILL.md body (3,380 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T01:02:11.918Z","embedding":null,"createdAt":"2026-04-21T19:04:01.463Z","updatedAt":"2026-04-22T01:02:11.918Z","lastSeenAt":"2026-04-22T01:02:11.918Z","tsv":"'/api/alerts':312 '/api/dashboards/uid':388 '/api/search':382 '1':310 '2':319 '3':328 '4':336 '5':344 'activ':223,417 'alert':7,20,31,44,120,123,178,224,236,308,314,318,327,418,429,431 'api':14,51,71,74,148 'archiv':162,167,363 'authent':81 'author':85,189,212,229,244,262,400,422,438 'bad':355 'bash':185,208,225,240,258,356,392 'bearer':86,190,213,230,245,263,401,423,439 'caus':353 'chang':286,350 'check':21,136,222,276,280,345,416 'common':180 'condit':129 'config':349 'configur':53 'confirm':173 'connect':300 'consum':294 'convent':109 'count':301 'create/modify':176 'curl':82,186,209,226,241,259,365,381,387,397,419,435 'custom':91 'dash':199,271,410 'dash-db':198,270,409 'dashboard':6,18,32,43,100,132,134,140,161,177,184,206,282,322,360,372,394 'dashboard.panels':219 'data':10,25,47,238,343 'db':200,272,411 'delet':159,357,362,367 'deploy':138,275,279,290,347 'descript':58 'detail':145,207,432 'direct':339 'distribut':305 'done':390 'e.g':66,126 'editor':78 'env':130 'environ':117 'error':284 'error/warn':306 'etc':107 'exampl':354 'execut':175 'express':332 'fetch':155,370 'filter':115,374 'find':24,182 'fire':317 'first':143,377 'folder':97,168,257 'folderid':268 'foldertitl':204,415 'follow':93 'get':205,311,430 'good':391 'grafana':1,5,29,37,41,55,60,63,69,87,89,191,193,214,216,231,233,246,248,264,266,368,402,404,424,426,440,442 'grafana.example.com':67 'h':84,188,211,228,243,261,399,421,437 'http':13,50 'id':251 'identifi':320 'instanc':56 'instead':364 'jq':201,218,250,383,412 'key':72,75,131,281 'lag':295 'latenc':291 'level':304 'list':237,315 'log':303 'manag':4,40 'mention':36 'messag':298 'metric':23,128 'monitor':30,42 'move':164 'name':121,124,252 'narrow':152 'never':158,361 'observ':34 'oper':141,170 'organ':96,102 'p95/p99':292 'panel':324,335 'pattern':125 'post':274 'post-deploy':273 'potenti':352 'product':160,359,407 'prometheus':338 'promql':331 'queri':2,38,195,337 'queue':299 'r':384 'rate':285 'read':329 'recent':346 'region':105,116 'requir':59,171 'role':79 'rule':8,45,139,179 'scope':153 'search':142,147,255,376,393 'server':64 'servic':22,106,118,127 'set':73 'setup':52 'skill' 'skill-grafana' 'sourc':11,26,48,239 'source-addxai' 'spike':307 'state':235,313,428 'structur':98 'tag':108,111,196,396,406 'tags/query':150 'tcp/websocket':302 'team':104 'titl':203,220,414 'token':70,88,192,215,232,247,265,403,425,441 'topic-agent-skills' 'topic-ai-agent' 'topic-ai-engineering' 'topic-claude-code' 'topic-code-review' 'topic-cursor' 'topic-devops' 'topic-enterprise' 'topic-sre' 'topic-windsurf' 'trend':293 'troubleshoot':19,309,434 'type':119,197,221,253,269,408 'uid':157,202,379,385,389,413 'understand':341 'url':61,65,254 'url/api':90 'url/api/alerts':234,427,443 'url/api/dashboards/uid':217 'url/api/dashboards/uid/abc123':369 'url/api/datasources':249 'url/api/search':194,267,405 'use':15,113,146,297,375 'user':172 'variabl':57 'via':12,49 'view':17 'viewer':76 'vs':288 'without':373 'workflow':181 'write':169 'x':366 'yes':68,80","prices":[{"id":"1334415c-a62e-46db-a252-5ff3fc5cc6b3","listingId":"3a0c87f7-d3d3-4c34-88f9-b404f33ac346","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"addxai","category":"enterprise-harness-engineering","install_from":"skills.sh"},"createdAt":"2026-04-21T19:04:01.463Z"}],"sources":[{"listingId":"3a0c87f7-d3d3-4c34-88f9-b404f33ac346","source":"github","sourceId":"addxai/enterprise-harness-engineering/grafana","sourceUrl":"https://github.com/addxai/enterprise-harness-engineering/tree/main/skills/grafana","isPrimary":false,"firstSeenAt":"2026-04-21T19:04:01.463Z","lastSeenAt":"2026-04-22T01:02:11.918Z"}],"details":{"listingId":"3a0c87f7-d3d3-4c34-88f9-b404f33ac346","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"addxai","slug":"grafana","github":{"repo":"addxai/enterprise-harness-engineering","stars":16,"topics":["agent-skills","ai-agent","ai-engineering","claude-code","code-review","cursor","devops","enterprise","sre","windsurf"],"license":"apache-2.0","html_url":"https://github.com/addxai/enterprise-harness-engineering","pushed_at":"2026-04-17T08:57:37Z","description":"Enterprise-grade AI Agent Skills for software development, DevOps, SRE, security, and product teams. Compatible with Claude Code, Cursor, Windsurf, Gemini CLI, GitHub Copilot, and 30+ AI coding agents.","skill_md_sha":"a3b2c96853be777b839659e22cb3bf4339d0baec","skill_md_path":"skills/grafana/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/addxai/enterprise-harness-engineering/tree/main/skills/grafana"},"layout":"multi","source":"github","category":"enterprise-harness-engineering","frontmatter":{"name":"grafana","description":"Query and manage Grafana dashboards, alert rules, and data sources via HTTP API. Use when viewing dashboards, troubleshooting alerts, checking service metrics, finding data sources, or when Grafana, monitoring, alerts, dashboards, or observability is mentioned."},"skills_sh_url":"https://skills.sh/addxai/enterprise-harness-engineering/grafana"},"updatedAt":"2026-04-22T01:02:11.918Z"}}