skills/openclaw/zoe-page-builder/SKILL.md
# zoe-page-builder Build new HTML pages and views for Zoe's UI at `services/zoe-ui/dist/`. ## Trigger conditions This skill activates when the system message begins with `[ZOE_SELF_BUILD: page]`, or when the user asks to create a new page, dashboard, or view in the Zoe UI. ## Prerequisites - Caller must have admin role. Check via `zoe_self_capabilities` tool. If not admin, reply: "Page building requires admin access." - Do NOT modify any existing page without explicit user instruction. - NE
npx skillsauth add jason-easyazz/zoe-ai-assistant skills/openclaw/zoe-page-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build new HTML pages and views for Zoe's UI at services/zoe-ui/dist/.
This skill activates when the system message begins with [ZOE_SELF_BUILD: page], or when the user asks to create a new page, dashboard, or view in the Zoe UI.
zoe_self_capabilities tool. If not admin, reply: "Page building requires admin access."dist/css/, dist/js/, or any CSS/JS asset files.capabilities = zoe_self_capabilities()
if capabilities.role != "admin": STOP — reply with access denied.
Ask clarifying questions if ambiguous:
/api/ endpoint?Read services/zoe-ui/dist/chat.html for the design conventions:
#0f0f14), accent colour (var(--zoe-accent)), card surfaces (var(--zoe-surface))<head> of chat.html — match itDraft a brief spec (≤5 bullet points) and present it to the user. Wait for confirmation before writing any file.
All CSS and JS must be inline in a single .html file placed in services/zoe-ui/dist/.
Rules:
<style> block in <head>, one <script> block before </body>.css or .js filesfetch('/api/...') for data — existing zoe-data endpoints onlychat.html (colours, spacing, card style)If the page needs a nav entry, edit the nav section of services/zoe-ui/dist/index.html (or whichever shell page contains the nav). Add a single <a> element with the agreed label and a suitable SVG icon. Do not restructure the nav — append only.
Your final chat reply must be ≤3 sentences summarising what the page does. NEVER include raw HTML/CSS/JS in the chat reply.
If a preview mechanism is available, emit:
:::zoe-ui
{"action":"navigate","url":"<page_url>","target":"iframe"}
:::
If user confirms, the file is already in dist/ and live via nginx — no further promotion step is needed.
If user requests changes, iterate on the spec and regenerate the file in place.
services/zoe-ui/dist/ without explicit user approval.tools
Run Karpathy-style fixed-budget optimization loops for one approved asset and one objective score. Use when the user asks to optimize, auto-research, run overnight experiments, improve a prompt/tool/copy/config, or turn 'is it good?' into a number.
development
# Web Search Skill ## When to Use Use this skill when the user wants information that requires looking at the live web. ## Trigger Conditions **Use `web_search` (fast, ~3-5s) when:** - Single-source fact lookup: news, exchange rates, sports scores, weather, stock prices - One specific product at one named retailer: "what does Bunnings charge for X" - Simple factual question answerable from one good search result **Use `deep_web_research` (~60s) when:** - ANY mention of location / "near me"
tools
# Touch Panel Skill Zoe drives physical kiosk panels via `panel_*` MCP tools and can SSH into them for diagnostics and repair. ## When to use this skill - User asks about the touch screen / panel / kiosk - Diagnosing why the panel is blank, frozen, or showing wrong content - Restarting, updating, or re-provisioning a panel - Controlling what shows on the panel (navigate, announce, smart-home overlay, etc.) - Registering a new panel or managing panel tokens --- ## Current hardware (productio
tools
# zoe-widget-builder Build new dashboard widgets for Zoe's touch panel and desktop UI. ## Trigger conditions This skill activates when the system message begins with `[ZOE_SELF_BUILD: widget]`. ## Prerequisites - Caller must have admin role. Check via `zoe_self_capabilities` tool (role field). If not admin, reply: "Widget building requires admin access." - Do NOT build if the widget already exists (`zoe_self_capabilities` returns it in existing_widgets). ## Step-by-step workflow ### 1. Chec