visualize
Skill556 starsChanged 35 days agoMITView on GitHub
Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.
45 other projects use a version of this.
Adopted by
Most recently taken up by
- ex3ndr/skillstheir own version, first seen Nov 1, 2026
- therapys/dotagentstheir own version, first seen Nov 1, 2026
- Adrian333Dev/flowtheir own version, first seen Nov 1, 2026
- liormesh/trestletheir own version, first seen Nov 1, 2026
- stefanprodan/1ctxtheir own version, first seen Oct 25, 2026
- PKU-DAIR/AutoScitheir own version, first seen Oct 25, 2026
Used with
Projects with it also use exp-pilot-eval, exp-pilot-run and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
skyllwtSkillexp-pilot-eval
Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.
Also in 4 projects that use this
skyllwtSkillexp-pilot-run
Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.
Also in 4 projects that use this
LambenthanSkilldaily-arxiv
每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新
Also in 4 projects that use this
LambenthanSkillexp-eval
实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges
Also in 4 projects that use this
phanghonghaoSkillposter
HTML/CSS A4 海报生成。从沙龙/活动 Markdown 文件生成科技风 A4 海报 PDF/PNG。Use when user mentions: poster, 海报, 海报生成, make poster, generate poster, 活动海报, 沙龙海报.
Also in 4 projects that use this
- +1 more from skyllwt
- +6 more from Lambenthan
Other versions45 projects use a version of this.
Word for word · 9
- moltbot/clawdbot★ 394k100% same
- steipete/warelay★ 394k100% same
- steipete/clawdis★ 394k100% same
- moltbot/moltbot★ 394k100% same
- clawdbot/clawdbot★ 394k100% same
- openclaw/openclaw★ 394k100% same
- molt-bot/clawdbot★ 391k100% same
- friuns2/openclaw-android-assistant★ 573100% same
- bighamx/openclaw-android-node-apk★ 57100% same
Edited · 0
None found.
Wrote their own version · 36
- amosblomqvist/learn★ 3.4ksame name
- skyllwt/OmegaWiki★ 1.7ksame name
- DAIR-AutoResearch/AutoSci★ 1.7ksame name
- PKU-DAIR/AutoSci★ 1.7ksame name
- skyllwt/AutoSci★ 1.7ksame name
- Classic298/open-webui-plugins★ 602same name
- scaccogatto/okf-skills★ 444same name
- Adrian333Dev/flow★ 39same name
- freemty/labmate★ 25same name
- figuretu/my-skills★ 16same name
26 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository107 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- extensions/AGENTS.mdAGENTS.md
- openclaw-android/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- test/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- agent-transcriptSkill
- auto-qaSkill
- autoreviewSkill
- channel-message-flowsSkill
- clawdtributorSkill
- claw-scoreSkill
- clawsweeperSkill
- codex-app-paritySkill
- control-ui-e2eSkill
- crabboxSkill
- deslopSkill
- discord-clawdSkill
- discord-e2eSkill
- discord-user-postSkill
- discrawlSkill
- gitcrawlSkill
- graincrawlSkill
- notcrawlSkill
- openclaw-changelog-updateSkill
- openclaw-ci-limitsSkill
- openclaw-debuggingSkill
- openclaw-docker-e2e-authoringSkill
- openclaw-ghsa-maintainerSkill
- openclaw-live-updaterSkill
- openclaw-parallels-smokeSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-refactor-docsSkill
- openclaw-release-validationSkill
- openclaw-repair-sweepSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- openclaw-testingSkill
- openclaw-test-performanceSkill
- openclaw-updateSkill
- parallels-discord-roundtripSkill
- proof-videoSkill
- prototype-openclaw-tuiSkill
- release-openclaw-announcementSkill
- release-openclaw-ciSkill
- release-openclaw-macSkill
- release-openclaw-maintainerSkill
- release-openclaw-plugin-testingSkill
- security-triageSkill
- slack-e2eSkill
- slacrawlSkill
- tag-duplicate-prs-issuesSkill
- technical-documentationSkill
- telegram-e2e-userbotSkill
- test-auditSkill
- update-team-serverSkill
- verify-releaseSkill
- 1passwordSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 7 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 34 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use show_widget when seeing or interacting with a result helps the user reason about it.
- Distinctive: line 17
Code work and one-off explanations: prefer inline when available this turn.
- Very specific: line 21
Persistent dashboards: use pin: true for an explicit dashboard request or multiple non-code visualizations that belong together.
- Very specific: line 25
Native reports: prefer the tool's report input with pin: true for dashboard text, metrics, tables, simple charts, and links.
- Very specific: line 28
Custom widgets: use widget_code for interactive HTML/SVG.
- Very specific: line 32
Use only tools, source kinds, and presentation targets advertised in this turn.
- Distinctive: line 46
Keep a useful initial state in the markup.
- Very specific: line 51
Keep source compact: widget_code is limited to 262,144 characters, pinned HTML to 256 KiB after wrapping, and Discord source to 48 KiB.
- Very specific: line 67
Use version-pinned library URLs.
- Distinctive: line 71
No library, icon set, or font is preloaded.
- Distinctive: line 93
Use a mockup's product context for its inner controls while retaining the host's theme for the surrounding surface.
- Distinctive: line 107
Use fluid widths, wrapping controls, and stacked panels.
- Very specific: line 115
Keep presentation-only changes local.
- Distinctive: line 123
Only pinned dashboard widgets have the ticket-bound data and action APIs:
- Very specific: line 130
Use the current tool schema for binding/action IDs and their parameter shapes.
- Very specific: line 138
Use normal dashboard links with target="_blank" rel="noopener noreferrer".
- Very specific: line 156
Follow result.presentation when present.
- Distinctive: line 161
Keep the final prose focused on the useful conclusion or remaining limitation, without repeating the entire visual.
“Common” is measured: kept by at least 6 in 10 of the 34 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Visualize
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.
Choose the surface
- Code work and one-off explanations: prefer inline when available this turn. Show the actual owners, relationships, measured values, or states relevant to the question. Distinguish proposed designs and illustrative data from observed behavior. Several diagrams for a code task do not by themselves call for a dashboard.
- Persistent dashboards: use
pin: truefor an explicit dashboard request or multiple non-code visualizations that belong together. Read the current board first and reuse its names and tabs. Use thecontrol-uiskill when organizing sessions, tabs, placement, or dashboard presentation. - Native reports: prefer the tool's
reportinput withpin: truefor dashboard text, metrics, tables, simple charts, and links. Omitwidget_code,kind,capabilities, andpresentation.target. Reports do not render inline. - Custom widgets: use
widget_codefor interactive HTML/SVG. Reuse an explicitnamewithpin: trueto 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.
Author the content
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.
Libraries and fonts
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.net
Use 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.
Composition and theme
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.
Conversation and dashboard actions
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)requirescron.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.
Verify and deliver
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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

