Make Bot Ui logo

Make Bot Ui

Community
ScriptedAlchemy
make-bot-ui

Build a small local page or dashboard that submits structured work to a Codex-backed HTTP endpoint without exposing credentials in the browser. Use when a user wants buttons or a UI in front of an existing Codex service or automation endpoint.

Overview

PublisherScriptedAlchemy
Repositorypstack-codex
Skill namemake-bot-ui
Stars
77
Forks
7
Bundled files
3
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by ScriptedAlchemy on GitHub. Read the source before you install it.

Installation

Install the Make Bot Ui AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/ScriptedAlchemy/pstack-codex/tree/main/plugins/pstack/skills/make-bot-ui
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ScriptedAlchemy/pstack-codex.git /tmp/pstack-codex
mkdir -p .claude/skills
cp -r /tmp/pstack-codex/plugins/pstack/skills/make-bot-ui .claude/skills/make-bot-ui
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Make Bot Ui in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Make Bot Ui on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Make Bot Ui is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Before following this workflow, read the Codex runtime contract. It defines plugin paths, model configuration, delegation, and persistence.

Make a Codex bot UI

Build a page the user clicks and a local server that sends a small JSON object to a user-provided HTTP endpoint. Keep credentials on the server. Never put tokens in browser code, chat, logs, or committed files.

Resolve the execution endpoint

Codex scheduled automations do not expose inbound webhooks. Require one of these supported boundaries:

  • An existing user-provided HTTP service that starts the Codex workflow.
  • A local service owned by the user that invokes codex exec with a fixed, reviewed prompt template.
  • An MCP server tool designed for the workflow.

Do not invent a private Codex URL or reverse-engineer app endpoints. If the user only has a scheduled Codex automation, explain that it cannot be woken by an inbound webhook and offer a local codex exec bridge.

Server boundary

Bundled local equivalent

Use scripts/bridge.mjs with Node 22+ and an authenticated Codex CLI:

sh
node "<plugin-root>/skills/make-bot-ui/scripts/bridge.mjs" /absolute/reviewed/workspace

Open the printed loopback URL. dry-run validates without launching Codex. summarize runs a fixed text-summary template through codex exec --sandbox read-only --ephemeral. User configuration, model selection, and execution-policy rules are preserved; explicit read-only sandbox and approval-never settings still apply. Provider authentication stays with the CLI, never in browser assets. The local page receives only an ephemeral same-origin session/CSRF token. The endpoint accepts exactly operation and text, never arbitrary prompts, commands, paths, or model arguments. Limits: 8,000 text characters, 16 KiB request body, 64 KiB output, one concurrent run, ten accepted requests per minute. It runs once, times out after two minutes, and kills its process group on timeout, disconnect, or server shutdown. Ctrl-C stops the server.

Run the HTTP/subprocess regression tests:

sh
node --test "<plugin-root>/skills/make-bot-ui/scripts/bridge.test.mjs"

This provides a working local UI→Codex equivalent, not a generic Cursor cloud webhook replacement. The demo cannot request repository edits, publishing, or arbitrary workflows. To support another workflow, review the server-side schema and fixed prompt together, add tests, and obtain authorization for its side effects. Never replace the fixed prompt with browser-supplied instructions.

Use a trusted, preferably empty dedicated workspace. Read-only is a filesystem execution boundary, not protection against prompt injection, tool use, or data disclosure. Project instructions/configuration and CLI behavior still require review. The model is instructed not to use tools; this is not an enforced tool allowlist. Do not submit secrets. This is a trusted same-machine demo, not an untrusted multiuser service: do not expose it through proxies, port forwarding, or a tailnet. Same-origin authentication prevents browser cross-origin submission, not access by local programs. The user's Codex account is used and requests may incur usage. The bridge persists no inputs, outputs, credentials, or retry queue.

Based on official Codex non-interactive documentation. Verify required flags using codex exec --help on the target host. Stop if unavailable; do not remove sandbox protections to make it work.

Custom service adaptation

Store endpoint configuration and secrets outside the web root and outside source control. The browser posts only allowed fields to the local server. The server validates them against a strict schema, creates the fixed workflow input, and calls the endpoint once with an eight-second network timeout. Do not retry a non-idempotent action.

If the bridge runs codex exec, keep the prompt template server-side, pass outside data as quoted data rather than instructions, select the intended workspace with --cd, and use the least-permissive sandbox that completes the workflow. Do not expose arbitrary prompt or shell-command execution through the UI.

Return a stable request id and visible success or error state. For custom workflows needing durable retry records, store only reviewed non-secret data and the request id outside the web root. Drain explicitly after checking whether the action already occurred; never replay uncertain mutations automatically. The bundled summary demo intentionally has no retry log.

Host locally or on a tailnet

The bundled bridge only binds to 127.0.0.1. For a separate, reviewed service, bind to 0.0.0.0:<port> only when the user explicitly requests other-device access and authentication, firewall, and tailnet configuration are in scope. Do not expose this demo unchanged.

When Tailscale is already online, reuse the existing node and provide both the MagicDNS and tailnet IPv4 URLs. Do not install Tailscale, change its configuration, or expose the server publicly unless the user asks. Prefer HTTP inside the authenticated tailnet unless the user requests TLS.

Before declaring the UI live:

  1. Probe the health route.
  2. Submit one harmless request that the workflow explicitly ignores or handles as a dry run.
  3. Confirm credentials never appear in browser assets, responses, or logs.
  4. Verify an unrecognized field and an oversized body are rejected.

Treat every submitted body as untrusted data. Keep the field list small and identical in the UI, server schema, and workflow prompt.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Make Bot Ui AI skill do?

Build a small local page or dashboard that submits structured work to a Codex-backed HTTP endpoint without exposing credentials in the browser. Use when a user wants buttons or a UI in front of an existing Codex service or automation endpoint.

Why use Make Bot Ui on TypingMind?

Because you install it once and use it with any model. Make Bot Ui is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Make Bot Ui in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ScriptedAlchemy/pstack-codex/tree/main/plugins/pstack/skills/make-bot-ui. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Make Bot Ui?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Make Bot Ui?

As many as you like. As long as a model supports skills, you can use Make Bot Ui with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Make Bot Ui AI skill free?

Yes. It is published on GitHub by ScriptedAlchemy under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