yzlnew/infra-skills/openai-dotcom-viz

Claude Code and agent skill by yzlnew/infra-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Build figures in OpenAI's blog / research / system-card "dotcom" visual style — both (a) bar charts (monochrome bars with a darker same-hue stroke, rounded corners, a black y-axis with outward ticks and no gridlines, circle legend markers left-aligned to the y-axis, value labels above bars, angled category labels) and (b) flow / process diagrams (rounded boxes, monospace uppercase pills, pink highlights, thin open-chevron "arrow" connectors with rounded corners, dashed = negative branch). Everything uses the real OpenAI Sans font and is emitted as self-contained HTML/SVG with zero dependencies. Use this whenever the user wants a chart, pipeline/flow diagram, or figure that looks like OpenAI's website / posts / papers, asks to reproduce an OpenAI figure, or is building a deck or page in an OpenAI-flavored style. Prefer this over generic charting (matplotlib/Chart.js/Recharts) or generic diagram tools (Mermaid) when the aesthetic should match OpenAI.

Install

npx vskill@latest install yzlnew/infra-skills/openai-dotcom-viz

SKILL.md

OpenAI dotcom figures

Reproduce the two figure types OpenAI uses in its posts, as self-contained HTML/SVG (no Vega, D3, Mermaid, or build step):

  1. Bar charts — grouped or single-series. → see "Bar charts" below.
  2. Flow / process diagrams — e.g. the "Quality assurance pipeline". → see

"Flow diagrams" below.

Both share one design system: the real OpenAI Sans font (loaded from OpenAI's public CDN), near-black ink #0d0d0d, and a pink accent. The full color palette (6 hues × 5 shades) and token rules are in references/design-spec.md — read it when you need extra hues, more series, or to theme surrounding page elements so everything reads as one system.

Bar charts

Use the bundled renderer assets/openai-chart.js — a zero-dependency function that draws the chart into an <svg> from a data spec. It injects the font + the chart styles itself, so a <script src> plus a spec is all a page needs.

html
<script src="assets/openai-chart.js"></script>
<svg id="chart"></svg>
<script>
renderOpenAIBarChart("#chart", {
title: "Share of Dataset Flagged by Issue Type",
yAxisTitle: "Percent of total dataset",
valueFormat: "percent", // values are fractions (0.144 -> "14.4%")
yMax: 0.20, yTickStep: 0.05,
categories: ["Overly strict\ntests", "Low-coverage\ntests", /* … */], // \n wraps a label
series: [
{ name: "Human supervised agent review", values: [0.144, 0.041, /* … */] },
{ name: "Human annotations", values: [0.178, 0.094, /* … */] }
]
});
</script>

Colors auto-assign from the palette, so you usually pass only names + values. assets/chart-example.html reproduces the reference figure.

Spec fields: categories (use \n to wrap), series[] ({name, values[], fill?, stroke?}), title, yAxisTitle, valueFormat ("percent" default | "number" | fn), yMax, yTickStep/yTicks, width/height, bottomMargin (raise if labels clip), legend:false, palette (override colors). The look — one-hue bars with a darker same-hue stroke, rounded rects, black y-axis with ticks and no gridlines, circle legend left-aligned to the axis, value labels above bars, −45° category labels — is baked in.

Flow diagrams

These are hand-arranged, not generated (branching/alignment are judgement calls). The skill gives you the primitives and the look; you assemble the layout. Include assets/openai-figure.css, wrap the diagram in <div class="oai-figure">, add the arrow marker once, and compose from .box / .subbox / .pill / .conn. Copy assets/flow-example.html (a complete working pipeline) as a start.

Read references/flow-diagram.md for: the primitives, the open-chevron arrow marker, rounded-corner connector recipes, and the column layout approach. Key style points: rounded boxes + 1.5px black keylines, monospace UPPERCASE pills (.pill, .pill.accent = solid pink, .pill.dotted = stippled pink), thin open-chevron connectors (never filled triangles), rounded corners on turns, and a dashed shaft for a negative/"did-not-happen" branch.

Gotcha: never put a literal three-dash arrow inside an HTML comment — the -->
inside it closes the comment early and leaks text onto the page.

Fonts & offline

OpenAI Sans loads over the network from cdn.openai.com (CORS-open). For strictly offline/print output, download the four weights (OpenAISans-{Regular,Medium,Semibold,Bold}.woff2 under https://cdn.openai.com/common/fonts/openai-sans/) and inline them as base64 @font-face src:url(data:font/woff2;base64,…), replacing the CDN URLs. Otherwise it falls back to Helvetica/Arial — close but not exact. (OpenAI's monospace, used for pill labels, is not on the public CDN; a generic monospace matches the look.)

Verifying output

Render headless and eyeball it (give the font time to load, or you'll snapshot the fallback):

bash
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--headless --disable-gpu --hide-scrollbars --window-size=1000,760 \
--screenshot=out.png --virtual-time-budget=3500 "file://$PWD/figure.html"

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
140
Repository forks
11
7-day trend score
25

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yzlnew/infra-skills/openai-dotcom-viz/badge)](https://verified-skill.com/skills/yzlnew/infra-skills/openai-dotcom-viz)

Something wrong with this skill or its page? Tell us.