Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/intent-chart-skills.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tanstack/charts': patch
---

Ship scenario-driven TanStack Charts skills for visualization design, responsive behavior, migration, interaction, accessibility, debugging, extension, and coordination with the TanStack data and application ecosystem.
862 changes: 862 additions & 0 deletions _artifacts/domain_map.yaml

Large diffs are not rendered by default.

356 changes: 356 additions & 0 deletions _artifacts/skill_spec.md

Large diffs are not rendered by default.

282 changes: 282 additions & 0 deletions _artifacts/skill_tree.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,282 @@
# skill_tree.yaml
# Generated by TanStack Intent tree generation
# Library: @tanstack/charts
# Version: 0.9.0
# Date: 2026-08-12

library:
name: '@tanstack/charts'
version: '0.9.0'
repository: 'https://github.com/TanStack/charts'
description: 'A typed, renderer-neutral visualization grammar for application charts.'

generated_from:
domain_map: '_artifacts/domain_map.yaml'
skill_spec: '_artifacts/skill_spec.md'
generated_at: '2026-08-12'

layout:
strategy: 'flat'
rationale: 'The twelve entries map one-to-one to distinct developer intents and should load independently.'
package: 'packages/charts-core'
skills_root: 'packages/charts-core/skills'
router_skill: false

skills:
- name: 'Design a chart from a user goal'
slug: 'design-a-chart'
type: 'core'
domain: 'frame-the-visualization'
path: 'packages/charts-core/skills/design-a-chart/SKILL.md'
package: 'packages/charts-core'
description: >-
Choose an honest visualization from a user story, metric, comparison,
projection, target, or explanatory goal before selecting TanStack Charts
marks. Load for requests to graph, chart, visualize, compare, forecast,
project, or explain data.
sources:
- 'TanStack/charts:docs/guides/choosing-a-chart.md'
- 'TanStack/charts:docs/examples/*.md'
- 'TanStack/charts:docs/reference/transforms.md'
references:
- 'references/visual-task-matrix.md'

- name: 'Prepare chart data'
slug: 'prepare-chart-data'
type: 'core'
domain: 'encode-application-data'
path: 'packages/charts-core/skills/prepare-chart-data/SKILL.md'
package: 'packages/charts-core'
description: >-
Order, aggregate, derive, and transform application rows for TanStack
Charts while preserving semantic units and lineage. Load for stacks,
bins, groups, rolling windows, ranks, regression, hierarchy, missing
values, or reactive transform work.
sources:
- 'TanStack/charts:docs/guides/transforms-and-reactivity.md'
- 'TanStack/charts:docs/reference/transforms.md'
- 'TanStack/charts:docs/reference/marks/line-and-area.md'
references:
- 'references/transforms.md'

- name: 'Compose marks and views'
slug: 'compose-marks-and-views'
type: 'core'
domain: 'encode-application-data'
path: 'packages/charts-core/skills/compose-marks-and-views/SKILL.md'
package: 'packages/charts-core'
description: >-
Translate semantic encodings into TanStack Charts marks, layers,
annotations, facets, and coordinated views. Load when choosing marks,
combining layers, assigning interaction-point ownership, or deciding
whether a custom mark is justified.
sources:
- 'TanStack/charts:docs/concepts/grammar-of-graphics.md'
- 'TanStack/charts:docs/concepts/marks-and-layering.md'
- 'TanStack/charts:docs/guides/faceting-and-composition.md'
- 'TanStack/charts:docs/guides/custom-marks-and-renderers.md'
references:
- 'references/mark-selection.md'

- name: 'Configure scales, guides, and color'
slug: 'configure-scales-guides-color'
type: 'core'
domain: 'encode-application-data'
path: 'packages/charts-core/skills/configure-scales-guides-color/SKILL.md'
package: 'packages/charts-core'
description: >-
Configure TanStack Charts domains, scale factories, axes, margins,
legends, grouping, and paint without taking ownership of responsive
ranges. Load for blank geometry, scale inference, color semantics,
shared domains, ticks, labels, or guide layout.
sources:
- 'TanStack/charts:docs/concepts/scales-and-d3.md'
- 'TanStack/charts:docs/reference/scales-guides-and-color.md'
- 'TanStack/charts:docs/guides/legends-and-color.md'
- 'TanStack/charts:docs/guides/responsive-charts.md'
references:
- 'references/scale-guide-ownership.md'

