@elastic/dashboard-guidelines
@elastic/dashboard-guidelines — AI coding skill
No skills found in this collection.
SKILL.md
| name | dashboard-guidelines |
| description | Use when creating or reviewing Kibana assets in packages, including dashboard export structure, naming, and data stream alignment. |
| license | Apache-2.0 |
dashboard-guidelines
When to use
Use this skill when tasks include:
- creating new Kibana dashboards for an integration package
- reviewing dashboard JSON changes in
kibana/folders - exporting dashboard updates from Kibana into package source
- verifying dashboard naming and file layout against package spec
- checking dashboard/data stream alignment through
data_stream.datasetfiltering
When not to use
Do not use this skill as the primary guide for:
- package and data stream directory scaffolding (
create-integration,package-structure) - ingest pipeline parsing and normalization logic (
ingest-pipelines) - package-wide command orchestration and stack lifecycle decisions (
elastic-package-cli) - test suite selection outside dashboard-focused checks (
integration-testing→references/system-testing.md)
Preconditions
Before creating or updating dashboard assets, verify:
- you are in the correct package directory (
packages/<package_name>/) - Kibana/Elastic services are available for editing and exporting assets
- sample data exists and dashboards can be validated against realistic events/metrics
- package
manifest.ymlcompatibility constraints (conditions.kibana.version) are understood
Workflow: create, export, validate
- Build or update dashboards in Kibana.
- Prefer Lens for new visualizations.
- Keep panels in the dashboard itself (by value) unless shared-library behavior is intentionally required.
- Export assets back into the package.
# from package root
elastic-package export
- If you need to modify installed managed dashboards before exporting:
elastic-package edit dashboards
elastic-package export dashboards
Review exported files under
kibana/:- file names match package spec
- no stale field names after mapping changes
- dashboard filters are scoped to integration datasets
Run package validation commands before opening a PR:
elastic-package check
Naming conventions
Use naming conventions from dashboard creation guidance:
- Visualization title:
<Name>(avoid repeating package name in each panel title)
- Dashboard title:
[<Metrics | Logs> <PACKAGE NAME>] <Name>- examples:
[Metrics System] Host overview,[Logs Nginx] Access overview
- Dashboard asset file:
{PACKAGE_NAME}-{identifier}.json- example:
nginx-046212a0-a2a1-11e7-928f-5dbe6f6f5519.json
Design and modeling best practices
- Use stable released Kibana versions (avoid SNAPSHOT).
- Keep dashboards focused; split overloaded boards and provide navigation links.
- Prefer by-value panels so dashboards remain self-contained.
- Prefer Lens over TSVB for new visualizations.
- Add controls using dashboard-native Controls (not deprecated input controls visualization).
- Include dataset-aware filtering to prevent broad
logs-*/metrics-*queries where possible.- baseline recommendation: filter by
data_stream.dataset
- baseline recommendation: filter by
- Keep visual hierarchy clear:
- most important summary panels near the top
- related charts grouped together
- margins enabled for readability
- Use concise, self-explanatory panel titles and consistent accessible colors.
Quality checklist before PR
- dashboard assets are in
kibana/dashboard/and follow expected naming pattern - dashboard content reflects current field names and types
- visualizations are embedded by value unless there is a documented exception
- dashboard or panel queries include integration-relevant filters (
data_stream.datasetwhen applicable) - controls/drilldowns/navigation are coherent for multi-dashboard packages
- exported dependencies are committed (dashboards plus required saved objects)
elastic-package checkpasses for the package
Common pitfalls
- exporting from an unstable Kibana build and committing incompatible saved object data
- using generic, unfiltered
logs-*/metrics-*queries that cause noisy or slow panels - keeping stale field references after pipeline/field mapping changes
- overloading one dashboard instead of splitting into overview and deep-dive views
- relying on library visualizations unintentionally, causing hidden dependencies
- inconsistent naming between dashboard title, file name, and package context
Handoff to other skills
After dashboard updates are in place, continue with:
dashboard-reviewfor reviewing dashboard JSON changes in a PR or branchintegration-testing→references/system-testing.mdfor system test validationelastic-package-clifor broader check/lint/test command selectionpackage-specwhen dashboard changes require a release note entry
References
references/kibana-assets-layout.md
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.
No demos yet. To add one, ask your AI agent: "Submit a demo for @elastic/dashboard-guidelines" — or upload via the API.
To add a demo, ask your AI agent: "Submit a demo for @elastic/dashboard-guidelines"
No eval data yet. Eval results are published via the SkillSafe API.