dashboarding Skill from Grafana: Build and Push Grafana Dashboards as JSON
Grafana's own skill for writing dashboard JSON, adding variables and transformations, and pushing it to Grafana through the HTTP API.
- Installs
- 9.1K
- on skills.sh
- Stars
- 302
- on GitHub
- Files
- 1
- besides SKILL.md
- Updated
- Nov 2026
- last repo commit
dashboarding makes the agent write Grafana dashboards as JSON and push them with POST /api/dashboards/db. It covers panel types, the 24-column gridPos layout, units, thresholds, template variables, transformations, links and Loki or Prometheus annotations.
After every push the SKILL.md says to check the returned version and read the dashboard back by its UID. You need a Grafana stack you can reach, an API token with dashboards:write, and jq. The skill is in Grafana Labs' own skills repo, and it bundles one reference file.
Good for
- Engineers scripting dashboards for a new service instead of clicking in the UI
- People adding a service dropdown, an Error % column or deploy annotations to a dashboard
- Teams who keep dashboards as JSON and push them with an API token
Install dashboarding
Claude Code
- 1
Copy this prompt.
Install the dashboarding skill in Claude Code. Run this command: claude plugin marketplace add grafana/skills claude plugin install grafana-core@grafana-skills Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
The marketplace lists dashboarding in grafana-core with 7 other skills (promql, grafana-oss, alloy, beyla, opentelemetry, alerting-irm, skill-authoring); its entries list skills only. The README command without --skill installs every Grafana skill. The skill then needs a Grafana URL and an API token with dashboards:write, plus jq.
From the project README. Source.
What's in the skill
When it loads
Build, modify, and ship Grafana dashboards as JSON via the HTTP API — panel types (timeseries / stat / gauge / table / heatmap / logs / traces / node-graph), `gridPos` 24-column layout, units, thresholds, template + datasource + chained variables, transformations (`organize` / `calculateField` / `filterByValue`), panel + dashboard links with `${__field.labels.x}` / `${__from}`, and Loki/Prometheus annotations. Use when scripting dashboard creation, writing the dashboard JSON for a new service, adding a `$job` dropdown variable, computing an "Error %" column with a transformation, overlaying deploys as annotations, or pushing a dashboard via `POST /api/dashboards/db` — even when the user says "create a dashboard for this metric", "add a service dropdown", "show errors as percentage", "overlay our deploys", or "export the dashboard JSON" without naming the API or schema. After every API push, verify with the returned `version` plus a GET on the dashboard UID.
Sections in SKILL.md
- Prerequisites
- Common Workflows
- 1. Push a new dashboard via the API + verify
- 2. Add a $job template variable to an existing dashboard
- 3. Compute an "Error %" column with a transformation
- API reference
- Resources
Key facts
- Installs on skills.sh
- 9,080 (Nov 2, 2026)
- GitHub stars
- 302 for the grafana/skills repo (Nov 2, 2026)
- Last commit
- Nov 1, 2026
What it includes
Builds the JSON, checks it with jq, POSTs it, then reads it back by uid
The example writes /tmp/dash.json, sends it to $GRAFANA/api/dashboards/db with overwrite true, and checks status, url and version, then does a GET on the uid.
Try: “Create a dashboard for this metric and push it to Grafana”
Runs code ·
Push a new dashboardFetches a dashboard, adds a query variable and updates panel queries
Appends a variable built on label_values(up, job) to templating.list, uses it in the panel expression, and posts the dashboard back.
Try: “Add a service dropdown to this dashboard”
Write ·
Add a $job variableAdds a calculateField transformation to a panel
The example divides an errors field by a total field. Other transformations named: organize and filterByValue.
Compute Error %Searches dashboards and creates folders through the API
The API reference section shows GET by uid, a search by query and type, and POST /api/folders.
Write ·
Search and foldersOverlays deploys with Loki or Prometheus annotations and adds data links
Links can use variables such as ${__field.labels.x} and ${__from}. Full schema is in references/json-schema.md.
Write ·
Annotations and linksChecks the returned version, then reads the dashboard back
SKILL.md says to do this after every API push.
Network ·
Verify every push
From the official docs
Permissions
Medium risk
The skill uses your Grafana API token to create or overwrite dashboards and folders. Use a token limited to what you need, and test in a scratch folder first.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can overwrite dashboards that share a uid
The push example sends overwrite true. Check the uid first, and read back the existing dashboard if you need a copy. github.com
It uses your Grafana API token
Commands pass the token as a Bearer header from $TOKEN to $GRAFANA. Keep it in an environment variable and use the narrowest scope that works. github.com
It writes a temporary payload file
The example saves the dashboard JSON to /tmp/dash.json before posting it. github.com
Technical details
| Scopes |
|
|---|
Questions
What does the dashboarding skill do?
It guides the agent to write Grafana dashboard JSON and push it through Grafana's HTTP API. It covers panels, layout, variables, transformations, links and annotations, and says to verify each push.
Is it official?
Yes, it is in Grafana Labs' own skills repository, where the marketplace file names Grafana Labs as owner.
How do I install it in Claude Code?
Use the install box above. The grafana-core plugin has this skill with 7 others, or the skills CLI route installs just this one.
What do I need before using it?
A Grafana stack you can reach, an API token with dashboards:write, and jq. The skill's prerequisites list these.
Will it overwrite my existing dashboards?
Its example sends overwrite true, which replaces a dashboard that has the same uid. Our advice, not Grafana's: use a new uid for a new dashboard, and read an existing one back first if you want a copy.
Does it work in the Claude app?
We do not list a Claude app route. The skill uses curl and jq against your Grafana from your machine.
Is it safe?
It runs curl against your Grafana with your API token and can create or overwrite dashboards and folders. Use a token with only the access you need, try a test folder first, and keep dashboard JSON in version control.
Information
updated Nov 2, 2026
- Repository
- grafana/skills
- Folder
skills/grafana-core/dashboarding
Sources
Docs, issue trackers and discussions this page is built from.
Show all 4Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com