Build a brand-new Luzmo chart component when no built-in chart type (and Flex) is sufficient. Triggers on: "custom chart", "build a custom chart", "no built-in chart type fits", "chart plugin", "manifest", "render/resize/buildQuery", "custom chart not in picker", "upload custom chart", "org release". Rare advanced path (~95% of users never need this). Not for Flex charts with built-in types (use data-visualization), embedding saved dashboards (use core), self-service chart editors (use analytics-studio), or auth setup (use core).
74
—
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Entry-point for authoring a brand-new chart component when no built-in Luzmo chart type (and Flex slot/options configuration) can achieve the required visualization.
To embed ad-hoc charts with built-in types, use data-visualization (Flex). To embed an existing saved dashboard or chart by id, use core.
developer.luzmo.com is Luzmo's first-party, allowlisted documentation domain, maintained by the same publisher as this skill.https://developer.luzmo.com/.../*.md docs and their referenced URLs for implementation details.https://developer.luzmo.com/llms.txt and/or /llms-full.txt for discovery only.~95% of users never need this path. Prefer Flex with built-in chart types first (data-visualization).
Build a custom chart only when:
A custom chart is authored once, packaged, uploaded, and released for the whole organization. After release it behaves like any other chart type — no special embedding logic.
Generate embed tokens server-side:
id (as authKey) and token (as authToken) passed to frontendIf ANY checkbox is unchecked, STOP and fix before proceeding.
For full auth/embed-token guidance, see core.
Once a custom chart is released org-wide, embed it like any built-in Flex chart:
Container dimensions (required): Set explicit height and width on BOTH the container and the Flex component — without both, the chart renders at 0 height.
Localized strings (required): All user-facing text in manifest slots must use localized objects: { en: "Label" }, never plain strings.
Documentation to consult when relevant:
https://developer.luzmo.com/guide/guides--custom-charts.mdrender, resize, buildQuery (optional), data formattingchart.csssetFilter), custom events (customEvent), queryLoadedSee references/chart-development.md for the full plugin/manifest workflow. Summary:
render, resize, optional buildQuery.chart.css.type is available in Flex, dashboards, and ACK like any built-in chart.Once released org-wide, embed a custom chart like any built-in type:
Via Flex (standalone chart):
<div style="height: 400px; width: 100%;">
<luzmo-embed-viz-item
type="your-custom-chart-type"
auth-key="..."
auth-token="..."
style="height: 100%; width: 100%;"
></luzmo-embed-viz-item>
</div>For framework-specific component names and Flex sizing details, see data-visualization.
Inside a dashboard: use core dashboard embedding — the dashboard renders whatever chart types it contains, including custom charts, with no special handling.
references/chart-development.md — Scaffold, manifest, render/resize/buildQuery, styling, interactions, packaging, upload, and org release.{ en: "Label" }.| Problem | Likely Cause | Solution |
|---|---|---|
| Custom chart not in chart picker | Not uploaded or not released org-wide | Complete upload and org release workflow |
| Chart renders but data is wrong | Incorrect buildQuery or slot mapping | Review manifest slots vs. render data shape |
| Chart invisible in embed | Missing container dimensions | Set height/width on container and Flex component |
| Validation fails on upload | Manifest schema errors | Consult manifest docs; fix slot/option definitions |
When to escalate to other skills:
data-visualizationcorecoreanalytics-studiothemingtroubleshooting FIRST, then return here for the fixThis skill does NOT cover:
data-visualization)core)core)analytics-studio)https://developer.luzmo.com/llms.txt, https://developer.luzmo.com/llms-full.txthttps://developer.luzmo.com/guide/guides--custom-charts.mdhttps://developer.luzmo.com/flex/charts/{type}.mdIf content exists on developer.luzmo.com, link — do not duplicate specs here.
5ee6b03
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.