manage-boards
This skill provides full lifecycle management for Mixpanel dashboards, enabling agents to create, template, clone, clean up, inventory, and update boards…
Identity proven by GitHub's verified organisation badge (mixpanel)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- Apache-2.0 (permissive)
- Pin
- dfb891bpinned Oct 9, 2026
- Context cost
- about 1,600 tokenswhen the skill loads
- GitHub stars
- 15on mixpanel/ai-plugins
- Scripts
- 1 script
What it does
“Full lifecycle dashboard management for Mixpanel — create, template, clone, clean up, inventory, and update dashboards across projects and teams. ALWAYS use when a user asks to: create a dashboard, build a board, template or clone a dashboard, clean up stale dashboards, audit dashboards, list all dashboards, inventory boards, update or rename a dashboard, delete a dashboard, or standardize boards across projects. Also trigger on "duplicate board", "stale dashboards", "empty boards", "board management", or when dashboards are mentioned with "governance", "cleanup", "template", "onboarding", or "standardize". Do NOT use for A/B experiments (use `manage-experiment`), feature-flag rollouts (use `manage-feature-flags`), or Lexicon/event-and-property metadata cleanup (use `manage-lexicon`). Requires a Mixpanel engine — run /mixpanel:install if not set up.”
Generated summary from the skill's own text
This skill provides full lifecycle management for Mixpanel dashboards, enabling agents to create, template, clone, clean up, inventory, and update boards across projects. It requires a Mixpanel engine and operates silently, showing only command menus, confirmations for destructive operations, and final results.
When to use it
- Creating new dashboards or board templates in Mixpanel
- Duplicating, renaming, or modifying existing dashboards
- Auditing and removing stale, empty, or duplicate boards
- Cataloging all dashboards with metadata across projects
When not to
- Managing A/B experiments or feature flag rollouts
- Cleaning up Lexicon event and property metadata
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add mixpanel/ai-plugins --skill manage-boardsInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install mixpanel/ai-plugins manage-boards@dfb891bb6f754b5dcab2131b7311e7ccb9bf8c3eInstalls the commit we checked (dfb891b).
Copy by hand
Download the folder at dfb891b and put it in .claude/skills/manage-boards for Claude Code and in .agents/skills/manage-boards for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "manage-boards" by Mixpanel. Source, pinned to commit dfb891bb6f754b5dcab2131b7311e7ccb9bf8c3e: https://github.com/mixpanel/ai-plugins/tree/dfb891bb6f754b5dcab2131b7311e7ccb9bf8c3e/plugins/mixpanel/skills/manage-boards 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/manage-boards/ for Claude Code and .agents/skills/manage-boards/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/mixpanel/manage-boards
SKILL.md at the pin
---
name: manage-boards
description: >
Full lifecycle dashboard management for Mixpanel — create, template, clone, clean up,
inventory, and update dashboards across projects and teams. ALWAYS use when a user asks
to: create a dashboard, build a board, template or clone a dashboard, clean up stale
dashboards, audit dashboards, list all dashboards, inventory boards, update or rename a
dashboard, delete a dashboard, or standardize boards across projects. Also trigger on
"duplicate board", "stale dashboards", "empty boards", "board management", or when
dashboards are mentioned with "governance", "cleanup", "template", "onboarding", or
"standardize". Do NOT use for A/B experiments (use `manage-experiment`), feature-flag
rollouts (use `manage-feature-flags`), or Lexicon/event-and-property metadata cleanup (use
`manage-lexicon`). Requires a Mixpanel engine — run
/mixpanel:install if not set up.
compatibility: "Requires a Mixpanel engine (run /mixpanel:install). No other connectors required."
metadata:
engine: required
---
# Manage Boards
> **Engine required** — resolve an engine per [`ENGINE.md`](../../ENGINE.md): one named in the conversation or loaded instructions is mandatory (not set up → offer `/mixpanel:install` for it); otherwise use the Mixpanel MCP server, or offer `/mixpanel:install` if it's unavailable.
Top-level router: validate project → route command → handle return.
This skill uses the resolved Mixpanel engine only. No other connectors are required or referenced.
---
## Execution Philosophy
**Silent execution.** Do not narrate steps, announce phases, or explain what you are about to do. Run the work, process results, present only final output. The user sees:
- Command menu (when needed)
- Confirmation prompts before destructive operations (delete, bulk cleanup)
- Progress indicators during batch operations
- Error messages
- Final output
Nothing else. No "Starting X...", no "I'll now fetch Y...", no "Let me analyze Z...". Just do the work and show the result.
---
## Global Rules
1. **Silent execution** — see the Execution Philosophy section above.
2. **Project ID immutable.** All work uses the confirmed `project_id` unless explicitly cross-project (template command).
3. **Surface MCP failures explicitly.** Never silently skip.
4. **Confirm before destructive ops.** Always preview + explicit user confirmation before: deleting a dashboard, bulk cleanup, or overwriting dashboard content.
5. **'exit' always valid.** Stop, discard uncommitted, return to menu.
6. **No per-command "what next" menus.** Commands return control here. The router shows the menu.
7. **Cross-project operations.** The template command is the only one that works across projects. It validates both source and target project IDs and reconstructs the board in the target project (see `commands/template-dashboard.md`).
8. **Validate every write before reporting success.** After any operation that mutates a board — create, update, duplicate, or a template rebuild — re-read the affected board _including its full layout_ and confirm the result matches intent (expected row count, report/text cell counts, title/description). If the readback diverges, do NOT report `✅` — surface what landed vs. what was requested. Layout cells use opaque server-generated IDs, so a write can partially succeed silently; the readback is the only reliable confirmation. Refresh `dashboard_layout_cache` from this readback.
9. **Fetching the dashboard set.** Default to the sortable entity-search capability when listing dashboards — it returns richer metadata and supports sorting. Fall back to the plain dashboard-list capability only if search is unavailable. Cache the result in `dashboard_list_cache` and reuse it across commands rather than re-fetching.
10. **Shared constraints.** Layout limits, the text-card HTML whitelist, and other API gotchas live once in `references/mcp-tool-reference.md`. Command files point to it by name rather than restating.
---
## Session Context
Persist across commands within a session. **Cross-command reuse is mandatory** — never re-fetch what exists in session.
| Variable | Description |
| --- | --- |
| `project_id` | Immutable after Step 0. |
| `project_name` | Display name. |
| `projects_list` | All accessible projects. |
| `dashboard_list_cache` | `dashboard_id → {title, description, last_modified, ...}` map. Report counts are NOT returned by the list operation — populate them from `dashboard_layout_cache` after reading a board's full layout. |
| `dashboard_layout_cache` | `dashboard_id → {layout, report_count, text_count, row_count}` map (populated on-demand). |
---
## Step 0 — Project Validation
**Direct routing:** If the user's message contains a project ID AND a clear command intent (e.g. "create a dashboard in project 12345", "clean up dashboards in project 67890"), extract both, validate, and route directly — skip the menu.
**Project ID without command:** Validate and show menu.
**No project ID:** Ask which project. On 'list' → retrieve the accessible projects and show them in a table.
**Validation:**
1. Retrieve the list of accessible projects and match the ID. If found → `✅ [Project Name] ([project_id])`, proceed.
2. Not found → error, ask to re-enter or 'list'.
**Engine check:** If the project lookup fails because no Mixpanel capability is available → stop and ask the user whether to run `/mixpanel:install` now.
---
## Command Menu
Show only when no direct command was inferred:
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Manage Boards — [Project Name] ([project_id])
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Create Dashboard — Build a new board from description
2. Template Dashboard — Clone a reference board to a new project
3. Cleanup Dashboards — Audit & remove stale/empty boards
4. Dashboard Inventory — Catalog all boards with metadata
5. Duplicate Dashboard — Copy a board within the same project
6. Update Dashboard — Modify metadata, rows, or layout
7. Exit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
| Choice | Action |
| ------ | ----------------------------------------------- |
| **1** | Read `commands/create-dashboard.md`, execute |
| **2** | Read `commands/template-dashboard.md`, execute |
| **3** | Read `commands/cleanup-dashboards.md`, execute |
| **4** | Read `commands/dashboard-inventory.md`, execute |
| **5** | Read `commands/duplicate-dashboard.md`, execute |
| **6** | Read `commands/update-dashboard.md`, execute |
| **7** | Exit |
**Routing matrix** — when the user's phrasing doesn't map to a menu number, route on intent rather than showing the menu:
| User intent (examples) | Route to |
| --- | --- |
| "build / make / set up a board", "new dashboard for X" | Create |
| "copy this board to [other project]", "standardize boards across projects" | Template |
| "clean up / audit / find stale / empty / duplicate boards" | Cleanup |
| "list / catalog / inventory all boards", "what boards exist" | Inventory |
| "copy / duplicate this board here", "clone within this project" | Duplicate |
| "rename / edit / add a row / change the layout of a board" | Update |
| "delete [board]" | Cleanup (single-board delete path) |
| Ambiguous or matches multiple commands | Show the menu — do not guess |
---
## Return Handler
When a command completes → `✅ Done.` → re-display command menu. No re-validation.
From mixpanel/ai-plugins at dfb891b, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at dfb891bFiles
- SKILL.md7.9 KB · a0d9c79d2fa4
- commands/
- cleanup-dashboards.md8.3 KB · 857de9b8b0f0
- create-dashboard.md3.1 KB · e69a17820b2a
- dashboard-inventory.md2.5 KB · ec3c111883e4
- duplicate-dashboard.md2.0 KB · 91f3a9956710
- template-dashboard.md7.0 KB · fdf9ef487334
- update-dashboard.md4.4 KB · 353a57c19aba
- references/
- mcp-tool-reference.md1.8 KB · f8d8641d74ce
- scripts/
- dashboard_utils.py4.7 KB · 0ff64aade2ec
9 files, 42 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at dfb891bMore from Mixpanel
auth
Manages Mixpanel credentials, authentication, and account configuration for the mixpanel_headless library and mp CLI.
Contains scripts
Claude Code · about 3K tokens · pinned 6 days ago
dashboard-expert
This skill analyzes, builds, modifies, and adds explainer text to Mixpanel dashboards using the mixpanel_headless Python library.
Claude Code · about 2.8K tokens · pinned 6 days ago
mixpanelyst
The skill analyzes Mixpanel data by running Python code with the mixpanel_headless library and pandas.
Claude Code · about 4.3K tokens · pinned 6 days ago
session-replay
This skill retrieves and analyzes Mixpanel session replay recordings to show what a specific user did on screen, action by action.
Claude Code · about 2.6K tokens · pinned 6 days ago
setup
This skill creates an isolated Python environment for Mixpanel analysis, installs mixpanel-headless version 0.4.0 or newer along with data science libraries…
Contains scripts
Claude Code · about 1.1K tokens · pinned 6 days ago
analyze-report
Interprets existing Mixpanel reports and charts by re-running queries, identifying patterns, and summarizing what the data shows and what stands out.
Claude Code, Codex, Cursor +4 · about 1.9K tokens · pinned 6 days ago
Related in Data and databases
create-dashboard
Creates cohesive Mixpanel dashboards by discovering event and property schemas, validating queries with real data, and arranging reports in a top-to-bottom…
by MixpanelOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.1K tokens · pinned 6 days ago
deep-research
This skill conducts structured investigations into Mixpanel metrics to uncover why data changed or what's driving a trend.
by MixpanelOfficial publisher
Claude Code, Codex, Cursor +4 · about 930 tokens · pinned 6 days ago
install
This skill sets up Mixpanel integration for a project by configuring one of three engines: Mixpanel MCP server, the headless Python SDK, or the user's own…
by MixpanelOfficial publisher
Claude Code · about 1.2K tokens · pinned 6 days ago
learn-mcp
This skill guides users through interactive modules on how to use the Mixpanel MCP server for product analytics.
by MixpanelOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.6K tokens · pinned 6 days ago
manage-experiment
This skill guides users through the full lifecycle of a Mixpanel A/B experiment: designing (hypothesis, metrics, sample sizing, statistical model selection)…
by MixpanelOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.7K tokens · pinned 6 days ago
manage-feature-flags
Guides users through Mixpanel feature flag lifecycle: selecting the right flag type (Feature Gate, Dynamic Config, or Experiment), creating and naming flags…
by MixpanelOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.1K tokens · pinned 6 days ago
Open roles at Mixpanel
3 open roles on the jobs board
- Delivery Engineer
Singapore (Hybrid)
- Delivery Engineer, EMEA
London, UK (Hybrid)
- Engineering Manager, Query Service
San Francisco, US (Hybrid)