- name: 'Design responsive charts'
slug: 'design-responsive-charts'
type: 'core'
domain: 'adapt-chart-behavior'
path: 'packages/charts-core/skills/design-responsive-charts/SKILL.md'
package: 'packages/charts-core'
description: >-
Make TanStack Charts adapt to measured containers, information priority,
guide margins, SSR initial width, and final plot bounds. Load for narrow
dashboards, overflow, label density, responsive topology, or
pixel-space layouts.
sources:
- 'TanStack/charts:docs/guides/responsive-charts.md'
- 'TanStack/charts:docs/reference/chart-definitions.md'
- 'TanStack/charts:docs/reference/marks/waffle.md'
- 'TanStack/charts:docs/reference/marks/treemap.md'

- name: 'Build chart interactions'
slug: 'build-chart-interactions'
type: 'core'
domain: 'adapt-chart-behavior'
path: 'packages/charts-core/skills/build-chart-interactions/SKILL.md'
package: 'packages/charts-core'
description: >-
Compose TanStack Charts focus, tooltips, controlled selections, cursors,
brushes, zoom, keyboard behavior, and coordinated views. Load for hover,
focus, pinning, crosshairs, clipping, gesture state, or chart-table
coordination.
sources:
- 'TanStack/charts:docs/guides/tooltips-and-focus.md'
- 'TanStack/charts:docs/guides/interactions-and-selections.md'
- 'TanStack/charts:docs/reference/focus-and-interaction.md'
- 'TanStack/charts:docs/reference/marks/focus-guide.md'
references:
- 'references/interaction-state.md'

- name: 'Update and animate charts'
slug: 'update-and-animate-charts'
type: 'core'
domain: 'adapt-chart-behavior'
path: 'packages/charts-core/skills/update-and-animate-charts/SKILL.md'
package: 'packages/charts-core'
description: >-
Update TanStack Charts through stable definition and datum identity,
configure SVG motion, and preserve correctness during resize,
interruption, streaming, and rolling windows. Load for reactive data,
animation, reordering, enter/exit, or stale interaction state.
sources:
- 'TanStack/charts:docs/guides/dynamic-data-and-animation.md'
- 'TanStack/charts:docs/reference/motion.md'
- 'TanStack/charts:docs/reference/chart-definitions.md'

- name: 'Coordinate charts with TanStack'
slug: 'coordinate-charts-with-tanstack'
type: 'composition'
domain: 'adapt-chart-behavior'
path: 'packages/charts-core/skills/coordinate-charts-with-tanstack/SKILL.md'
package: 'packages/charts-core'
description: >-
Coordinate TanStack Charts with Table data grids, DB live queries and
sync engines, Query server state, Store, Router, Virtual, Pacer, Start,
and Form without duplicating data, state, revision, or lifecycle
ownership.
requires:
- 'prepare-chart-data'
- 'build-chart-interactions'
- 'update-and-animate-charts'
sources:
- 'TanStack/charts:docs/guides/interactions-and-selections.md'
- 'TanStack/charts:docs/guides/transforms-and-reactivity.md'
- 'https://tanstack.com/table/latest/docs/guide/row-models'
- 'https://tanstack.com/db/latest/docs/guides/live-queries'
- 'https://tanstack.com/db/latest/docs/guides/mutations'
- 'https://tanstack.com/query/latest/docs/framework/react/guides/important-defaults'
subsystems:
- 'TanStack Table and data grids'
- 'TanStack Query, DB, and sync engines'
- 'TanStack application state and lifecycle'
references:
- 'references/table-and-data-grid.md'
- 'references/query-db-and-sync.md'
- 'references/tanstack-application-state.md'

- name: 'Migrate charts to TanStack Charts'
slug: 'migrate-to-tanstack-charts'
type: 'composition'
domain: 'ship-and-evolve-charts'
path: 'packages/charts-core/skills/migrate-to-tanstack-charts/SKILL.md'
package: 'packages/charts-core'
description: >-
Migrate Observable Plot, Recharts, Chart.js, ECharts, direct D3, or
another renderer to TanStack Charts by translating semantic ownership
and proving visual, interaction, accessibility, export, bundle, and
performance parity.
requires:
- 'design-a-chart'
- 'debug-and-verify-charts'
sources:
- 'TanStack/charts:docs/guides/migrating.md'
- 'TanStack/charts:packages/charts-core-d3/docs/observable-plot-migration.md'
- 'TanStack/charts:packages/charts-core-d3/docs/tanstack-stats-migration.md'
subsystems:
- 'Observable Plot'
- 'Recharts'
- 'Chart.js'
- 'ECharts'
- 'D3'
references:
- 'references/observable-plot.md'
- 'references/recharts.md'
- 'references/chart-js.md'
- 'references/echarts.md'
- 'references/d3.md'

