Agent Native

manage-lexicon

This skill audits and manages a Mixpanel project's Lexicon, which tracks events and properties metadata.

by MixpanelOfficial publisherNot reviewed

Identity proven by GitHub's verified organisation badge (mixpanel)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
Apache-2.0 (permissive)
Pin
dfb891bpinned Oct 9, 2026
Context cost
about 1,900 tokenswhen the skill loads
GitHub stars
15on mixpanel/ai-plugins
Scripts
None found

What it does

“Audit, score, enrich, or clean up the Lexicon (events and properties metadata) for a Mixpanel project. Use whenever the user wants to score Lexicon health, bulk-fill missing descriptions / display names / tags, reset metadata, triage data quality issues (type drift, null values, volume anomalies), or rename and delete tags. Also use when the user describes the problem in their own words — "score lexicon", "enrich lexicon", "bulk enrich", "auto-tag events", "reset lexicon", "wipe tags", "review data quality issues", "rename/delete Lexicon tags", "event names are a mess", "half my events have no descriptions", "tracking plan audit", "clean up the schema", "score our instrumentation" — as long as Mixpanel is the context. Do NOT use for: deleting event data or user profiles; dashboard cleanup; cohort tagging; customer health scoring. Requires a Mixpanel engine — run /mixpanel:install if not set up.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill audits and manages a Mixpanel project's Lexicon, which tracks events and properties metadata. It scores metadata quality, bulk-enriches missing descriptions and tags, resets metadata, identifies data quality issues like type drift, and renames or deletes tags through an interactive command-driven session.

When to use it

  • Audit event and property metadata health and quality scores
  • Bulk-fill missing descriptions, display names, or tags on events
  • Identify and triage data quality issues like null values or volume anomalies
  • Rename or delete tags across a Mixpanel project

When not to

  • For deleting event data or user profiles from Mixpanel
  • To clean up dashboards or manage cohorts in Mixpanel

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add mixpanel/ai-plugins --skill manage-lexicon

Installs 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-lexicon@dfb891bb6f754b5dcab2131b7311e7ccb9bf8c3e

Installs the commit we checked (dfb891b).

Copy by hand

Download the folder at dfb891b and put it in .claude/skills/manage-lexicon for Claude Code and in .agents/skills/manage-lexicon for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at dfb891b

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-lexicon" by Mixpanel.

Source, pinned to commit dfb891bb6f754b5dcab2131b7311e7ccb9bf8c3e:
https://github.com/mixpanel/ai-plugins/tree/dfb891bb6f754b5dcab2131b7311e7ccb9bf8c3e/plugins/mixpanel/skills/manage-lexicon

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-lexicon/ for Claude Code and .agents/skills/manage-lexicon/ 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-lexicon

SKILL.md at the pin

---
name: manage-lexicon
license: Apache-2.0
description: >
  Audit, score, enrich, or clean up the Lexicon (events and properties metadata)
  for a Mixpanel project. Use whenever the user wants to score Lexicon health,
  bulk-fill missing descriptions / display names / tags, reset metadata, triage
  data quality issues (type drift, null values, volume anomalies), or rename
  and delete tags. Also use when the user describes the problem in their own
  words — "score lexicon", "enrich lexicon", "bulk enrich", "auto-tag events",
  "reset lexicon", "wipe tags", "review data quality issues", "rename/delete
  Lexicon tags", "event names are a mess", "half my events have no
  descriptions", "tracking plan audit", "clean up the schema", "score our
  instrumentation" — as long as Mixpanel is the context.
  Do NOT use for: deleting event data or user profiles; dashboard cleanup;
  cohort tagging; customer health scoring. Requires a
  Mixpanel engine — run /mixpanel:install if not set up.
metadata:
  engine: required
---

# Manage Lexicon

> **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.

This skill manages a Mixpanel project's Lexicon — the registry of tracked events and properties. It scores metadata quality, bulk-enriches missing descriptions / display names / tags, resets metadata, triages data quality issues, and renames or deletes tags. It runs as a single interactive session per project; do not invoke in parallel for the same project.

---

# Components

The skill is built from a small set of abstractions. The Execution section below tells you how to use them.

## Canonical commands

Each command lives in its own file under `commands/` and is loaded on demand. Match commands explicitly (user names them) or implicitly (message matches a trigger phrase below).

| Command | File | Match if message contains any of |
| --- | --- | --- |
| `score-lexicon` | `commands/score-lexicon.md` | score, audit, health, grade |
| `enrich-and-tag` | `commands/enrich-and-tag.md` | enrich, fill, auto-tag, generate descriptions |
| `reset-lexicon` | `commands/reset-lexicon.md` | reset, wipe, clear metadata, clear tags |
| `review-issues` | `commands/review-issues.md` | issues, drift, anomaly, data quality |
| `manage-tags` | `commands/manage-tags.md` | rename tag, delete tag, merge tags |

If a message matches more than one command, show the Command menu instead.

## Command menu

Shown when no command was detected or inferred.

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Manage Lexicon — [Project Name] ([project_id])
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1. Score Lexicon    — Health score (0–100), auto-offer bulk enrich
  2. Enrich & Tag     — Fill empty display names, descriptions & tags
  3. Reset Lexicon    — Clear descriptions / display names / tags
  4. Review Issues    — Triage data quality issues
  5. Manage Tags      — Rename or delete existing tags
  6. Exit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

