Skip to content

new skill: manage-boards#27

Open
naitik-mixpanel wants to merge 8 commits into
mixpanel:mainfrom
naitik-mixpanel:manage-board
Open

new skill: manage-boards#27
naitik-mixpanel wants to merge 8 commits into
mixpanel:mainfrom
naitik-mixpanel:manage-board

Conversation

@naitik-mixpanel

Copy link
Copy Markdown
Contributor

What

Adds three region-pinned copies of the manage-boards skill — mixpanel-mcu (US), mixpanel-mcu-eu (EU), and mixpanel-mcu-in (IN). Each folder holds the full skill (SKILL.md, references, scripts, commands) and is bound to its region's Mixpanel MCP connector (mcp.mixpanel.com, mcp-eu.mixpanel.com, mcp-in.mixpanel.com). Skill logic is identical across all three; only the connector binding differs.

Why

Mixpanel enforces data residency across US, EU, and IN, and each region is served by a separate MCP connector. A single skill can't safely span them — running a board operation against the wrong endpoint either fails or touches the wrong project. Three region-pinned variants give each region a self-contained skill that only ever talks to its own connector, with no cross-region fallback.

Type

  • New skill
  • Update existing skill
  • Bug fix
  • Documentation

Skill review

  • /review-skill passed (no blockers or majors)

Testing

Sample prompt: https://claude.ai/share/7aabda51-82d1-4aa1-9c9d-95bfc2f8af1c

@naitik-mixpanel

Copy link
Copy Markdown
Contributor Author

@zoeabrams-eng need your help in reviewing this PR. Thank you

@zoeabrams-eng

Copy link
Copy Markdown

Could you include the score this received from /review-skill in the test section?

- `creator` / `owner` (if available)
3. Cache in `dashboard_list_cache`.

**Recency field discovery (do this once, silently):** Inspect the first result object to see which timestamp fields are present. Prefer, in order: `last_viewed` → `last_modified`/`updated_at` → `created_at`. Record which field was used so the report can label it accurately. If NO timestamp field is present, skip the Stale classification entirely and tell the user in the report header: "Recency data not available from the API — staleness not assessed; showing structural flags only."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you only inspecting the first result object here instead of the full dashboard set?


**Option D: Skip — just wanted the audit** — return control to router.

**Never auto-delete.** Always require explicit confirmation. Never propose deleting a 🔴 Stale board that still has 3+ reports without flagging that it may be a seasonal/quarterly board worth archiving rather than deleting.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

splitting into 2 rules would be clearer because the scope of the title and first sentence is every deletion path, whereas the last sentence is for a specific set of boards.

| **5** | Read `commands/duplicate-dashboard.md`, execute |
| **6** | Read `commands/update-dashboard.md`, execute |
| **7** | Exit |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A routing matrix would complement this menu section for cases where the agent has to infer routing behavior because the user doesn't exactly follow the choices given.

@zoeabrams-eng
zoeabrams-eng self-requested a review July 17, 2026 22:32
## Summary
Adds `manage-boards`, a full-lifecycle dashboard management skill for the Mixpanel MCP (create, template, clone, clean up, inventory, update boards). Shipped identically across the three regional plugins: `mixpanel-mcp`, `mixpanel-mcp-eu`, `mixpanel-mcp-in`.

## Review changes (addressing skill-review findings, 86% → merge-ready)
- **Stable cross-references** (all command files) — replaced numbered `Global Rule 8/9` pointers with rule titles (**Validate every write**, **Fetching the dashboard set**) so reordering rules can't silently break references.
- **Tool docs stay in the tool** (`commands/update-dashboard.md`, `references/mcp-tool-reference.md`) — dropped the literal operation-payload table and response-shape prose; kept only the non-obvious knowledge (mint-first, temp-placeholder, read-real-IDs-first).
- **De-duplicated listing guidance** — removed the reference file's "Listing dashboards" section; Rule 9 is now the single source.
- **Top-down `SKILL.md`** — moved Global Rules and Session Context above Step 0 / Command Menu so concepts are defined before referenced.
- **Flattened references** — removed the reference file's back-pointer to `template-dashboard.md`; companion files stay one level deep.
- **Conciseness** — added `## Contents` to the three long command files, shortened Rule 1 to a pointer, and trimmed duplicated description triggers (1001 → 818 chars).

## Scope
- 3 regional copies kept byte-identical.
- No behavior change to create / template / duplicate / inventory / update paths.

## Testing
- `/review-skill` score: _TBD — pending re-run after fixes._
@naitik-mixpanel

Copy link
Copy Markdown
Contributor Author

MAde updates as per review. Attached screenshot of latest score after reviewing skill
Screenshot 2026-07-18 at 12 30 08 PM
Screenshot 2026-07-18 at 12 30 03 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants