Contributing
August 10, 2026 · View on GitHub
To propose a plugin, open a pull request — we prefer one plugin per PR so reviews stay focused, and we'll merge them as they're ready rather than batching.
Editing skills
All skill development happens in plugins/mixpanel/skills/.
- Skills must stay engine-agnostic: no hardcoded MCP tool names or URLs. Describe Mixpanel actions in plain language and follow the conventions in
plugins/mixpanel/ENGINE.md. - Every skill must declare
engine: required | optional | nonein its frontmattermetadata, and engine skills carry the one-line engine marker under the title (the exact line is in ENGINE.md's Skill tag section). CI runsscripts/check-engine-markers.shand fails skills that skip either.
Marketplace invariants
- The marketplace
namefield (mixpanel) must never change, and therenamesmap is append-only — existing installs are keyed against them. .claude-plugin/marketplace.jsonand.cursor-plugin/marketplace.jsonmust stay identical (CI-enforced).- The
v0.1.1tag is the pinned home of the retired legacy plugins — never move or delete it.
Before opening the PR
- Each skill lives in its own directory under
skills/and must contain aSKILL.mdwith validnameanddescriptionfrontmatter. - Follow the Agent Skills specification and best practices.
- Keep the main file under 500 lines — move detailed reference material to
references/. - Test the plugin end-to-end before submission — confirm it triggers on the expected prompts and produces the output you expect.
- Include examples in the PR description showing prompts the plugin handles and what it returns.
- Run
/review-skill <skill-name>and address any blocker or major issues before requesting review.