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.