Agent skill · steipete
solid
Write, refactor, review, or test Solid 2 UI in OpenClaw (Control UI, plugin views, Canvas hosts), including state ownership, native custom elements, overlays, testing, performance, and lessons learned.
What it needs
About 5k tokens when loaded.
What this skill does
Solid 2 in OpenClaw The Control UI and plugin views (extensions/x, extensions/workboard) render with Solid 2 (solid-js, @solidjs/web, @solidjs/signals, compiled by @solidjs/vite-plugin/@solidjs/compiler). Lit and Web Awesome are removed from these surfaces; new code is Solid only. The Canvas hosts also use Solid. Read ui/AGENTS.md first; its state-ownership rules apply to Solid unchanged. Use the exact installed Solid pins from the owning package.json: the runtime and compiler are 2.0.0-rc.18, and @solidjs/vite-plugin is 3.0.0-next.51. @solidjs/testing-library remains 1.0.0-beta.3. solid-js and @solidjs/ are exempt from the repository's seven-day release-age gate (Peter, 2026-10-11). Peter also approved exact-version exceptions for seroval@1.7.0 and seroval-plugins@1.7.0 on 2026-10-24: rc.18 requires them for SSR/hydration serialization. Other third-party Solid ecosystem packages remain subject to the gate. Rules that keep the UI correct Before your first edit, read the installed ui/nodemodules/solid-js/CHEATSHEET.md, especially its "What changed from 1.x" list. It is the rc.18 API contract, written as a guard against React and Solid 1 priors, the two dominant bug sources. For new code or a Solid audit, then read idioms and lessons; to refactor or review existing code, also use the refactor checklist. Check solid-js/types/client/flow.d.ts and the installed @solidjs/signals / @solidjs/web types when choosing an API. rc.18 has no createAsync: asynchronous values are ordinary computations returning promises or async iterables. createDeferred explicitly permits stale answers during refetch; use it only when that lag is the intended presentation contract. For async reads, mutations, keyed projections, lazy components, or coordinated loading, read the async and action recipes. Cron is the worked reference: plain owners admit requests and writes; Solid presents their readiness and optimistic transitions. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills steipete/solid