- name: 'Ship accessible charts'
slug: 'ship-accessible-charts'
type: 'lifecycle'
domain: 'ship-and-evolve-charts'
path: 'packages/charts-core/skills/ship-accessible-charts/SKILL.md'
package: 'packages/charts-core'
description: >-
Ship TanStack Charts with meaningful accessibility, deterministic SSR
and hydration, correct adapter lifecycle, renderer and export choices,
exact package subpaths, and explicit React Native validation.
sources:
- 'TanStack/charts:docs/guides/accessibility.md'
- 'TanStack/charts:docs/guides/ssr-and-hydration.md'
- 'TanStack/charts:docs/guides/exporting.md'
- 'TanStack/charts:docs/framework/*/adapter.md'
- 'TanStack/charts:packages/react-native-charts/README.md'
subsystems:
- 'DOM framework adapters'
- 'React Native'
- 'Renderers and export'
references:
- 'references/react.md'
- 'references/preact.md'
- 'references/vue.md'
- 'references/solid.md'
- 'references/svelte.md'
- 'references/angular.md'
- 'references/lit.md'
- 'references/alpine.md'
- 'references/octane.md'
- 'references/react-native.md'
- 'references/renderers-and-export.md'

- name: 'Debug and verify charts'
slug: 'debug-and-verify-charts'
type: 'lifecycle'
domain: 'ship-and-evolve-charts'
path: 'packages/charts-core/skills/debug-and-verify-charts/SKILL.md'
package: 'packages/charts-core'
description: >-
Diagnose TanStack Charts type, data, scale, geometry, focus, lifecycle,
bundle, and performance failures with scenario-level evidence. Load for
blank or clipped charts, misleading output, unsafe casts, migration
parity, packed-package checks, or regressions.
sources:
- 'TanStack/charts:docs/guides/testing-and-debugging.md'
- 'TanStack/charts:docs/guides/typescript.md'
- 'TanStack/charts:docs/guides/bundle-size-and-performance.md'
- 'TanStack/charts:API-FRICTION.md'

- name: 'Extend TanStack Charts'
slug: 'extend-tanstack-charts'
type: 'core'
domain: 'ship-and-evolve-charts'
path: 'packages/charts-core/skills/extend-tanstack-charts/SKILL.md'
package: 'packages/charts-core'
description: >-
Implement TanStack Charts custom marks, scale-value contracts,
final-bounds layouts, renderer-neutral scene nodes, renderers, hosts,
controls, or composed views after built-in primitives are exhausted.
requires:
- 'compose-marks-and-views'
sources:
- 'TanStack/charts:docs/guides/custom-marks-and-renderers.md'
- 'TanStack/charts:docs/reference/custom-extensions.md'
- 'TanStack/charts:packages/charts-core/src/mark.ts'
- 'TanStack/charts:packages/charts-core/src/mark-with-scale-values.ts'
references:
- 'references/extension-protocols.md'
2 changes: 1 addition & 1 deletion benchmarks/conformance/previews/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"schemaVersion": 1,
"width": 288,
"height": 192,
"sourceHash": "61107a358d4bc33d970663907eb733cf5babfa82a20b18abe4fbcc5e455fee3f",
"sourceHash": "e51640f5fc66d37a982722a282685167d084940132c429f7a2515f16f28714f3",
"assets": [
{
"id": "01-line-gaps",
Expand Down
5 changes: 5 additions & 0 deletions packages/charts-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"version": "0.11.1",
"private": false,
"license": "MIT",
"keywords": [
"tanstack-intent"
],
"repository": {
"type": "git",
"url": "https://github.com/TanStack/charts.git",
Expand All @@ -13,6 +16,7 @@
"files": [
"dist",
"docs",
"skills",
"LICENSE",
"README.md",
"llms.txt"
Expand Down Expand Up @@ -95,6 +99,7 @@
}
},
"devDependencies": {
"@tanstack/intent": "^0.3.6",
"@types/d3-array": "^3.2.2",
"@types/d3-brush": "^3.0.6",
"@types/d3-contour": "^3.0.6",
Expand Down
Loading