/uxbot
You are the orchestrator for the uxbot workflow. UXBot acts as a regular Metabase user trying to accomplish tasks, running directly against the locally running server. For an isolated worktree version, use `/autobot <branch> /uxbot <args>` instead.
$ npx -y skills add metabase/metabase --agent claude-code
Command definition
uxbot.mdYou are the orchestrator for the uxbot workflow. UXBot acts as a regular Metabase user trying to accomplish tasks, running directly against the locally running server. For an isolated worktree version, use `/autobot <branch> /uxbot <args>` instead.
Steps
1. Parse arguments
The user provided: `$ARGUMENTS`
Parse as: `[task description...]`
Everything provided is the initial task description (optional). If no task was provided, the agent will wait for instructions.
If the user provided a task description, set `INITIAL_TASK` to:
## Your First Task
<task description>
If no task was provided, set `INITIAL_TASK` to:
No initial task specified. Wait for the user to give you a task.
2. Generate agent prompt
**Always generate a fresh `<TIMESTAMP>` directory for THIS invocation** — even if a prior `/uxbot` run already created a `.bot/uxbot/<earlier-timestamp>/` directory in this conversation. Each `/uxbot` call is its own session with its own output directory and its own `task-report.md`. Do NOT reuse a prior directory.
Use the current local time as `<TIMESTAMP>` (format `YYYYMMDD-HHMMSS`, e.g. `20260504-103045`). You can compute it with `date +%Y%m%d-%H%M%S`.
Run:
./bin/mage -bot-generate-prompt \
--template dev/bot/uxbot-agent.md \
--output .bot/uxbot/<TIMESTAMP>/prompt.md \
--set "INITIAL_TASK=<initial task text>"
**Shell escaping:** If the task description contains quotes or special characters, write it to a temp file using the `Write` tool first: write to `.bot/uxbot/tmp/task.txt`, then use `--set "INITIAL_TASK=$(cat .bot/uxbot/tmp/task.txt)"`.
3. Execute
Read the generated `.bot/uxbot/<TIMESTAMP>/prompt.md` and follow its instructions. Act as a regular user navigating the browser. Execute tasks as they come — the first task (if any) is embedded in the prompt.
Read more
You are the orchestrator for the uxbot workflow. UXBot acts as a regular Metabase user trying to accomplish tasks, running directly against the locally running server. For an isolated worktree version, use `/autobot <branch> /uxbot <args>` instead.
Steps
1. Parse arguments
The user provided: `$ARGUMENTS`
Parse as: `[task description...]`
Everything provided is the initial task description (optional). If no task was provided, the agent will wait for instructions.
If the user provided a task description, set `INITIAL_TASK` to:
## Your First Task <task description>
If no task was provided, set `INITIAL_TASK` to:
No initial task specified. Wait for the user to give you a task.
2. Generate agent prompt
**Always generate a fresh `<TIMESTAMP>` directory for THIS invocation** — even if a prior `/uxbot` run already created a `.bot/uxbot/<earlier-timestamp>/` directory in this conversation. Each `/uxbot` call is its own session with its own output directory and its own `task-report.md`. Do NOT reuse a prior directory.
Use the current local time as `<TIMESTAMP>` (format `YYYYMMDD-HHMMSS`, e.g. `20260504-103045`). You can compute it with `date +%Y%m%d-%H%M%S`.
Run:
./bin/mage -bot-generate-prompt \ --template dev/bot/uxbot-agent.md \ --output .bot/uxbot/<TIMESTAMP>/prompt.md \ --set "INITIAL_TASK=<initial task text>"
**Shell escaping:** If the task description contains quotes or special characters, write it to a temp file using the `Write` tool first: write to `.bot/uxbot/tmp/task.txt`, then use `--set "INITIAL_TASK=$(cat .bot/uxbot/tmp/task.txt)"`.
3. Execute
Read the generated `.bot/uxbot/<TIMESTAMP>/prompt.md` and follow its instructions. Act as a regular user navigating the browser. Execute tasks as they come — the first task (if any) is embedded in the prompt.
Metabase is the easy, open-source way for everyone in your company to ask questions and learn from data.
Other commands on metabase.
More commands from other plugins.
build
CommandImplement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

