Skip to content

feat: add analytics skill with MetaMask Mobile overlay - #140

Open
NicolasMassart wants to merge 1 commit into
mainfrom
feat/MCWP-826_Analytics-skill
Open

feat: add analytics skill with MetaMask Mobile overlay#140
NicolasMassart wants to merge 1 commit into
mainfrom
feat/MCWP-826_Analytics-skill

Conversation

@NicolasMassart

Copy link
Copy Markdown
Contributor

Description

Add a repo-agnostic analytics skill plus a MetaMask Mobile overlay that documents the canonical tracking API (useAnalytics, analytics.trackEvent, AnalyticsController:trackEvent), event catalog usage, and test mocking via createMockUseAnalyticsHook.

The skill is marked mandatory: true so it installs even when the coding domain is filtered out. README documents that mandatory: true behavior (--exclude / SKILLS_EXCLUDE still wins).

Type of Change

  • New skill
  • Skill improvement/update
  • Bug fix
  • Documentation update
  • Other (please describe):

Skill Details (if adding a new skill)

Provider Name: MetaMask
Skill Name: analytics
Brief Description: Product analytics and event tracking guidance, with a MetaMask Mobile overlay for the canonical tracking API.

Checklist

  • I have read the CONTRIBUTING.md guidelines
  • My skill follows the SKILL_TEMPLATE.md format
  • I have tested this skill with an AI agent
  • My skill does not contain any secrets, private keys, or sensitive data
  • I have added appropriate documentation
  • My changes don't break existing skills

Testing

  • Confirm yarn audit:skills accepts the new skill frontmatter
  • Install the skill and confirm it is selected when adding or reviewing tracked events in MetaMask Mobile
  • Confirm mandatory: true still installs the skill when the coding domain is filtered out
  • Confirm --exclude / SKILLS_EXCLUDE still skips it when explicitly excluded

Additional Context

MCWP-826

Made with Cursor

- Introduced a new `analytics` skill that provides a repo-agnostic base and integrates a MetaMask Mobile overlay for the canonical tracking API. This skill is marked as `mandatory: true`, ensuring it installs even when the `coding` domain is filtered out.
- Updated documentation in `README.md` to clarify the behavior of `mandatory: true` in relation to domain filtering.
@NicolasMassart
NicolasMassart requested a lite review from Copilot August 31, 2026 15:32
@NicolasMassart NicolasMassart self-assigned this Aug 31, 2026
@NicolasMassart NicolasMassart added the enhancement New feature or request label Aug 31, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new repo-agnostic analytics skill and a MetaMask Mobile-specific overlay documenting the canonical analytics tracking API and testing patterns, and updates top-level docs/changelog to reflect mandatory: true installation behavior.

Changes:

  • Add new analytics skill (marked mandatory: true) with a basic workflow for event selection, building, emission, and test mocking.
  • Add metamask-mobile overlay documenting canonical tracking entry points and example usage/mocking patterns.
  • Document mandatory: true behavior in README.md and record the addition in CHANGELOG.md.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
README.md Documents how mandatory: true interacts with domain filtering and excludes.
domains/coding/skills/analytics/skill.md Introduces the base analytics skill with frontmatter and a simple workflow.
domains/coding/skills/analytics/repos/metamask-mobile.md Adds MetaMask Mobile overlay describing canonical tracking APIs, examples, and test mocking guidance.
CHANGELOG.md Notes the new analytics skill and its mandatory: true behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


## Canonical API

Two emission paths. Use one of them; do not add a third.
Controllers that already talk to Engine should call
`messenger.call('AnalyticsController:trackEvent', event)` with a built event.

## Require
Comment on lines +27 to +28
Controllers that already talk to Engine should call
`messenger.call('AnalyticsController:trackEvent', event)` with a built event.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants