Skip to content
cccskills
Official · CodexFreePublished on GitHub

grammar-of-graphics-and-declarative-visualization

Build charts from tables using Vega-Lite, Vega, or Observable Plot. Describe data, visual elements, and interactions in reusable definitions, choose a suitable tool, and assess mobile layout, performance, and when custom rendering becomes necessary.

OriginalShow the original description

Build data visualizations with declarative grammars. Use when the user needs Vega-Lite, Vega, Observable Plot, or grammar-of-graphics reasoning, especially for tabular charts that do not require bespoke rendering.

See how to install

Good for

  • Writing a Vega-Lite chart specification from a dataset
  • Choosing between Plot, Vega-Lite, and D3
  • Building layered charts with panels and tooltips
  • Reviewing mobile chart behavior and rendering limits

Files included (5)

  • SKILL.md3.2 KB
  • agents/openai.yaml197 B
  • references/observable-plot.md930 B
  • references/vega-lite-and-vega.md964 B
  • references/when-to-stay-declarative.md1.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Grammar of Graphics and Declarative Visualization

Overview

Use this skill as the default implementation path for many tabular charts. Declarative grammars are often the fastest, clearest, and most maintainable route when the chart can be expressed as data plus marks plus encodings plus transforms.

This skill covers Vega-Lite, Vega, and Observable Plot. Default to the highest-level tool that cleanly expresses the needed chart and interaction.

Selection Rules

  1. Use Observable Plot for fast exploratory and explanatory charts in JavaScript when concise code is valuable.
  2. Use Vega-Lite for portable, declarative specs, multi-view composition, transforms, and embed-friendly chart definitions.
  3. Use Vega when the user needs lower-level control that still benefits from a declarative runtime.
  4. Leave this skill and route to D3, Canvas, or the Three.js/WebGL skill only when the chart requires bespoke layout, extreme density, GPU-scale rendering, particles, true 3D, or rendering control that the grammar no longer expresses cleanly.

Working Pattern

  1. Normalize the table shape.
  2. Name the mark, encodings, transforms, faceting, and interaction model explicitly.
  3. Choose the highest-level grammar that supports the chart without contortions.
  4. Keep specs readable and portable.
  5. Check whether the declarative approach still fits the expected number of simultaneous chart instances on the page.
  6. Check mobile portrait and optional landscape behavior: responsive spec, label/tick reduction, hover replacement, touch target policy, and whether the grammar can keep the main visualization visible around controls.
  7. Use declarative composition before custom code.

Output Expectations

  • Explain why the chosen grammar fits better than bespoke rendering.
  • Keep the spec readable enough to be reused, embedded, or translated across stacks.
  • Call out when the declarative path is reaching its limits and a lower-level skill should take over.
  • Call out whether the grammar can support the mobile concept contract or whether D3, Canvas, WebGL, or framework-owned layout should take over.
  • For new work, include a technical design section covering instance-count assumptions, performance implications, and the maintenance upside of staying declarative.

References

  • Shared theory:
    • ../../references/foundations/task-abstraction-and-chart-selection.md
    • ../../references/foundations/perception-color-and-encoding.md
    • ../../references/foundations/mobile-first-responsive-visualization.md
    • ../../references/foundations/implementation-design-and-tradeoffs.md
  • Skill references:
    • ./references/vega-lite-and-vega.md
    • ./references/observable-plot.md
    • ./references/when-to-stay-declarative.md

Representative Prompts

  • "Write a Vega-Lite spec for this dataset."
  • "Should I use Plot, Vega-Lite, or D3 for this chart?"
  • "Build a layered declarative chart with faceting and tooltips."
  • "Tell me when this declarative approach stops being a good fit."

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

accessibility-and-inclusive-visualization

Official · CodexFreeSummary

Review charts, diagrams, and dashboards for accessibility, including color contrast, keyboard access, and text alternatives. Get specific guidance for preserving key findings in screen readers, static exports, and reduced-motion views.

  • Reviewing dashboard colors and keyboard access
  • Writing chart alt text and long descriptions
  • Preparing accessible figures for PDF reports
openai/plugins7.5KUpdated Oct 8, 2026

adobe-batch-edit-photos

Official · CodexFreeSummary

Give a photo collection a consistent look using Adobe tools to adjust color, tone, presets, and optional crops. Review a before-and-after sample before processing the full set, then receive links to the edited images.

  • Giving travel photos a consistent look
  • Unifying photos taken in mixed lighting
  • Applying a warm or cinematic style across a photo set
openai/plugins7.5KUpdated Oct 8, 2026

adobe-create-mockups

Official · CodexFreeSummary

Visualize a logo, sketch, or design on products such as mugs, shirts, and business cards. Review a pilot image, generate a visually consistent set, and collect the results on a shareable Firefly Board.

  • Preview a logo on mugs and shirts
  • Turn a hand-drawn sketch into product mockups
  • Create consistent brand presentation images
openai/plugins7.5KUpdated Oct 8, 2026

adobe-create-social-variations

Official · CodexFreeSummary

Prepare images and videos for social platforms using Adobe tools. Create image crops that keep the subject in view, expand backgrounds when available, preview a full-set sample, and resize videos while preserving their aspect ratio.

  • Creating image variants for multiple social platforms
  • Cropping photos for Instagram Stories
  • Preparing LinkedIn images and YouTube thumbnails
openai/plugins7.5KUpdated Oct 8, 2026

adobe-design-from-template

Official · CodexFreeSummary

Create flyers, social posts, business cards, and other visuals from Adobe Express templates. Choose a template, customize its text and background color, and receive a design link, with additional editing and export options depending on the available tools.

  • Creating an event flyer
  • Designing an Instagram post
  • Customizing business card text and colors
openai/plugins7.5KUpdated Oct 8, 2026

adobe-edit-quick-cut

Official · CodexFreeSummary

Turn an uploaded video into three highlight edits with Adobe Quick Cut. Choose a target length and style, then compare versions that feature different moments and download the ones you prefer.

  • Creating a short highlight video for social media
  • Condensing interview footage into a highlight reel
  • Comparing three edits with different moment selections
openai/plugins7.5KUpdated Oct 8, 2026

See all skills by openai

Report a problem with this skill