grammar-of-graphics-and-declarative-visualization

작성자: openai

선언적 문법으로 데이터 시각화를 구축합니다. 사용자가 Vega-Lite, Vega, Observable Plot 또는 그래픽 문법 추론이 필요할 때 사용하며, 특히…

npx skills add https://github.com/openai/plugins --skill grammar-of-graphics-and-declarative-visualization

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."

openai의 다른 스킬

release
openai
커밋된 버전을 올리고, 이를 반영하고, 병합된 커밋에 태그를 단 후, Burrito 릴리스 워크플로우를 검증하여 Symphony 릴리스를 진행합니다. 다음과 같이 요청받았을 때 사용합니다…
signing-entitlements
openai
macOS 앱의 서명, 자격, 강화된 런타임 및 Gatekeeper 문제를 검사합니다. 코드 서명 실패, 누락된 자격 등을 진단하라는 요청을 받을 때 사용하세요.
building-ai-agent-on-cloudflare
openai
Cloudflare에서 Agents SDK를 사용하여 상태 관리, 실시간 WebSockets, 예약 작업, 도구 통합, 채팅을 통해 AI 에이전트를 구축합니다…
epigraphdb-skill
openai
온톨로지, 문헌, MR, 유전자-약물 및 지원 경로 증거에 대한 간결한 EpiGraphDB API 요청을 제출합니다. 사용자가 간결한 EpiGraphDB 요약을 원할 때 사용하세요.
runtime-behavior-probe
openai
런타임 동작 조사를 계획하고 실행하며, 임시 프로브 스크립트, 검증 매트릭스, 상태 제어, 결과 우선 보고서를 사용합니다. 다음 경우에만 사용하세요…
deep-security-scan
openai
사용자가 심층적이고, 철저하며, 다중 패스 또는 변동성을 줄이는 저장소 전체 또는 범위가 지정된 경로의 Codex Security 스캔을 요청할 때 사용합니다. 반복적으로 독립적인…
define-security-policy
openai
저장소 또는 구성 요소에 대한 SECURITY.md 지침을 정의, 검토 또는 업데이트합니다. 사용자가 Codex Security가 검토해야 할 대상과 범위를 벗어나는 항목을 명확히 하려 할 때 사용합니다…
validation
openai
Codex가 보안 스캔의 검증 단계에 이미 있거나 사용자가 하나 이상의 후보 보안 결과를 판별하도록 명시적으로 요청할 때 사용합니다…