# Openpanel

Query OpenBot product analytics (events, sessions, profiles, funnels, retention, active...

- Repository: https://github.com/nightly-labs/openbot (4509 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add nightly-labs/openbot --skill openpanel -g -a claude-code -y`
Codex: `npx skills add nightly-labs/openbot --skill openpanel -g -a codex -y`
Cursor: `npx skills add nightly-labs/openbot --skill openpanel -g -a cursor -y`
Gemini CLI: `npx skills add nightly-labs/openbot --skill openpanel -g -a gemini-cli -y`

## Description

Query OpenBot product analytics (events, sessions, profiles, funnels, retention, active users, Search Console) from the self-hosted OpenPanel server, and make or change its dashboards and reports. Use when debugging with real usage data, checking whether an event fires, counting affected users, answering a product or growth question, or building a dashboard.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# OpenPanel analytics

`scripts/openpanel.ts` calls the OpenPanel MCP server at `https://analytics.openbot.run/api/mcp`.
The token is a `root` client. It reads analytics and makes, changes and deletes dashboards and
reports (`create_dashboard`, `create_report`, `update_report_layout`, `delete_dashboard` and others).
`apps/auth-api/.env.dev` and `apps/auth-api/.env.production` hold the same token as
`OPENPANEL_MCP_TOKEN`, so either key works.

## Run

When `DOTENV_PRIVATE_KEY_DEV` is in the shell:

```sh
bun scripts/openpanel.ts tools                       # list the tools
bun scripts/openpanel.ts tools <tool>                # show the input schema of one tool
bun scripts/openpanel.ts call <tool> '<json args>'   # call a tool; the result is JSON
```

When the key is not in the shell, use the root `.env.keys` of the main checkout. A worktree has none:

```sh
MAIN="$(dirname "$(git rev-parse --path-format=absolute --git-common-dir)")"
bunx dotenvx run -q -f apps/auth-api/.env.dev -fk "$MAIN/.env.keys" -- bun scripts/openpanel.ts call list_event_names '{"projectId":"openbot"}'
```

If no key is available, stop and ask the developer. Never print the token, a key, or `.env.keys`.

## Use

The rest: https://github.com/nightly-labs/openbot/blob/HEAD/.agents/skills/openpanel/SKILL.md
