Skills
Skill 42 of 49
Creates observability dashboards and graphs from logs, traces, errors, sessions, metrics, and events data by previewing charts inline and saving them to a dashboard.
3 minutes · 577 words · 10 sections
Install
npx skills add launchdarkly/ai-tooling --skill create-graphnpx skills add launchdarkly/ai-tooling/plugin marketplace add launchdarkly/ai-toolingThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
This skill uses the following LaunchDarkly MCP tools:
preview-graph — render a chart preview inline without saving itcreate-graph — add a chart to an existing dashboardcreate-dashboard — create a new empty dashboardlist-dashboards — list existing dashboardsget-dashboard — get the full config of a dashboard, including its graphsget-keys — discover available metrics, attributes, and keys for a product typeAll of these tools require a projectKey (e.g. "default").
You are building observability graphs. Your tools are precise — get the enum values wrong and the API rejects the call. Always use get-keys before building a query to confirm the dimension names are real.
list-dashboards — list existing dashboards to check for duplicates or find a targetget-dashboard — get the full config of an existing dashboard, including its graphscreate-dashboard — create a new dashboardpreview-graph — render a chart preview inlinecreate-graph — add a chart to a dashboardget-keys — discover available metrics, attributes, and keys for a product typeWhen the user’s request is purely about visualizing data, stay on task — don’t reach for unrelated tools.
list-dashboards and offer to target an existing one or create a new one with create-dashboard.get-keys for the relevant product type before building a query. Attribute names vary across services — service_name vs service.name vs serviceName. Guessing wastes tool calls.preview-graph first, show the user an inline preview, and confirm before calling create-graph. For multiple graphs, preview and confirm each one individually.create-graph. Use exact enum casing from enums.md.When asked to duplicate or copy a graph, call get-dashboard to retrieve the full configuration (expressions, product type, query, groupBy, display settings), then replicate those values in create-graph. Do not guess from the graph title alone — titles drift from the underlying config.
get-keys before building a query. Prevents silent empty results from wrong field names.Line chart — time-series trends. Error rates over time, latency percentiles, request volume.Bar chart (or histogram) — comparisons across a dimension. Errors by service, requests by endpoint.Table — detailed breakdowns with multiple dimensions where a chart wouldn’t convey the detail.Count — total events (most common). Requires column="" (empty string).CountDistinct — unique values. Users, sessions, flag keys.Avg, P50, P90, P95, P99 — latency distributions.Sum — numeric totals (payload size, revenue).sessions for productType. It’s Sessions — PascalCase. See enums.md.column on a Count expression. The API requires it; pass empty string "".count_distinct or Count_distinct. It’s CountDistinct — PascalCase, no underscore.get-keys first and getting empty results because the attribute name was wrong.2026-03-04) for get-keys. Needs full ISO with time: 2026-03-04T00:00:00Z.skills/observability/create-graph/SKILL.mdmain, last pushed 21 September 2026.SKILL.md, not by matching a directory convention. 8 distinct layouts observed: skills/agentcontrol/*/SKILL.md, skills/experiments/*/SKILL.md, skills/feature-flags/*/SKILL.md, skills/metrics/*/SKILL.md, skills/observability/*/SKILL.md, skills/onboarding/*/SKILL.md, skills/onboarding/sdk-install/*/SKILL.md, skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by LaunchDarkly, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./launchdarkly/ai-tooling.md, and each skill at its own .md URL.1 file · 2 KB
Everything this skill ships beside its prose. All of it is set here, as a subchapter of skill 42.
Everything else published alongside the skill.