Individual skill
make-bot-ui
Use when building a custom UI (page, dashboard, buttons) that should wake an existing bot over its webhook (for example a Grok Bot or Cursor automation routine), when the user must provide a webhook sender key, or when exposing that UI on Tailscale.
t3/overrides/make-bot-ui/SKILL.md
Source commit 91251ca92b107de606d3958e86454441910f1179
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 18
- Repository last updated
- Nov 4, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- ai-agents Repository topic
- claude-code Repository topic
- code-review Repository topic
- codex Repository topic
- developer-tools Repository topic
- multi-agent Repository topic
- pstack Repository topic
- skills Repository topic
- t3-code Repository topic
- design Derived category
- design-interface Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
Read excerpt
# How to make a bot UI
Build a page the user clicks. A server on this computer POSTs JSON to a webhook routine. The bot wakes with that JSON. Keep the sender key on the server. Do not put the sender key in the browser, in chat, or in this skill.
The bot is a separate service. T3 runs this agent and cannot create a routine in the bot's service. A T3 webhook trigger is a `schedule_task` run with a `{"type": "webhook"}` schedule, and it wakes a T3 thread, not this bot. The user owns the routine. You build the UI, the local server, and the tailnet exposure.
## Choose the route
Ask whether the bot should be a T3 thread. If yes, read [Webhook schedules](../pstack-runtime/webhooks.md) and offer the native route.
- The user enters the signing key in the `request_secret` card. The one-use `secretRef` goes to `schedule_task`.
- The local server still needs the same key on disk to sign each POST to `webhookUrl`. A `secretRef` cannot be exported, so ask for the key again with `delivery: "file"` and follow the steps in `## Receive the sender key` below. One key that both `schedule_task` and the local server need takes two cards, because one call returns either a `secretRef` or a file path, never both.
- If the user wants the external bot service, follow the external route below unchanged.
- If the `schedule_task` result has no `webhookUrl`, tell the user T3 Connect remote access is off and to enable it, which gives the native route a URL. Offer the external route only when they do not enable it. Read [Webhook schedules](../pstack-runtime/webhooks.md#create-the-schedule) for why the URL is missing.