## Session vocabulary

The skill maintains a typed vocabulary of session state that persists across commands within a single session. Each command declares which keys it reads and writes at the top of its file (`Session reads:` / `Session writes:`). Commands check the session first and only fetch what's missing — never re-fetch what already exists.

| Key | Shape | Description |
| --- | --- | --- |
| `project_id`, `project_name` | string | Active project (set in Step 1). |
| `event_list` | `string[]` | Event names in the project's Lexicon, post-exclusions. |
| `event_details_cache` | map | `event_name → full metadata` (description, display_name, verified, tags, hidden, dropped). |
| `property_names` | `{ event: [], user: [] }` | Property name lists split by resource type. |
| `property_details_cache` | map | `property_name → full metadata`. |
| `volume_rank_map` | map | `event_name → { volume, rank }`. Empty `{}` if volume query fails. |
| `issues_list` | array | Normalised data quality issues, populated by `review-issues`. |
| `existing_tags` | array | Tag names in use across the project, populated by `manage-tags` and `enrich-and-tag`. |

## Exclusions

Always-on filters. Apply before building any working set, gap list, or write payload — excluded entities are never read, scored, or written.

**Ignored events**

- `$ae_first_open`, `$ae_updated`, `$ae_session`, `$ae_iap`, `$ae_crashed` — legacy auto-tracked mobile SDK events. Mixpanel-managed; customers cannot edit metadata.
- `$session_start`, `$session_end` — virtual events (project session definitions). No Lexicon row.

**Ignored properties**

- Any property name starting with `mp_` — Mixpanel-managed reserved namespace.
- Any property name starting with `$` — Mixpanel system properties.

**Not excluded:** custom events that happen to start with `$` (only the explicit `$ae_*` / `$session_*` list is filtered). Hidden and dropped events stay in the working set — they're part of hygiene scoring.

## Behaviour rules

1. **No phase narration.** Output only what the user needs to see — progress lines during batched writes, previews, confirmation prompts, errors, and final results. No "I'll now fetch your events…" or "Let me analyze the score…". Do the work and surface results.
2. **Preview before writes.** Show before/after and require explicit confirmation before any Lexicon mutation.
3. **Destructive writes require literal `CONFIRM`** (case-sensitive). Anything else cancels, except `EXPORT`, which writes the preview to JSON without committing.
4. **`exit` always valid.** Stop, discard uncommitted work, return to the Command menu.
5. **Project switching.** If the user wants to operate on a different project mid-session, suggest starting a new conversation first. If they insist, resolve the new project and continue with that `project_id`.
6. **If a command can't complete, explain why.** Tell the user what failed and what they can try. Don't fail silently.
7. **Audit trail.** After every successful write command, append `data-governance-runs/[ISO-timestamp]-[command].json` in the working directory. Include `project_id`, command, counts of entities written, counts of failures.
8. **In `enrich-and-tag`, add tags; don't replace.** Add new tags to events without removing or replacing existing ones.
9. **Fill-only-empty in `enrich-and-tag`.** Only write to a field if it's currently null or empty. Never overwrite existing metadata. Use `reset-lexicon` first if regenerating.

---

# Execution

Follow these steps in order.

## 1. Set project

Resolve which Mixpanel project the user wants to operate on.

- **User named a project (name or ID):** list all projects in the workspace. Match by ID first, then by case-insensitive name. If one match → `✅ [Project Name] ([project_id])`, proceed.
- **Multiple name matches:** show the matches in a numbered list, ask the user to pick.
- **No match:** tell the user what wasn't found, offer to `list` (which re-fetches the project list and shows the table).
- **User named nothing:** ask which project. `list` → fetch projects → show table.

If the project listing fails because no Mixpanel capability is available, stop and ask the user whether to run `/mixpanel:install` now.

## 2. Set session context

Start empty. Commands populate what they need and skip fetches whose data already exists in session.

## 3. Command loop

For each user request, run these steps. Loop until the user exits or starts a new project.

### 3a. Choose command

- **Explicit:** user names a command (`/score-lexicon`, "run reset", etc.) → use that command.
- **Implicit:** message matches exactly one canonical trigger phrase → use that command.
- **Ambiguous or none:** show the Command menu, take the user's choice.

### 3b. Load command

If the command file is not already in context, read `commands/[command].md`.

### 3c. Execute command

Follow the instructions in the command file. Reuse session context wherever possible.

### 3d. Complete command

Print `✅ Done.` Write the audit log entry per the Audit trail rule. Return to choosing the next command.

If the command itself produced a follow-on offer (Score → Enrich, Reset → Enrich, Review-Issues triage), honour that handoff before returning to command selection.

From mixpanel/ai-plugins at dfb891b, shown as plain text under its license: Apache-2.0 (permissive). The license text is in plugins/mixpanel/skills/manage-lexicon/SKILL.md.

View SKILL.md on GitHub at dfb891b

Files

7 files, 36 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at dfb891b
All 19 skills from Mixpanel

More 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

  • 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-boards

    This skill provides full lifecycle management for Mixpanel dashboards, enabling agents to create, template, clone, clean up, inventory, and update boards…

    by MixpanelOfficial publisher

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 1.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

Open roles at Mixpanel

3 open roles on the jobs board

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use