/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-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/uxbot
Context preview
What this command does when you run it.
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.
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.
Repo: metabase/metabase
Other commands on metabase.
- /agent-improve
Review this conversation and generate a structured improvement report.
Open command - /autobot-kill
Tear down and remove an autobot session (worktree, Docker containers, and tmux).
Open command - /autobot-list
List all autobot sessions with status information.
Open command - /autobot-result
Print the most recent `result.md` for an autobot session, so the user can see how a bot is doing without attaching to its tmux session.
Open command - /autobot-stop
Stop an autobot session (kill tmux and dev environment, but keep the worktree).
Open command - /autobot
Launch a bot command in an isolated autobot session with its own worktree, backend, and frontend.
Open command

