Visualize
code-yeongyu/oh-my-openagent
Builds a self-contained HTML page (chart, table, diagram, dashboard) to show inline in a thread.
Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with showwidget.
$ npx skills add openclaw/openclaw --skill visualize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openclaw/openclaw visualize --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/visualize .claude/skills/visualize && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "visualize" agent skill from https://github.com/openclaw/openclaw/tree/main/skills/visualize into .claude/skills/visualize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visualize", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openclaw/openclaw/tree/main/skills/visualizeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openclaw/openclaw --skill visualize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openclaw/openclaw visualize --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/visualize .agents/skills/visualize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "visualize" agent skill from https://github.com/openclaw/openclaw/tree/main/skills/visualize into .agents/skills/visualize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visualize", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openclaw/openclaw --skill visualize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openclaw/openclaw visualize --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/visualize .cursor/skills/visualize && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "visualize" agent skill from https://github.com/openclaw/openclaw/tree/main/skills/visualize into .cursor/skills/visualize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visualize", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openclaw/openclaw.git --path skills/visualize--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openclaw/openclaw --skill visualize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openclaw/openclaw visualize --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/visualize .gemini/skills/visualize && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "visualize" agent skill from https://github.com/openclaw/openclaw/tree/main/skills/visualize into .gemini/skills/visualize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visualize", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openclaw/openclaw visualizeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openclaw/openclaw --skill visualize -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/visualize .github/skills/visualize && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "visualize" agent skill from https://github.com/openclaw/openclaw/tree/main/skills/visualize into .github/skills/visualize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visualize", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openclaw/openclaw --skill visualize -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openclaw/openclaw visualize --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/visualize .opencode/skills/visualize && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "visualize" agent skill from https://github.com/openclaw/openclaw/tree/main/skills/visualize into .opencode/skills/visualize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visualize", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
visualizeCreate inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with showwidget.
Visualize is an agent skill from openclaw/openclaw. Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with showwidget.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The AI that really does things. Any OS. Any Platform. The lobster way. 🦞. The licence is MIT.
Read from SKILL.md and the folder at commit 1eb5970. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
cdn.jsdelivr.netcdnjs.cloudflare.comesm.shunpkg.comfonts.googleapis.comfonts.gstatic.comfonts.bunny.netFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Visualize loads about 2.4k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 1,282 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from openclaw/openclaw at commit 1eb5970, republished under its MIT licence (© openclaw). 1,282 words, ~2,353 tokens.
.claude/skills/visualize/SKILL.md (or your agent's skills folder).Use show_widget when seeing or interacting with a result helps the user reason
about it. This includes code architecture, execution traces, performance,
comparisons, simulations, UI mockups, and session dashboards. Use prose, a normal
Markdown table, or a supported Mermaid block when that already explains the
answer. A request to implement an application still needs changes in its project;
a widget can illustrate the design but does not complete the implementation.
pin: true for an explicit dashboard request
or multiple non-code visualizations that belong together. Read the current
board first and reuse its names and tabs. Use the control-ui skill when
organizing sessions, tabs, placement, or dashboard presentation.report input with pin: true for
dashboard text, metrics, tables, simple charts, and links. Omit widget_code,
kind, capabilities, and presentation.target. Reports do not render inline.widget_code for interactive HTML/SVG. Reuse an
explicit name with pin: true to replace a pinned widget's content. A same-name
update cannot change its content owner; inspect before converting HTML to a report.Use only tools, source kinds, and presentation targets advertised in this turn.
On a pinned-only surface, set pin: true and omit presentation.target. If the
tool is unavailable, explain the limitation instead of inventing a render call.
Restart recovery can be pinned-only even when the original turn supported inline
widgets; follow the current tool schema instead of earlier delivery instructions.
Send the markup itself in widget_code. Use an HTML or SVG fragment, optionally
including <style> and <script>; OpenClaw supplies the document shell, theme,
and host bridges. Do not send a file path, Markdown fence, full HTML document, or
another application's visualization directive. title is host metadata: start
with useful content rather than repeating the title or drawing dashboard chrome.
Keep a useful initial state in the markup. Use local JavaScript for selections,
filters, parameter changes, and animation. Give the root a unique ID and scope
styles and selectors to it. Insert labels and external data with textContent
instead of interpolating untrusted strings into markup or executable code.
Keep source compact: widget_code is limited to 262,144 characters, pinned HTML
to 256 KiB after wrapping, and Discord source to 48 KiB. Aggregate large datasets
and load a suitable library instead of embedding its distribution in the call.
Scripts, ES modules, stylesheets, and fonts can load from these HTTPS origins:
https://cdnjs.cloudflare.comhttps://cdn.jsdelivr.nethttps://esm.shhttps://unpkg.comhttps://fonts.googleapis.comhttps://fonts.gstatic.comhttps://fonts.bunny.netUse version-pinned library URLs. For example, load D3 with
<script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js" crossorigin="anonymous"></script>
before the inline script that uses d3. Use a module script for ESM imports.
Transitive imports, font files, and redirects must also stay on allowed origins.
No library, icon set, or font is preloaded. Choose native SVG/CSS for simple
visuals; load a library when its scales, layout, or interaction justify it.
Provide readable fallback content and a visible failure state if an asset fails
to load. Avoid eval-based libraries; unsafe-eval, remote frames, and arbitrary
resource hosts remain unavailable. Images must be embedded as data URLs or drawn
locally. CDN URLs are for public assets, never private data or credentials.
CDN loading does not grant fetch, WebSocket, or host API access. Retrieve data
with the agent's available tools and embed the needed observations for inline
visuals. Use dashboard capabilities for refreshable data, as described below.
For code explanations, emphasize the relationship being discussed: aligned lanes for concurrent work, labeled edges for ownership and data flow, or shared scales for performance comparisons. Keep source details that support the conclusion; avoid decorative metrics or diagrams of unrelated modules.
For dashboards, make each widget useful on its own and keep related measures comparable. Show data freshness, units, loading, empty, and error states where they affect interpretation. Preserve the last successful data when refresh fails. Use a mockup's product context for its inner controls while retaining the host's theme for the surrounding surface.
OpenClaw styles native headings, controls, tables, and code. It provides .card,
.row, .metric, .muted, .badge with .ok/.warn/.danger/.info, and
button.primary. Use these when they fit; do not assume another host's classes.
Colors and typography use --text, --text-strong, --muted, --surface,
--card, --elevated, --border, --border-strong, --accent, --accent-fill,
--accent-fg, --ok, --warn, --danger, --info, --radius, --font-body,
and --font-mono. Keep the outer background transparent and avoid extra cards
around a whole plot. Pair colors with labels or shapes. Canvas libraries need
resolved computed colors and redraws when the host theme changes.
Fit the actual container, including narrow chat and resized dashboard columns. Use fluid widths, wrapping controls, and stacked panels; reserve horizontal scrolling for code, tables, or diagrams that require exact geometry. Size SVGs from their container and keep labels readable instead of shrinking a desktop layout. Include axes and units for plots, accessible names, visible control labels, keyboard operation, and touch targets. Honor reduced-motion preferences.
Keep presentation-only changes local. A clearly labeled user-clicked control can
call openclaw.prompt.send(text) to ask the agent to investigate selected values.
Include those values and the requested action. In the Control UI, prompts need a
real user activation in the visible, focused widget; text must be nonempty, at
most 4,000 characters, and cannot start with /. Do not trigger prompts on load
or on every filter change, and do not assume the widget can read the agent reply.
Native renderers do not provide the Control UI conversation bridge.
Only pinned dashboard widgets have the ticket-bound data and action APIs:
openclaw.data.read(bindingId, params?) reads an advertised Gateway binding.openclaw.action.run(actionId, params?) invokes an advertised action.openclaw.cron.trigger(jobId) requires cron.trigger:<jobId>.openclaw.state.emit(payload) emits a bounded session notice.Use the current tool schema for binding/action IDs and their parameter shapes.
Declare required grants in capabilities.tools. For browser API fetches, declare
exact HTTPS origins in capabilities.netOrigins; the browser still requires
CORS. Use host bindings for authenticated data; never embed tokens in HTML.
Inline previews do not inherit dashboard grants. Check capabilityState and
report pending or rejected access; saving a widget does not prove a data read.
Updated content may require approval again.
Use normal dashboard links with target="_blank" rel="noopener noreferrer".
window.open and nested external iframes do not work. For Control UI links,
read openclaw.host.controlUiBaseUrl at click time; it is null before dashboard
initialization and outside that host.
Fix reported inline-script syntax errors and call the tool again. Script errors thrown after an inline widget renders in the Control UI are reported back to this session. Agent browser tools normally run a separate profile without the viewer's Control UI session, so opening the chat there reaches sign-in, not the widget; do not use them to inspect inline widgets. When a browser or device tool can load the rendered surface itself, verify libraries and fonts loaded, important controls work, and content fits the intended width and theme. For live dashboards, exercise the data read in the actual pinned frame. Strict embed mode disables scripts. Report any concrete visual or platform verification gap; successful hosting alone proves neither rendering nor data access.
Follow result.presentation when present. A status: "pinned" result means the
widget is on the session dashboard. Use the available dashboard tool to focus its
tab in the current session. Do not navigate to widget hosting URLs in the Browser
panel as a substitute for presentation.
Keep the final prose focused on the useful conclusion or remaining limitation, without repeating the entire visual. Do not promise PNG exports preserve externally loaded styles or fonts without checking the exported image.
© openclaw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/visualize of openclaw/openclaw.
Open the folder on GitHubat commit 1eb5970
Visualize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Visualize this skillopenclaw/openclaw | 392k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Visualizecode-yeongyu/oh-my-openagent | 70k | — | ~954 | Automated safety check: Pass | Custom licence | |
| Visual Stylecalesthio/OpenMontage | 65k | — | ~1.5k | Automated safety check: Pass | AGPL-3.0 | |
| D3 Visualizationnexu-io/open-design | 100k | — | ~523 | Automated safety check: Pass | Apache-2.0 | |
| Visual Regressionthedaviddias/Front-End-Checklist | 74k | — | ~493 | Automated safety check: Pass | MIT | |
| Hermes Agent Skill AuthoringNousResearch/hermes-agent | 252k | — | ~3.6k | Automated safety check: Pass | MIT |
code-yeongyu/oh-my-openagent
Builds a self-contained HTML page (chart, table, diagram, dashboard) to show inline in a thread.
calesthio/OpenMontage
Create, extract, and apply portable visual design systems via visual-style.md files.
nexu-io/open-design
Teaches the agent to produce D3 charts and interactive data visualizations.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing CI coverage, automated checks, or test strategy related to Use visual regression testing.
NousResearch/hermes-agent
Author in-repo SKILL.md files: frontmatter and structure. An agent skill from NousResearch/hermes-agent.
mukul975/Anthropic-Cybersecurity-Skills
Configures secure OAuth 2.0 authorization flows, including Authorization Code with PKCE, Client Credentials, and Device Authorization Grant, covering flow selection, PKCE implementation, token…
openclaw/openclaw
Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.
openclaw/openclaw
Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.
openclaw/openclaw
Feishu document read/write workflows. An agent skill from openclaw/openclaw.
openclaw/openclaw
Review, triage, repair, or land OpenClaw issues and pull requests with current-source evidence and the native maintainer workflow.
openclaw/openclaw
A skill your agent uses when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.
openclaw/openclaw
A skill your agent uses for all ClawSweeper work: OpenClaw issue/PR sweep reports, repair jobs, cloud fix PRs, @clawsweeper maintainer mention commands, trusted ClawSweeper-reviewed…
Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with showwidget. Visualize is an agent skill from openclaw/openclaw. Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with showwidget.
Run `npx skills add openclaw/openclaw --skill visualize -a claude-code`. Or copy the skill folder (skills/visualize in openclaw/openclaw) into .claude/skills/visualize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openclaw/openclaw --skill visualize -a codex`. Or copy the skill folder (skills/visualize in openclaw/openclaw) into .agents/skills/visualize in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openclaw/openclaw --skill visualize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/visualize, .gemini/skills/visualize, .github/skills/visualize and .opencode/skills/visualize in your project.
SKILL.md names no scripts, command-line tools or credentials: Visualize is instructions for the agent only.
SKILL.md names 7 domains. In commands or code: cdn.jsdelivr.net, cdnjs.cloudflare.com, esm.sh, unpkg.com, fonts.googleapis.com, fonts.gstatic.com and fonts.bunny.net; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Visualize is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Visualize: Visualize (code-yeongyu/oh-my-openagent, 70k stars), Visual Style (calesthio/OpenMontage, 65k stars), D3 Visualization (nexu-io/open-design, 100k stars) and Visual Regression (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openclaw (a GitHub organization) maintains it in openclaw/openclaw, which has 391,610 GitHub stars. The repository holds 93 skills in this directory. The repository was last updated on October 8, 2026.
Source: openclaw/openclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.