unstale

npm / @metamask/skills

@metamask/skills

What changed in @metamask/skills 0.2 to 0.3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

6 breaking18 new APIs and options5 behavior and defaults8 tooling10 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@metamask/skills 0.339 changes

Breaking changes 5

  • A base: true skill cannot also be experimental; the linter treats this as an error.

    0.3.0release notes

  • All four implementations now use consistent truthiness for base: values; base: on no longer passes lint while being skipped by the installer.

    0.3.0release notes

  • A base skill description must be long enough to self-trigger; violations are errors.

    0.3.0release notes

  • Domain values are validated against existing domains instead of silently installing the base set and exiting successfully on a typo.

    0.3.0release notes

  • The frontmatter key mandatory was renamed to base; update skills still using the old key.

    0.3.0release notes

New APIs and options 11

  • Adds skills for the assets domain.

    0.3.0release notes

  • Skills marked base: true in frontmatter install on every automatic postinstall regardless of domain selection, providing a useful set with no configuration.

    0.3.0release notes

  • Adds a MetaMask mobile content-guidelines skill.

    0.3.0release notes

  • Adds an analyzer flag for setting the context minimum percentage.

    0.3.0release notes

  • Adds a skill for adding EVM networks in the extension repository.

    0.3.0release notes

  • Adds a skill for using Flashlight to assess Android vitals.

    0.3.0release notes

  • Adds a skill for choosing mobile test-layer placement.

    0.3.0release notes

  • Adds a MetaMask Mobile visual-testing skill.

    0.3.0release notes

  • Adds opt-in pruning of stale project skills.

    0.3.0release notes

  • Setting SKILLS_PRUNE_STALE=1 opts in to stale project skill pruning.

    0.3.0release notes

  • Adds an analyzer flag for restricting the audit to swaps.

    0.3.0release notes

Behavior and default changes 5

  • The Extension UI skill is now an MMDS gateway.

    0.3.0release notes

  • Mobile testing guidance now defaults to the component-view layer, and the Appium local-run playbook moved into this skill.

    0.3.0release notes

  • Automatic postinstall syncing is now the default; set SKILLS_AUTO_UPDATE=0 to opt out. An explicitly empty value still means off.

    0.3.0release notes

  • 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.0release notes

  • 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.0release notes

Tooling 8

  • Guidance adds flakiness and assertion patterns, requires awaiting async-gated content, and bans nested findBy inside waitFor.

    0.3.0release notes

  • Adds a unified extension-testing skill.

    0.3.0release notes

  • Clarifies where integration tests belong.

    0.3.0release notes

  • Adds a mobile integration-testing skill.

    0.3.0release notes

  • Unifies the Mobile testing skills.

    0.3.0release notes

  • Adds context for a wider CPU audit.

    0.3.0release notes

  • Adds a skill that parses Hermes or React Native Release Profiler .cpuprofile captures and audits slow frames in swaps and bridge.

    0.3.0release notes

  • Updates the extension UI-development skill to include newly added design-system components.

    0.3.0release notes

Fixes and other changes 10

  • 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.1release notes

  • 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.1release notes

  • Appends -oBatchMode=yes to an existing value rather than replacing it, preserving custom SSH keys, agents, and ProxyCommand configuration.

    0.3.0release notes

  • When no valid entries are selected, installs the base set instead of every domain.

    0.3.0release notes

  • 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.0release notes

  • Readers now strip inline comments consistently so comments do not become part of domain names.

    0.3.0release notes

  • Preserves METAMASK_SKILLS_DIR and CONSENSYS_SKILLS_DIR entries when rewriting .skills.local.

    0.3.0release notes

  • Caps the delegated sync subprocess so it cannot hang yarn install indefinitely and reports ETIMEDOUT explicitly.

    0.3.0release notes

  • Executes the tools/install shipped beside the pinned package instead of preferring executable code from the unpinned cache clone.

    0.3.0release notes

  • The command remains unchanged and still installs every domain.

    0.3.0release notes

@metamask/skills 0.28 changes

Breaking changes 1

  • Prefixes all perps skill names with perps-, changing the names developers use to identify those skills.

    0.2.0release notes

New APIs and options 7

  • Adds a skill for breaking down perps tickets.

    0.2.0release notes

  • Adds a component-scaffold skill for MetaMask Mobile.

    0.2.0release notes

  • Adds a controller-integration skill for mobile and extension development.

    0.2.0release notes

  • Adds EVM network integration skills for swaps.

    0.2.0release notes

  • Adds a flaky-test-detection skill.

    0.2.0release notes

  • Adds a multiproject validation skill for perps.

    0.2.0release notes

  • Adds a product-authoring skill for writing perps tickets.

    0.2.0release notes