Make Bot UI

Builds a local web UI that wakes a Grok Bot through a webhook routine over Tailscale.

6.6k|542|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/cursor/plugins --skill make-bot-ui
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Make Bot UI
Source: https://github.com/cursor/plugins/tree/main/pstack/skills/make-bot-ui
Command: npx skills add https://github.com/cursor/plugins --skill make-bot-ui

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It guides you through connecting a custom page or dashboard to a Grok Bot so that button clicks on a local UI trigger the bot via a webhook, without ever exposing the sender key in the browser or chat.

Core Features & Use Cases

  • Webhook Routine Creation: Creates a webhook-triggered routine with a prompt that treats POST bodies as untrusted data.
  • Secret Handling: Requests the sender key through a secret-request card and stores it only in server-side config, never in chat or the browser.
  • Local Server & Tailscale Hosting: Hosts the UI on a server bound to 0.0.0.0 and exposes it on the tailnet with both hostname and 100.x.x.x URLs.
  • Use Case: Build a dashboard button that, when clicked, POSTs JSON to a local server which forwards it to the bot's webhook, waking the bot to act on the payload.

Quick Start

Ask the agent to build a bot UI page that wakes my Grok Bot through a webhook and serves it on my Tailscale network.

Frequently Asked Questions about Make Bot UI

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trigger a bot from a custom web UI?▼

Create a webhook routine, then build a page whose buttons POST JSON to a local server. The local server forwards the POST to the bot's webhook URL with the sender key in the Authorization and X-Automation-Key headers, waking the bot.

How do I keep the webhook sender key out of the browser?▼

Request the key with a secret-request card instead of accepting it in chat, then store it only in the local server's config. The browser never sees the key; only the server includes it in webhook POST headers.

Can I expose my local bot UI over Tailscale?▼

Yes. Bind the server to 0.0.0.0 rather than 127.0.0.1, then share the Tailscale hostname and 100.x.x.x IPv4 URLs. If Tailscale is not installed, install it and run tailscale up with a short hostname.

Why does my webhook POST not wake the bot?▼

The POST must use Content-Type application/json, include both Authorization Bearer and X-Automation-Key headers with the sender key, and return HTTP 200 on success. Probe once with a harmless payload before declaring the UI live.

What are the limitations of webhook-triggered bot UIs?▼

The webhook accepts one JSON object with an 8-second timeout and no retries, and media bytes cannot be sent. Failed POSTs should be appended to a local log that the routine drains rather than polled continuously.