# What changed in @metamask/skills

> 47 changes in @metamask/skills 0.2 to 0.3 from its official release notes, upgrade guides and advisories: 6 breaking, 18 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@metamask/skills/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @metamask/skills 0.3

### Breaking changes

- A `base: true` skill cannot also be experimental; the linter treats this as an error. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- All four implementations now use consistent truthiness for `base:` values; `base: on` no longer passes lint while being skipped by the installer. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- A base skill description must be long enough to self-trigger; violations are errors. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Domain values are validated against existing domains instead of silently installing the base set and exiting successfully on a typo. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- The frontmatter key `mandatory` was renamed to `base`; update skills still using the old key. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)

### New APIs and options

- Adds skills for the assets domain. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Skills marked `base: true` in frontmatter install on every automatic postinstall regardless of domain selection, providing a useful set with no configuration. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a MetaMask mobile content-guidelines skill. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds an analyzer flag for setting the context minimum percentage. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a skill for adding EVM networks in the extension repository. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a skill for using Flashlight to assess Android vitals. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a skill for choosing mobile test-layer placement. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a MetaMask Mobile visual-testing skill. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds opt-in pruning of stale project skills. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Setting `SKILLS_PRUNE_STALE=1` opts in to stale project skill pruning. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds an analyzer flag for restricting the audit to swaps. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)

### Behavior and default changes

- The Extension UI skill is now an MMDS gateway. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Mobile testing guidance now defaults to the component-view layer, and the Appium local-run playbook moved into this skill. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Automatic postinstall syncing is now the default; set `SKILLS_AUTO_UPDATE=0` to opt out. An explicitly empty value still means off. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- The audit now covers the whole capture, classifies non-swaps frames by their relation to swaps call stacks, and reports named context areas alongside swaps rows. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Reports swaps-owned, swaps-path, and concurrent non-swaps areas in separate tables; adds inclusive time to the swaps table and caps non-swaps fix-table rows. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)

### Tooling

- Guidance adds flakiness and assertion patterns, requires awaiting async-gated content, and bans nested `findBy` inside `waitFor`. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a unified extension-testing skill. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Clarifies where integration tests belong. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a mobile integration-testing skill. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Unifies the Mobile testing skills. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds context for a wider CPU audit. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Adds a skill that parses Hermes or React Native Release Profiler `.cpuprofile` captures and audits slow frames in swaps and bridge. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Updates the extension UI-development skill to include newly added design-system components. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)

### Fixes and other changes

- A failed automatic sync now warns instead of exiting 0 silently, allowing the caller's guard to react and preventing stale skills from appearing fresh; postinstall still never fails yarn install. (0.3.1) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.1)
- The sync installer selection works when npm or Yarn drops the executable bit, so a configured private overlay no longer prevents base skills from being installed. (0.3.1) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.1)
- Appends `-oBatchMode=yes` to an existing value rather than replacing it, preserving custom SSH keys, agents, and ProxyCommand configuration. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- When no valid entries are selected, installs the base set instead of every domain. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Domain selections are validated against existing domains; a saved empty value from the old all-choice picker is no longer treated as no saved selection. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Readers now strip inline comments consistently so comments do not become part of domain names. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Preserves `METAMASK_SKILLS_DIR` and `CONSENSYS_SKILLS_DIR` entries when rewriting `.skills.local`. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Caps the delegated sync subprocess so it cannot hang yarn install indefinitely and reports `ETIMEDOUT` explicitly. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- Executes the `tools/install` shipped beside the pinned package instead of preferring executable code from the unpinned cache clone. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)
- The command remains unchanged and still installs every domain. (0.3.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.3.0)

## @metamask/skills 0.2

### Breaking changes

- Prefixes all perps skill names with perps-, changing the names developers use to identify those skills. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)

### New APIs and options

- Adds a skill for breaking down perps tickets. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
- Adds a component-scaffold skill for MetaMask Mobile. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
- Adds a controller-integration skill for mobile and extension development. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
- Adds EVM network integration skills for swaps. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
- Adds a flaky-test-detection skill. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
- Adds a multiproject validation skill for perps. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
- Adds a product-authoring skill for writing perps tickets. (0.2.0) — [release notes](https://github.com/MetaMask/skills/releases/tag/v0.2.0)
