[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-data-visualization":3,"mdc--dw5hte-key":38,"related-org-openai-data-visualization":571,"related-repo-openai-data-visualization":778},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":33,"sourceUrl":36,"mdContent":37},"data-visualization","design and implement web data visualizations","Route web data visualization work. Use when the user needs chart choice, visual critique, dashboards, maps or geospatial views, Gantt timelines, UML\u002Fsoftware diagrams, scrollytelling, reports or exports, testing, accessibility, browser implementation, or concept-first visual design.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,18,21,24],{"name":13,"slug":14,"type":15},"Dashboards","dashboards","tag",{"name":17,"slug":4,"type":15},"Data Visualization",{"name":19,"slug":20,"type":15},"Charts","charts",{"name":22,"slug":23,"type":15},"Analytics","analytics",{"name":25,"slug":26,"type":15},"Maps","maps",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-06-30T19:00:57.102",null,465,[],{"repoUrl":28,"stars":27,"forks":31,"topics":34,"description":35},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fbuild-web-data-visualization\u002Fskills\u002Fdata-visualization","---\nname: data-visualization\ndescription: Route web data visualization work. Use when the user needs chart choice, visual critique, dashboards, maps or geospatial views, Gantt timelines, UML\u002Fsoftware diagrams, scrollytelling, reports or exports, testing, accessibility, browser implementation, or concept-first visual design.\n---\n\n# Web Data Visualization\n\n## Overview\n\nUse this skill as the implicit orchestrator for the plugin. Classify the task, choose the smallest useful specialist skill set, and route before doing deep chart, renderer, testing, accessibility, or export work. Specialist skills stay explicit-only unless this router hands off to them.\n\nDefault stance: the best visualization is the simplest truthful view that answers the user's question with the least decoding burden. Preserve evidence quality first: correct task abstraction, trustworthy data treatment, visible caveats, direct labels, accessible encodings, mobile viability, shareable state, and QA. Do not default to dashboards, 3D, animation, generated imagery, particles, or WebGL unless they carry analytical meaning.\n\nContextual imagery, atmospheric marks, and motion must be evidence-bearing. Do not use broad translucent brush strokes, wispy ribbons, bokeh\u002Forbs, cinematic wallpaper, stock-photo haze, or decorative gradients as substitutes for data layers. When motion, flow, density, intensity, or spread appears, encode it with measured or clearly schematic contours, sampled fields, trajectories, particles with a defined unit or meaning, or annotated layers.\n\nMobile is a primary surface. Unless the user explicitly excludes it, treat large-screen and mobile portrait as sibling states. Add mobile landscape when a wide substrate, AR\u002Fcamera\u002Fmotion, two-handed interaction, or keyboard-heavy workflow needs it.\n\n## Router Workflow\n\n1. Classify the analytical job: comparison\u002Franking, time change, distribution\u002Funcertainty, correlation, composition\u002Fflow, hierarchy\u002Fnetwork, software\u002Fsystem structure, schedule, monitoring, geography, or export\u002Freporting.\n2. Classify the data shape: tabular, time series, multivariate, matrix, tree\u002Fgraph, semantic diagram source, schedule\u002Fproject plan, geospatial, stream, or generated\u002Fsimulated story data.\n3. Lock delivery constraints: static vs interactive, exploratory vs explanatory, browser\u002Fdashboard\u002Freport\u002FPDF\u002Fslides, reuse level, scale, update rate, export, large-screen\u002Fmobile states, touch\u002Fkeyboard\u002Fpinch, sensors, alerting, bandwidth, and persistence.\n4. Define the reading path before the renderer: insight title, immediate evidence, on-demand detail, labels\u002Fkeys\u002Fcontrols, caveats, mobile order, and what should stay visible when panels collapse.\n5. Plan state explicitly: URL-backed filters, selections, ranges, zoom\u002Fmap\u002Fcamera, tabs, drill-down, saved-view ids, local\u002FIndexedDB\u002Fremote persistence, invalid state, copy-link, refresh, and back-button behavior.\n6. Choose whether a contextual substrate helps: map, field\u002Fcourt\u002Ftrack, floor plan, system schematic, terrain, object cutaway, or other domain surface. Use it only when it improves orientation or mark placement.\n7. Route to the narrowest specialist skill. If the request spans several visual layers, read `..\u002F..\u002Freferences\u002Ffoundations\u002Fembedded-visualization-self-use.md`, inventory the layers, assign owners, and use specialist passes for substantial layers.\n8. For new implementation work, include a compact technical design before coding: instance count, data\u002Finteraction profile, renderer ownership, URL\u002Fpersistence contract, mobile performance, page-level cost, maintenance tradeoffs, fallbacks, and QA.\n9. For advanced visual design, use `..\u002F..\u002Freferences\u002Ffoundations\u002Fmeaning-preserving-visual-design-workflow.md` and `..\u002F..\u002Freferences\u002Ffoundations\u002Fmobile-first-responsive-visualization.md`; generate large-screen and mobile concepts, pause for approval, and treat approved concepts as semantic contracts.\n\n## Routing Matrix\n\n- Strategy and critique: chart choice, hierarchy, narrative claim, visual critique, anti-patterns, layout reasoning.\n- Declarative grammar: standard tabular charts that fit Vega-Lite, Vega, Observable Plot, or similar grammar.\n- D3\u002FSVG: bespoke SVG\u002FDOM geometry, direct labels, axes, annotations, transitions, or crisp vector polish.\n- Canvas2D: dense flat marks, frequent redraw, custom hit testing, sparkline tables, or repeated microcharts.\n- Three.js\u002FWebGL: GPU-scale marks, particles, flow, shader effects, true 3D, deck.gl, PixiJS, Sigma.js, CesiumJS, luma.gl, or raw WebGL when analytical value justifies it.\n- Geospatial: maps, projections, basemaps, thematic layers, slippy\u002Fproduct maps, routes, zoom behavior, or cartographic interaction.\n- Dashboards: monitoring, streams, coordinated views, alerting, stale\u002Foffline states, and operational workspaces.\n- Statistical: distributions, intervals, uncertainty, missingness, aggregation, sampling, and analytical rigor.\n- Gantt: project schedules, task spans, milestones, dependencies, baselines, critical path, resources, and PM tool imports\u002Fexports.\n- Node-link layout: graph auto-layout, crossings, edge routing, overlap, stability, force\u002Flayered\u002Ftree\u002Fradial layouts.\n- UML\u002Fsoftware architecture: UML, C4, ERD, BPMN, sequence\u002Fclass\u002Factivity\u002Fstate diagrams, PlantUML, Mermaid, DOT, D2, Structurizr, DBML, XMI\u002FUMLDI.\n- Scrollytelling: scroll-driven state, sticky graphics, parallax, moviescrollers, Scrollama, ScrollTrigger, ScrollTimeline, key frames, reduced-motion scenes.\n- React\u002FNext.js: component ownership, hydration, client\u002Fserver boundaries, dynamic loading, route\u002Fsearch-param state, bundle and export integration.\n- TypeScript engineering: typed data contracts, reusable APIs, runtime boundaries, renderer adapters, URL codecs, saved-view schemas.\n- Testing: unit\u002Fcomponent\u002FE2E, visual regression, mocks, dashboard QA, canvas\u002FWebGL readiness, exports, and brittle-test avoidance.\n- Accessibility: text alternatives, contrast, redundant encodings, keyboard\u002Fscreen-reader paths, reduced motion, inclusive review.\n- Reports\u002Fslides: PDFs, PowerPoint\u002FGoogle Slides, document embedding, figure packaging, export assets, and regeneration.\n\nWhen routing is unclear, read `.\u002Freferences\u002Froute-by-problem.md` or `.\u002Freferences\u002Fprompt-routing-examples.md`. When stack choice is unclear, read `.\u002Freferences\u002Fdefault-stack-selection.md`.\n\n## Quality Gates\n\n- The answer must name the analytical job, chart or artifact family, primary route, and fallback when reasonable alternatives exist.\n- Explanatory work needs an insight title, takeaway, artifact mode, annotation plan, source\u002Fcaveat placement, and mobile reading path.\n- Prefer direct labels, embedded keys, small multiples, in-cell graphics, and annotation over detached legends, equal-weight dashboards, or hover-only discovery.\n- Use a color-role ledger: neutral context, primary focal accent, optional comparison accent, and separate treatment for selected\u002Ffocused\u002Falert states. Check contrast, grayscale, and color-deficiency resilience.\n- Treat accessibility, mobile, export, URL state, persistence, and QA as design inputs, not cleanup.\n- Keep essential values visible without hover. On mobile, replace hover with tap\u002Ffocus, enlarge hit regions, provide drag\u002Fpinch alternatives, and avoid control stacks that hide the main evidence.\n- For live or remote data, prefer stale-but-visible views with last-updated, live\u002Fstale\u002Foffline\u002Fpartial states, reconnect behavior, and low-bandwidth degradation.\n- Prefer declarative grammars before D3, D3\u002FSVG before Canvas when labels\u002Faxes dominate, Canvas before WebGL for simple dense flat marks, and WebGL\u002F3D only when scale, picking, shaders, particles, flow, geospatial layers, or depth justify it.\n- Motion, particles, generated imagery, domain substrates, and 3D must have a stated analytical purpose plus static\u002Freduced-motion fallback.\n- Use editorial hero and background substrates only when they improve orientation, scale, place, mechanism, or label-safe context. Quiet basemaps, terrain, thin cartographic linework, real\u002Fgenerated textures, or clear photographic crops are preferable to generic atmosphere.\n- Include an art-direction QA pass for generic AI atmosphere: broad brush strokes, wispy ribbons, bokeh\u002Forbs, one-hue drama, cinematic wallpaper, and background visuals that look polished but do not carry evidence or orientation.\n- For sensitive geopolitical, conflict, disaster, displacement, or humanitarian work, use `..\u002F..\u002Freferences\u002Ffoundations\u002Fsensitive-geopolitical-and-humanitarian-stories.md`; distinguish measured, estimated, disputed, dated, and schematic layers.\n- For fictional or illustrative stories, use `..\u002F..\u002Freferences\u002Ffoundations\u002Ffictional-data-story-simulation.md`; require enough deterministic simulated data to support the visual density.\n- Treat visual references as principle studies. Transform the idea so the output cannot be mistaken for the reference layout, palette, type system, scene, or pacing.\n\n## Response Contract\n\n- For recommendations: give the primary route, fallback route, chart\u002Fartifact family, stack fit, immediate evidence, on-demand details, mobile path, URL\u002Fpersistence state, accessibility notes, and QA checks.\n- For implementation: route to the narrowest specialist skill, then state renderer ownership, coordinate\u002Fdata encoding, interaction states, fallback\u002Frender-ready behavior, instance-count assumption, performance risks, and tests before editing.\n- For concept-first visual design: use the shared design workflow, show the required concept set, ask for approval before implementation, then preserve approved concepts as semantic contracts.\n- For composite deliverables: state the embedded visualization inventory, specialist owner for each meaningful layer, mini-brief, QA check, and delegated\u002Flocal fresh-pass status.\n\n## References\n\n- Router references: `.\u002Freferences\u002Froute-by-problem.md`, `.\u002Freferences\u002Fdefault-stack-selection.md`, `.\u002Freferences\u002Fprompt-routing-examples.md`.\n- Core foundations: `..\u002F..\u002Freferences\u002Ffoundations\u002Ftask-abstraction-and-chart-selection.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fperception-color-and-encoding.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fshareable-state-and-persistence.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fmobile-first-responsive-visualization.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Flayout-hierarchy-and-self-explanatory-ux.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fimplementation-design-and-tradeoffs.md`.\n- Advanced workflows: `..\u002F..\u002Freferences\u002Ffoundations\u002Feditorial-infographic-system.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fart-directed-interactive-visual-stories.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fmeaning-preserving-visual-design-workflow.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fembedded-visualization-self-use.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Ffictional-data-story-simulation.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Fsensitive-geopolitical-and-humanitarian-stories.md`, `..\u002F..\u002Freferences\u002Ffoundations\u002Foperational-visualization-workspaces.md`.\n- Templates: `..\u002F..\u002Fassets\u002Ftemplates\u002Fadvanced-interactive-visualization-contract.md`, `..\u002F..\u002Fassets\u002Ftemplates\u002Fvisual-design-contract.md`, `..\u002F..\u002Fassets\u002Ftemplates\u002Fchart-brief.md`, `..\u002F..\u002Fassets\u002Ftemplates\u002Fvisualization-test-plan.md`.\n",{"data":39,"body":40},{"name":4,"description":6},{"type":41,"children":42},"root",[43,52,59,65,70,75,80,86,161,167,256,285,291,380,386,409,415],{"type":44,"tag":45,"props":46,"children":48},"element","h1",{"id":47},"web-data-visualization",[49],{"type":50,"value":51},"text","Web Data Visualization",{"type":44,"tag":53,"props":54,"children":56},"h2",{"id":55},"overview",[57],{"type":50,"value":58},"Overview",{"type":44,"tag":60,"props":61,"children":62},"p",{},[63],{"type":50,"value":64},"Use this skill as the implicit orchestrator for the plugin. Classify the task, choose the smallest useful specialist skill set, and route before doing deep chart, renderer, testing, accessibility, or export work. Specialist skills stay explicit-only unless this router hands off to them.",{"type":44,"tag":60,"props":66,"children":67},{},[68],{"type":50,"value":69},"Default stance: the best visualization is the simplest truthful view that answers the user's question with the least decoding burden. Preserve evidence quality first: correct task abstraction, trustworthy data treatment, visible caveats, direct labels, accessible encodings, mobile viability, shareable state, and QA. Do not default to dashboards, 3D, animation, generated imagery, particles, or WebGL unless they carry analytical meaning.",{"type":44,"tag":60,"props":71,"children":72},{},[73],{"type":50,"value":74},"Contextual imagery, atmospheric marks, and motion must be evidence-bearing. Do not use broad translucent brush strokes, wispy ribbons, bokeh\u002Forbs, cinematic wallpaper, stock-photo haze, or decorative gradients as substitutes for data layers. When motion, flow, density, intensity, or spread appears, encode it with measured or clearly schematic contours, sampled fields, trajectories, particles with a defined unit or meaning, or annotated layers.",{"type":44,"tag":60,"props":76,"children":77},{},[78],{"type":50,"value":79},"Mobile is a primary surface. Unless the user explicitly excludes it, treat large-screen and mobile portrait as sibling states. Add mobile landscape when a wide substrate, AR\u002Fcamera\u002Fmotion, two-handed interaction, or keyboard-heavy workflow needs it.",{"type":44,"tag":53,"props":81,"children":83},{"id":82},"router-workflow",[84],{"type":50,"value":85},"Router Workflow",{"type":44,"tag":87,"props":88,"children":89},"ol",{},[90,96,101,106,111,116,121,135,140],{"type":44,"tag":91,"props":92,"children":93},"li",{},[94],{"type":50,"value":95},"Classify the analytical job: comparison\u002Franking, time change, distribution\u002Funcertainty, correlation, composition\u002Fflow, hierarchy\u002Fnetwork, software\u002Fsystem structure, schedule, monitoring, geography, or export\u002Freporting.",{"type":44,"tag":91,"props":97,"children":98},{},[99],{"type":50,"value":100},"Classify the data shape: tabular, time series, multivariate, matrix, tree\u002Fgraph, semantic diagram source, schedule\u002Fproject plan, geospatial, stream, or generated\u002Fsimulated story data.",{"type":44,"tag":91,"props":102,"children":103},{},[104],{"type":50,"value":105},"Lock delivery constraints: static vs interactive, exploratory vs explanatory, browser\u002Fdashboard\u002Freport\u002FPDF\u002Fslides, reuse level, scale, update rate, export, large-screen\u002Fmobile states, touch\u002Fkeyboard\u002Fpinch, sensors, alerting, bandwidth, and persistence.",{"type":44,"tag":91,"props":107,"children":108},{},[109],{"type":50,"value":110},"Define the reading path before the renderer: insight title, immediate evidence, on-demand detail, labels\u002Fkeys\u002Fcontrols, caveats, mobile order, and what should stay visible when panels collapse.",{"type":44,"tag":91,"props":112,"children":113},{},[114],{"type":50,"value":115},"Plan state explicitly: URL-backed filters, selections, ranges, zoom\u002Fmap\u002Fcamera, tabs, drill-down, saved-view ids, local\u002FIndexedDB\u002Fremote persistence, invalid state, copy-link, refresh, and back-button behavior.",{"type":44,"tag":91,"props":117,"children":118},{},[119],{"type":50,"value":120},"Choose whether a contextual substrate helps: map, field\u002Fcourt\u002Ftrack, floor plan, system schematic, terrain, object cutaway, or other domain surface. Use it only when it improves orientation or mark placement.",{"type":44,"tag":91,"props":122,"children":123},{},[124,126,133],{"type":50,"value":125},"Route to the narrowest specialist skill. If the request spans several visual layers, read ",{"type":44,"tag":127,"props":128,"children":130},"code",{"className":129},[],[131],{"type":50,"value":132},"..\u002F..\u002Freferences\u002Ffoundations\u002Fembedded-visualization-self-use.md",{"type":50,"value":134},", inventory the layers, assign owners, and use specialist passes for substantial layers.",{"type":44,"tag":91,"props":136,"children":137},{},[138],{"type":50,"value":139},"For new implementation work, include a compact technical design before coding: instance count, data\u002Finteraction profile, renderer ownership, URL\u002Fpersistence contract, mobile performance, page-level cost, maintenance tradeoffs, fallbacks, and QA.",{"type":44,"tag":91,"props":141,"children":142},{},[143,145,151,153,159],{"type":50,"value":144},"For advanced visual design, use ",{"type":44,"tag":127,"props":146,"children":148},{"className":147},[],[149],{"type":50,"value":150},"..\u002F..\u002Freferences\u002Ffoundations\u002Fmeaning-preserving-visual-design-workflow.md",{"type":50,"value":152}," and ",{"type":44,"tag":127,"props":154,"children":156},{"className":155},[],[157],{"type":50,"value":158},"..\u002F..\u002Freferences\u002Ffoundations\u002Fmobile-first-responsive-visualization.md",{"type":50,"value":160},"; generate large-screen and mobile concepts, pause for approval, and treat approved concepts as semantic contracts.",{"type":44,"tag":53,"props":162,"children":164},{"id":163},"routing-matrix",[165],{"type":50,"value":166},"Routing Matrix",{"type":44,"tag":168,"props":169,"children":170},"ul",{},[171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251],{"type":44,"tag":91,"props":172,"children":173},{},[174],{"type":50,"value":175},"Strategy and critique: chart choice, hierarchy, narrative claim, visual critique, anti-patterns, layout reasoning.",{"type":44,"tag":91,"props":177,"children":178},{},[179],{"type":50,"value":180},"Declarative grammar: standard tabular charts that fit Vega-Lite, Vega, Observable Plot, or similar grammar.",{"type":44,"tag":91,"props":182,"children":183},{},[184],{"type":50,"value":185},"D3\u002FSVG: bespoke SVG\u002FDOM geometry, direct labels, axes, annotations, transitions, or crisp vector polish.",{"type":44,"tag":91,"props":187,"children":188},{},[189],{"type":50,"value":190},"Canvas2D: dense flat marks, frequent redraw, custom hit testing, sparkline tables, or repeated microcharts.",{"type":44,"tag":91,"props":192,"children":193},{},[194],{"type":50,"value":195},"Three.js\u002FWebGL: GPU-scale marks, particles, flow, shader effects, true 3D, deck.gl, PixiJS, Sigma.js, CesiumJS, luma.gl, or raw WebGL when analytical value justifies it.",{"type":44,"tag":91,"props":197,"children":198},{},[199],{"type":50,"value":200},"Geospatial: maps, projections, basemaps, thematic layers, slippy\u002Fproduct maps, routes, zoom behavior, or cartographic interaction.",{"type":44,"tag":91,"props":202,"children":203},{},[204],{"type":50,"value":205},"Dashboards: monitoring, streams, coordinated views, alerting, stale\u002Foffline states, and operational workspaces.",{"type":44,"tag":91,"props":207,"children":208},{},[209],{"type":50,"value":210},"Statistical: distributions, intervals, uncertainty, missingness, aggregation, sampling, and analytical rigor.",{"type":44,"tag":91,"props":212,"children":213},{},[214],{"type":50,"value":215},"Gantt: project schedules, task spans, milestones, dependencies, baselines, critical path, resources, and PM tool imports\u002Fexports.",{"type":44,"tag":91,"props":217,"children":218},{},[219],{"type":50,"value":220},"Node-link layout: graph auto-layout, crossings, edge routing, overlap, stability, force\u002Flayered\u002Ftree\u002Fradial layouts.",{"type":44,"tag":91,"props":222,"children":223},{},[224],{"type":50,"value":225},"UML\u002Fsoftware architecture: UML, C4, ERD, BPMN, sequence\u002Fclass\u002Factivity\u002Fstate diagrams, PlantUML, Mermaid, DOT, D2, Structurizr, DBML, XMI\u002FUMLDI.",{"type":44,"tag":91,"props":227,"children":228},{},[229],{"type":50,"value":230},"Scrollytelling: scroll-driven state, sticky graphics, parallax, moviescrollers, Scrollama, ScrollTrigger, ScrollTimeline, key frames, reduced-motion scenes.",{"type":44,"tag":91,"props":232,"children":233},{},[234],{"type":50,"value":235},"React\u002FNext.js: component ownership, hydration, client\u002Fserver boundaries, dynamic loading, route\u002Fsearch-param state, bundle and export integration.",{"type":44,"tag":91,"props":237,"children":238},{},[239],{"type":50,"value":240},"TypeScript engineering: typed data contracts, reusable APIs, runtime boundaries, renderer adapters, URL codecs, saved-view schemas.",{"type":44,"tag":91,"props":242,"children":243},{},[244],{"type":50,"value":245},"Testing: unit\u002Fcomponent\u002FE2E, visual regression, mocks, dashboard QA, canvas\u002FWebGL readiness, exports, and brittle-test avoidance.",{"type":44,"tag":91,"props":247,"children":248},{},[249],{"type":50,"value":250},"Accessibility: text alternatives, contrast, redundant encodings, keyboard\u002Fscreen-reader paths, reduced motion, inclusive review.",{"type":44,"tag":91,"props":252,"children":253},{},[254],{"type":50,"value":255},"Reports\u002Fslides: PDFs, PowerPoint\u002FGoogle Slides, document embedding, figure packaging, export assets, and regeneration.",{"type":44,"tag":60,"props":257,"children":258},{},[259,261,267,269,275,277,283],{"type":50,"value":260},"When routing is unclear, read ",{"type":44,"tag":127,"props":262,"children":264},{"className":263},[],[265],{"type":50,"value":266},".\u002Freferences\u002Froute-by-problem.md",{"type":50,"value":268}," or ",{"type":44,"tag":127,"props":270,"children":272},{"className":271},[],[273],{"type":50,"value":274},".\u002Freferences\u002Fprompt-routing-examples.md",{"type":50,"value":276},". When stack choice is unclear, read ",{"type":44,"tag":127,"props":278,"children":280},{"className":279},[],[281],{"type":50,"value":282},".\u002Freferences\u002Fdefault-stack-selection.md",{"type":50,"value":284},".",{"type":44,"tag":53,"props":286,"children":288},{"id":287},"quality-gates",[289],{"type":50,"value":290},"Quality Gates",{"type":44,"tag":168,"props":292,"children":293},{},[294,299,304,309,314,319,324,329,334,339,344,349,362,375],{"type":44,"tag":91,"props":295,"children":296},{},[297],{"type":50,"value":298},"The answer must name the analytical job, chart or artifact family, primary route, and fallback when reasonable alternatives exist.",{"type":44,"tag":91,"props":300,"children":301},{},[302],{"type":50,"value":303},"Explanatory work needs an insight title, takeaway, artifact mode, annotation plan, source\u002Fcaveat placement, and mobile reading path.",{"type":44,"tag":91,"props":305,"children":306},{},[307],{"type":50,"value":308},"Prefer direct labels, embedded keys, small multiples, in-cell graphics, and annotation over detached legends, equal-weight dashboards, or hover-only discovery.",{"type":44,"tag":91,"props":310,"children":311},{},[312],{"type":50,"value":313},"Use a color-role ledger: neutral context, primary focal accent, optional comparison accent, and separate treatment for selected\u002Ffocused\u002Falert states. Check contrast, grayscale, and color-deficiency resilience.",{"type":44,"tag":91,"props":315,"children":316},{},[317],{"type":50,"value":318},"Treat accessibility, mobile, export, URL state, persistence, and QA as design inputs, not cleanup.",{"type":44,"tag":91,"props":320,"children":321},{},[322],{"type":50,"value":323},"Keep essential values visible without hover. On mobile, replace hover with tap\u002Ffocus, enlarge hit regions, provide drag\u002Fpinch alternatives, and avoid control stacks that hide the main evidence.",{"type":44,"tag":91,"props":325,"children":326},{},[327],{"type":50,"value":328},"For live or remote data, prefer stale-but-visible views with last-updated, live\u002Fstale\u002Foffline\u002Fpartial states, reconnect behavior, and low-bandwidth degradation.",{"type":44,"tag":91,"props":330,"children":331},{},[332],{"type":50,"value":333},"Prefer declarative grammars before D3, D3\u002FSVG before Canvas when labels\u002Faxes dominate, Canvas before WebGL for simple dense flat marks, and WebGL\u002F3D only when scale, picking, shaders, particles, flow, geospatial layers, or depth justify it.",{"type":44,"tag":91,"props":335,"children":336},{},[337],{"type":50,"value":338},"Motion, particles, generated imagery, domain substrates, and 3D must have a stated analytical purpose plus static\u002Freduced-motion fallback.",{"type":44,"tag":91,"props":340,"children":341},{},[342],{"type":50,"value":343},"Use editorial hero and background substrates only when they improve orientation, scale, place, mechanism, or label-safe context. Quiet basemaps, terrain, thin cartographic linework, real\u002Fgenerated textures, or clear photographic crops are preferable to generic atmosphere.",{"type":44,"tag":91,"props":345,"children":346},{},[347],{"type":50,"value":348},"Include an art-direction QA pass for generic AI atmosphere: broad brush strokes, wispy ribbons, bokeh\u002Forbs, one-hue drama, cinematic wallpaper, and background visuals that look polished but do not carry evidence or orientation.",{"type":44,"tag":91,"props":350,"children":351},{},[352,354,360],{"type":50,"value":353},"For sensitive geopolitical, conflict, disaster, displacement, or humanitarian work, use ",{"type":44,"tag":127,"props":355,"children":357},{"className":356},[],[358],{"type":50,"value":359},"..\u002F..\u002Freferences\u002Ffoundations\u002Fsensitive-geopolitical-and-humanitarian-stories.md",{"type":50,"value":361},"; distinguish measured, estimated, disputed, dated, and schematic layers.",{"type":44,"tag":91,"props":363,"children":364},{},[365,367,373],{"type":50,"value":366},"For fictional or illustrative stories, use ",{"type":44,"tag":127,"props":368,"children":370},{"className":369},[],[371],{"type":50,"value":372},"..\u002F..\u002Freferences\u002Ffoundations\u002Ffictional-data-story-simulation.md",{"type":50,"value":374},"; require enough deterministic simulated data to support the visual density.",{"type":44,"tag":91,"props":376,"children":377},{},[378],{"type":50,"value":379},"Treat visual references as principle studies. Transform the idea so the output cannot be mistaken for the reference layout, palette, type system, scene, or pacing.",{"type":44,"tag":53,"props":381,"children":383},{"id":382},"response-contract",[384],{"type":50,"value":385},"Response Contract",{"type":44,"tag":168,"props":387,"children":388},{},[389,394,399,404],{"type":44,"tag":91,"props":390,"children":391},{},[392],{"type":50,"value":393},"For recommendations: give the primary route, fallback route, chart\u002Fartifact family, stack fit, immediate evidence, on-demand details, mobile path, URL\u002Fpersistence state, accessibility notes, and QA checks.",{"type":44,"tag":91,"props":395,"children":396},{},[397],{"type":50,"value":398},"For implementation: route to the narrowest specialist skill, then state renderer ownership, coordinate\u002Fdata encoding, interaction states, fallback\u002Frender-ready behavior, instance-count assumption, performance risks, and tests before editing.",{"type":44,"tag":91,"props":400,"children":401},{},[402],{"type":50,"value":403},"For concept-first visual design: use the shared design workflow, show the required concept set, ask for approval before implementation, then preserve approved concepts as semantic contracts.",{"type":44,"tag":91,"props":405,"children":406},{},[407],{"type":50,"value":408},"For composite deliverables: state the embedded visualization inventory, specialist owner for each meaningful layer, mini-brief, QA check, and delegated\u002Flocal fresh-pass status.",{"type":44,"tag":53,"props":410,"children":412},{"id":411},"references",[413],{"type":50,"value":414},"References",{"type":44,"tag":168,"props":416,"children":417},{},[418,442,488,538],{"type":44,"tag":91,"props":419,"children":420},{},[421,423,428,430,435,436,441],{"type":50,"value":422},"Router references: ",{"type":44,"tag":127,"props":424,"children":426},{"className":425},[],[427],{"type":50,"value":266},{"type":50,"value":429},", ",{"type":44,"tag":127,"props":431,"children":433},{"className":432},[],[434],{"type":50,"value":282},{"type":50,"value":429},{"type":44,"tag":127,"props":437,"children":439},{"className":438},[],[440],{"type":50,"value":274},{"type":50,"value":284},{"type":44,"tag":91,"props":443,"children":444},{},[445,447,453,454,460,461,467,468,473,474,480,481,487],{"type":50,"value":446},"Core foundations: ",{"type":44,"tag":127,"props":448,"children":450},{"className":449},[],[451],{"type":50,"value":452},"..\u002F..\u002Freferences\u002Ffoundations\u002Ftask-abstraction-and-chart-selection.md",{"type":50,"value":429},{"type":44,"tag":127,"props":455,"children":457},{"className":456},[],[458],{"type":50,"value":459},"..\u002F..\u002Freferences\u002Ffoundations\u002Fperception-color-and-encoding.md",{"type":50,"value":429},{"type":44,"tag":127,"props":462,"children":464},{"className":463},[],[465],{"type":50,"value":466},"..\u002F..\u002Freferences\u002Ffoundations\u002Fshareable-state-and-persistence.md",{"type":50,"value":429},{"type":44,"tag":127,"props":469,"children":471},{"className":470},[],[472],{"type":50,"value":158},{"type":50,"value":429},{"type":44,"tag":127,"props":475,"children":477},{"className":476},[],[478],{"type":50,"value":479},"..\u002F..\u002Freferences\u002Ffoundations\u002Flayout-hierarchy-and-self-explanatory-ux.md",{"type":50,"value":429},{"type":44,"tag":127,"props":482,"children":484},{"className":483},[],[485],{"type":50,"value":486},"..\u002F..\u002Freferences\u002Ffoundations\u002Fimplementation-design-and-tradeoffs.md",{"type":50,"value":284},{"type":44,"tag":91,"props":489,"children":490},{},[491,493,499,500,506,507,512,513,518,519,524,525,530,531,537],{"type":50,"value":492},"Advanced workflows: ",{"type":44,"tag":127,"props":494,"children":496},{"className":495},[],[497],{"type":50,"value":498},"..\u002F..\u002Freferences\u002Ffoundations\u002Feditorial-infographic-system.md",{"type":50,"value":429},{"type":44,"tag":127,"props":501,"children":503},{"className":502},[],[504],{"type":50,"value":505},"..\u002F..\u002Freferences\u002Ffoundations\u002Fart-directed-interactive-visual-stories.md",{"type":50,"value":429},{"type":44,"tag":127,"props":508,"children":510},{"className":509},[],[511],{"type":50,"value":150},{"type":50,"value":429},{"type":44,"tag":127,"props":514,"children":516},{"className":515},[],[517],{"type":50,"value":132},{"type":50,"value":429},{"type":44,"tag":127,"props":520,"children":522},{"className":521},[],[523],{"type":50,"value":372},{"type":50,"value":429},{"type":44,"tag":127,"props":526,"children":528},{"className":527},[],[529],{"type":50,"value":359},{"type":50,"value":429},{"type":44,"tag":127,"props":532,"children":534},{"className":533},[],[535],{"type":50,"value":536},"..\u002F..\u002Freferences\u002Ffoundations\u002Foperational-visualization-workspaces.md",{"type":50,"value":284},{"type":44,"tag":91,"props":539,"children":540},{},[541,543,549,550,556,557,563,564,570],{"type":50,"value":542},"Templates: ",{"type":44,"tag":127,"props":544,"children":546},{"className":545},[],[547],{"type":50,"value":548},"..\u002F..\u002Fassets\u002Ftemplates\u002Fadvanced-interactive-visualization-contract.md",{"type":50,"value":429},{"type":44,"tag":127,"props":551,"children":553},{"className":552},[],[554],{"type":50,"value":555},"..\u002F..\u002Fassets\u002Ftemplates\u002Fvisual-design-contract.md",{"type":50,"value":429},{"type":44,"tag":127,"props":558,"children":560},{"className":559},[],[561],{"type":50,"value":562},"..\u002F..\u002Fassets\u002Ftemplates\u002Fchart-brief.md",{"type":50,"value":429},{"type":44,"tag":127,"props":565,"children":567},{"className":566},[],[568],{"type":50,"value":569},"..\u002F..\u002Fassets\u002Ftemplates\u002Fvisualization-test-plan.md",{"type":50,"value":284},{"items":572,"total":777},[573,594,617,634,650,669,688,704,720,734,746,761],{"slug":574,"name":574,"fn":575,"description":576,"org":577,"tags":578,"stars":591,"repoUrl":592,"updatedAt":593},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[579,582,585,588],{"name":580,"slug":581,"type":15},"Documents","documents",{"name":583,"slug":584,"type":15},"Healthcare","healthcare",{"name":586,"slug":587,"type":15},"Insurance","insurance",{"name":589,"slug":590,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":595,"name":595,"fn":596,"description":597,"org":598,"tags":599,"stars":614,"repoUrl":615,"updatedAt":616},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[600,603,605,608,611],{"name":601,"slug":602,"type":15},".NET","dotnet",{"name":604,"slug":595,"type":15},"ASP.NET Core",{"name":606,"slug":607,"type":15},"Blazor","blazor",{"name":609,"slug":610,"type":15},"C#","csharp",{"name":612,"slug":613,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":618,"name":618,"fn":619,"description":620,"org":621,"tags":622,"stars":614,"repoUrl":615,"updatedAt":633},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[623,626,629,632],{"name":624,"slug":625,"type":15},"Apps SDK","apps-sdk",{"name":627,"slug":628,"type":15},"ChatGPT","chatgpt",{"name":630,"slug":631,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":635,"name":635,"fn":636,"description":637,"org":638,"tags":639,"stars":614,"repoUrl":615,"updatedAt":649},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[640,643,646],{"name":641,"slug":642,"type":15},"API Development","api-development",{"name":644,"slug":645,"type":15},"CLI","cli",{"name":647,"slug":648,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":651,"name":651,"fn":652,"description":653,"org":654,"tags":655,"stars":614,"repoUrl":615,"updatedAt":668},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[656,659,662,665],{"name":657,"slug":658,"type":15},"Cloudflare","cloudflare",{"name":660,"slug":661,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":663,"slug":664,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":666,"slug":667,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":670,"name":670,"fn":671,"description":672,"org":673,"tags":674,"stars":614,"repoUrl":615,"updatedAt":687},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[675,678,681,684],{"name":676,"slug":677,"type":15},"Productivity","productivity",{"name":679,"slug":680,"type":15},"Project Management","project-management",{"name":682,"slug":683,"type":15},"Strategy","strategy",{"name":685,"slug":686,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":689,"name":689,"fn":690,"description":691,"org":692,"tags":693,"stars":614,"repoUrl":615,"updatedAt":703},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[694,697,699,702],{"name":695,"slug":696,"type":15},"Design","design",{"name":698,"slug":689,"type":15},"Figma",{"name":700,"slug":701,"type":15},"Frontend","frontend",{"name":630,"slug":631,"type":15},"2026-04-12T05:06:47.939943",{"slug":705,"name":705,"fn":706,"description":707,"org":708,"tags":709,"stars":614,"repoUrl":615,"updatedAt":719},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[710,711,714,715,716],{"name":695,"slug":696,"type":15},{"name":712,"slug":713,"type":15},"Design System","design-system",{"name":698,"slug":689,"type":15},{"name":700,"slug":701,"type":15},{"name":717,"slug":718,"type":15},"UI Components","ui-components","2026-05-10T05:59:52.971881",{"slug":721,"name":721,"fn":722,"description":723,"org":724,"tags":725,"stars":614,"repoUrl":615,"updatedAt":733},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[726,727,728,731,732],{"name":695,"slug":696,"type":15},{"name":712,"slug":713,"type":15},{"name":729,"slug":730,"type":15},"Documentation","documentation",{"name":698,"slug":689,"type":15},{"name":700,"slug":701,"type":15},"2026-05-16T06:07:47.821474",{"slug":735,"name":735,"fn":736,"description":737,"org":738,"tags":739,"stars":614,"repoUrl":615,"updatedAt":745},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[740,741,742,743,744],{"name":695,"slug":696,"type":15},{"name":698,"slug":689,"type":15},{"name":700,"slug":701,"type":15},{"name":717,"slug":718,"type":15},{"name":612,"slug":613,"type":15},"2026-05-16T06:07:40.583615",{"slug":747,"name":747,"fn":748,"description":749,"org":750,"tags":751,"stars":614,"repoUrl":615,"updatedAt":760},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[752,755,756,759],{"name":753,"slug":754,"type":15},"Animation","animation",{"name":647,"slug":648,"type":15},{"name":757,"slug":758,"type":15},"Creative","creative",{"name":695,"slug":696,"type":15},"2026-05-02T05:31:48.48485",{"slug":762,"name":762,"fn":763,"description":764,"org":765,"tags":766,"stars":614,"repoUrl":615,"updatedAt":776},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[767,768,769,772,775],{"name":757,"slug":758,"type":15},{"name":695,"slug":696,"type":15},{"name":770,"slug":771,"type":15},"Image Generation","image-generation",{"name":773,"slug":774,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675,{"items":779,"total":888},[780,792,808,820,838,856,876],{"slug":781,"name":781,"fn":782,"description":783,"org":784,"tags":785,"stars":27,"repoUrl":28,"updatedAt":29},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[786,789,790,791],{"name":787,"slug":788,"type":15},"Accessibility","accessibility",{"name":19,"slug":20,"type":15},{"name":17,"slug":4,"type":15},{"name":695,"slug":696,"type":15},{"slug":793,"name":793,"fn":794,"description":795,"org":796,"tags":797,"stars":27,"repoUrl":28,"updatedAt":807},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[798,801,804],{"name":799,"slug":800,"type":15},"Agents","agents",{"name":802,"slug":803,"type":15},"Browser Automation","browser-automation",{"name":805,"slug":806,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":809,"name":809,"fn":810,"description":811,"org":812,"tags":813,"stars":27,"repoUrl":28,"updatedAt":819},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[814,815,818],{"name":802,"slug":803,"type":15},{"name":816,"slug":817,"type":15},"Local Development","local-development",{"name":805,"slug":806,"type":15},"2026-04-06T18:41:17.526867",{"slug":821,"name":821,"fn":822,"description":823,"org":824,"tags":825,"stars":27,"repoUrl":28,"updatedAt":837},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[826,827,828,831,834],{"name":799,"slug":800,"type":15},{"name":663,"slug":664,"type":15},{"name":829,"slug":830,"type":15},"SDK","sdk",{"name":832,"slug":833,"type":15},"Serverless","serverless",{"name":835,"slug":836,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":839,"name":839,"fn":840,"description":841,"org":842,"tags":843,"stars":27,"repoUrl":28,"updatedAt":855},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[844,845,848,851,852],{"name":700,"slug":701,"type":15},{"name":846,"slug":847,"type":15},"React","react",{"name":849,"slug":850,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":717,"slug":718,"type":15},{"name":853,"slug":854,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":857,"name":857,"fn":858,"description":859,"org":860,"tags":861,"stars":27,"repoUrl":28,"updatedAt":875},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[862,865,868,871,874],{"name":863,"slug":864,"type":15},"AI Infrastructure","ai-infrastructure",{"name":866,"slug":867,"type":15},"Cost Optimization","cost-optimization",{"name":869,"slug":870,"type":15},"LLM","llm",{"name":872,"slug":873,"type":15},"Performance","performance",{"name":853,"slug":854,"type":15},"2026-04-06T18:40:44.377464",{"slug":877,"name":877,"fn":878,"description":879,"org":880,"tags":881,"stars":27,"repoUrl":28,"updatedAt":887},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[882,883,886],{"name":866,"slug":867,"type":15},{"name":884,"slug":885,"type":15},"Database","database",{"name":869,"slug":870,"type":15},"2026-04-06T18:41:08.513425",600]