Skip to main content
MetaMask
GitHub creator profile

MetaMask

Repository-level view of 81 collected skills across 8 GitHub repositories.

skills collected
81
repositories
8
updated
Sep 3, 2026
repository explorer

Repositories and representative skills

controller-guidelines
software-developers

Authoring a MetaMask controller: BaseController or not, state metadata (`persist`, `anonymous`, `usedInUi`), `this.update`, the options-bag constructor, typed messenger actions. Use when writing or reviewing a controller, or changing what it persists or…

Sep 3, 2026
controller-integration
software-developers

Wire a new or existing controller — whether imported from a `@metamask/*-controller` npm package or defined locally in the repo — into the MetaMask Mobile Engine or the MetaMask Extension background. Use this skill when: adding a controller to Engine or to…

Sep 3, 2026
perf-hooks-effects
software-developers

Extension UI hooks and effects: when not to use `useEffect`, dependency arrays, why `JSON.stringify` deps are never the fix, cascading effects, `AbortController` cleanup. Use when an effect loops or fires every render, deps are stringified to force equality,…

Sep 3, 2026
perf-react-compiler
software-developers

React Compiler in the Extension UI: what it optimizes, where it bails out, and when manual memoization is still needed. Use when deciding whether `useMemo`, `useCallback` or `React.memo` are still required, reviewing reflexive memoization, or working out why…

Sep 3, 2026
perf-rendering
software-developers

Extension UI render performance: list keys, virtualization, `React.memo`, code splitting, Web Workers, debouncing. Use when a long list stutters, scrolling feels janky, a component re-renders more than it should, or a route loads slowly. Effects go to…

Sep 3, 2026
perf-state-management
software-developers

Extension Redux state and selectors: reducer purity, keeping non-serializable values out of the store, normalization, Immer, batching, identity output selectors. Use when components re-render on unrelated state changes, a selector returns a fresh identity…

Sep 3, 2026
extension-testing
unclassified

Single MetaMask Extension testing entrypoint. Routes unit, UI and composed-background integration, and Selenium E2E create/maintain work (flakiness, POM anti-patterns) to the right references. Use when writing, fixing, reviewing, or placing Extension tests;…

Sep 3, 2026
coding-guidelines
software-developers

General coding standards for MetaMask client repos: TypeScript-only new code, no `any`, naming, file layout, error handling, and the required- reading and enforcement checklist. Use when writing or refactoring application code, when deciding how to structure…

Sep 3, 2026
Showing 8 of 53 collected skills.
migrate-from-sdk
software-developers

Migrate from @metamask/sdk to @metamask/connect-evm, @metamask/connect-multichain, and @metamask/connect-solana with step-by-step package, API, and configuration changes

Jun 12, 2026
send-solana-transaction
software-developers

Build and send a Solana transaction using MetaMask Connect. Covers both the React wallet-adapter approach (sendTransaction) and the vanilla browser approach (signAndSendTransaction wallet-standard feature).

Jun 12, 2026
setup-evm-browser-app
software-developers

Scaffold a vanilla JS/TS browser app with MetaMask EVM integration using createEVMClient, EIP-1193 provider event listeners, RPC methods, and chain switching with chainConfiguration fallback

Jun 12, 2026
setup-evm-react-app
software-developers

Scaffold a React app with MetaMask EVM integration using createEVMClient, useState/useEffect/useRef patterns, provider.request calls, chain switching, and error handling

Jun 12, 2026
setup-multichain-app
software-developers

Set up a multichain app using createMultichainClient from @metamask/connect-multichain. Covers EVM + Solana scopes, invokeMethod for both ecosystems, session events, headless mode, getInfuraRpcUrls, selective disconnect, and singleton behavior.

Jun 12, 2026
setup-solana-browser-app
software-developers

Set up a vanilla browser (non-React) app with @metamask/connect-solana using wallet-standard features directly. Use when integrating MetaMask Solana without a framework or wallet adapter library.

Jun 12, 2026
setup-solana-react-app
software-developers

Set up a React app with @metamask/connect-solana and the Solana wallet adapter. Use when integrating MetaMask with Solana in React, configuring WalletProvider, or building connect/sign/send flows with useWallet.

Jun 12, 2026
setup-solana-react-native-app
software-developers

Set up a React Native app with @metamask/connect-solana using polyfills and multichain invokeMethod for Solana operations. Use when building Solana support in React Native where wallet-adapter is not available.

Jun 12, 2026
Showing 8 of 18 collected skills.
Showing 8 of 8 repositories
All repositories loaded