
create-graph
Creates observability dashboards and graphs from logs, traces, errors, sessions, metrics, and events data by previewing charts inline and saving them to a dashboard.
- Installs
- 667
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/launchdarkly/ai-tooling --skill create-graph- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads create-graph automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Create graphs and dashboards
Prerequisites
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 type
All of these tools require a projectKey (e.g. "default").
Overview
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.
Capabilities
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 type
When the user's request is purely about visualizing data, stay on task — don't reach for unrelated tools.
Workflow
- Identify the target dashboard. If the user already has a specific dashboard in mind (by ID or name), add graphs to it directly. Otherwise, call
list-dashboardsand offer to target an existing one or create a new one withcreate-dashboard. - Discover the data shape. Call
get-keysfor the relevant product type before building a query. Attribute names vary across services —service_namevsservice.namevsserviceName. Guessing wastes tool calls. - For ambiguous requests, ask a brief clarifying question as regular text. Example: "I found several latency-related keys. Would you like P50 or P95 latency, and should I group by service name?" Keep clarifications short — one or two questions max. For minor ambiguity (chart type preference), make a reasonable default and note your assumption.
- Preview before committing. Call
preview-graphfirst, show the user an inline preview, and confirm before callingcreate-graph. For multiple graphs, preview and confirm each one individually. - Create the graph with
create-graph. Use exact enum casing fromenums.md. - Confirm what was created — provide the dashboard URL and a one-line description of what the graph shows.
Duplicating existing graphs
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.
Guidelines
- Be concise — don't narrate intermediate tool calls. Skip prefaces like "First, let me discover the keys" or "Now I'll build the chart." One short sentence at the start of the reply is enough if needed (e.g. "Building a chart of recent logs by level."); after that, just call the tools.
- Prefer multiple focused graphs over one complex graph. A dashboard with 3 clean graphs beats one graph with 5 overlapping expressions.
- Always call
get-keysbefore building a query. Prevents silent empty results from wrong field names.
Chart-type picks
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.
Aggregators
Count— total events (most common). Requirescolumn=""(empty string).CountDistinct— unique values. Users, sessions, flag keys.Avg,P50,P90,P95,P99— latency distributions.Sum— numeric totals (payload size, revenue).
Common mistakes
- Using lowercase
sessionsforproductType. It'sSessions— PascalCase. Seeenums.md. - Omitting
columnon aCountexpression. The API requires it; pass empty string"". - Using
count_distinctorCount_distinct. It'sCountDistinct— PascalCase, no underscore. - Building a query without
get-keysfirst and getting empty results because the attribute name was wrong. - Using date-only format (
2026-03-04) forget-keys. Needs full ISO with time:2026-03-04T00:00:00Z.
FAQ
What does the create-graph skill do?
Creates observability dashboards and graphs from logs, traces, errors, sessions, metrics, and events data by previewing charts inline and saving them to a dashboard.
How do I install create-graph?
Run npx skills add https://github.com/launchdarkly/ai-tooling --skill create-graph in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/create-graph/ (personal) or .claude/skills/create-graph/ (project).
Which AI agents can use create-graph?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is create-graph safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains create-graph?
It is published by launchdarkly in launchdarkly/ai-tooling. It has 667 recorded installs.
More from launchdarkly/ai-tooling
onboarding
launchdarkly/ai-tooling
Scripted onboarding for LaunchDarkly: quiet execution, fixed sequence, SDK install, first flag with a live reveal, MCP offered afterwards. Enforces step completion before advancing and redirects drift. Use when adding LaunchDarkly, setting up or integrating feature flags in a project, SDK integration, or 'onboard me'.
launchdarkly-flag-discovery
launchdarkly/ai-tooling
Audit your LaunchDarkly feature flags to understand the landscape, find stale or launched flags, and assess removal readiness. Use when the user asks about flag debt, stale flags, cleanup candidates, flag health, or wants to understand their flag inventory.
launchdarkly-flag-create
launchdarkly/ai-tooling
Create and configure LaunchDarkly feature flags in a way that fits the existing codebase. Use when the user wants to create a new flag, wrap code in a flag, add a feature toggle, or set up an experiment. Guides exploration of existing patterns before creating.
launchdarkly-flag-targeting
launchdarkly/ai-tooling
Control LaunchDarkly feature flag targeting including toggling flags on/off, percentage rollouts, targeting rules, individual targets, and copying flag configurations between environments. Use when the user wants to change who sees a flag, roll out to a percentage, add targeting rules, or promote config between environments.
launchdarkly-flag-cleanup
launchdarkly/ai-tooling
Safely remove a feature flag from code while preserving production behavior. Use when the user wants to remove a flag from code, delete flag references, or create a PR that hardcodes the winning variation after a rollout is complete.
launchdarkly-metric-choose
launchdarkly/ai-tooling
Choose the right metrics for a LaunchDarkly experiment, guarded rollout, or release policy. Use when the user wants to know which metrics to use, which is the primary metric for an experiment, what guardrails to add, or which events to monitor in a rollout. Surfaces what will auto-attach from existing release policies before making additional recommendations.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.