Repository navigation
fix(planning): install planning skills on MetaMask Extension and narrow triggers - #219
Conversation
…ow triggers - Install planning, planning-spec and jira-brief for MetaMask Extension with per-repo overlays. Core stays out of scope. - planning is experimental with no base; it triggers only for ambiguous, large, security-sensitive, performance-sensitive or explicitly requested work. - Security and performance stop for agreement before the edit, with a spec only when also large. - Cheap uncertainty proceeds with a closing note; risk uncertainty stops for a short brief. - Catalog reads every installed mms-* description and follows the matching skill; drop the fixed mms-performance read. - Remove the Jira nudge line; jira-brief reads a ticket when one is identified and planning continues otherwise.
… performance trigger Narrow the performance-sensitive trigger from any screen to a screen's render or data path. Mark planning-spec and jira-brief experimental so they no longer install without planning. Fold the planning changelog entries and log the dropped -pt.md instruction.
…nsitive Reading an existing selector was pausing fully specified UI that only displays data already in the store.
A screen render still counted as performance-sensitive when it only showed a value already in the store. A new or changed selector still stops.
Treat uncertainty about performance as risk uncertainty. On Mobile, read mms-performance when the work is performance-sensitive.
|
Explanation of my above comments: issue (blocking): Contract/API changes should explicitly trigger planning The workflow already correctly states that contract/API changes require a brief, even when fully specified, but don't require a spec unless the change is also large. However, contract/API changes are missing from the skill's trigger conditions, meaning I'd suggest adding contract/API changes to both the frontmatter This would make the trigger conditions consistent with the existing workflow without broadening the scope unnecessarily or requiring further changes. |
Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com>
Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com>
Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com>
Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com>
The accepted description edit dropped the ambiguous-scope sentence and repeated the security line. Contract or API changes stay a trigger and stop for a brief. The catalog still runs first if a later step starts early.
Re-check on
|
| Scenario | Claude | GPT | Grok |
|---|---|---|---|
| Typo, Mobile | did not open | opened, proceeded | did not open |
| Typo, Extension | did not open | opened, proceeded | did not open |
| Ambiguous send, Mobile | full brief, no spec | full brief, no spec | full brief, no spec |
| Ambiguous swap, Extension | full brief, no spec | full brief, no spec | full brief, no spec |
| Vault, shape not decided | full brief, no spec | full brief, no spec | full brief, no spec |
| Keyring, decision pending | full brief, no spec | full brief, no spec | full brief, no spec |
| Explicit plan, Mobile | full brief, no spec | full brief, no spec | full brief, no spec |
| Explicit plan, Extension | full brief, no spec | full brief, no spec | short brief, no spec |
| Label, Mobile | did not open | opened, proceeded | did not open |
| Label, Extension | did not open | opened, proceeded | did not open |
| New area: prediction markets | brief, spec | spec | spec |
| Jest, routine CI | opened, proceeded | opened, proceeded | did not open |
| Vault, re-encrypt, fully specified | short brief, no spec | short brief, no spec | short brief, no spec |
| Public method on keyring | full brief, no spec | full brief, no spec | full brief, no spec |
| New area: household, Mobile | brief, spec | spec | brief, spec |
| New area: household, Extension | brief, spec | brief, spec | brief, spec |
| Cheap uncertainty, keep the result | full brief, no spec | proceeded | cheap note, proceeded |
| Ticket might cover the change | cheap note, proceeded | cheap note, proceeded | cheap note, proceeded |
| Public method, not security, fully specified | full brief, no spec | full brief, no spec | full brief, no spec |
The new contract trigger works: the non-security public method stopped for a brief with no spec in all three labs. Security still stops without a spec. Large areas still recommend a spec. Mechanical work still opens on GPT, then proceeds. That known gap is unchanged.
Description
Make the
planningskill work on MetaMask Extension as well as MetaMask Mobile, and narrow when it triggers.planning,planning-specandjira-briefinstall for MetaMask Extension with per-repo overlays. Shared body, same rules in both repos. Core stays out of scope.planning,planning-specandjira-briefarematurity: experimentalwith nobase, so a default stable sync installs none of them.planningtriggers only when scope is ambiguous, the change is large, the work is security-sensitive or performance-sensitive, a contract or API is being changed, or the engineer asks for it.largeis tightened to a new product area, or a cross-system design with undecided scope.mms-*description on every path, and follows a matchingmms-*skill over a non-mms-*one. If a later step is reached before that read, the catalog runs first. The fixedmms-performanceread is dropped, since that skill does not install for Extension. On Mobile, performance-sensitive work still readsmms-performance.A Jira ticket would improve this context.is removed.jira-briefreads a ticket when one is identified; otherwise planning continues without asking.Type of Change
Testing
Latest check, on
1d402d6: 19 scenarios × 3 labs. The description repair is in that commit: the accepted suggestion had split the ambiguous-scope sentence and repeated the security line. The contract trigger and the catalog recovery sentence stayed. The only run comment has that table. The table below is the first 54 runs. Labs: Claude Sonnet 5.5 (high), GPT 5.6 Terra (medium), Grok 4.7 (high). Skills were installed locally inmetamask-mobileandmetamask-extensioncheckouts withtools/install --include planning/<skill>.Outcome per scenario. Labels: "opened, proceeded" = skill read and triggered, then the agent continued without a pause; "note, proceeded" = continued with the closing note; "brief, no spec" = short brief, no spec recommended; "short brief, no spec" = one-line pause for agreement; "spec" = planning spec recommended; "did not open" = skill not triggered.
Notes:
Do not use this skill before every editline does not fully stop this yet (7 of 15 mechanical runs opened the skill).Validation run locally:
yarn test: 76/76 pass.yarn lint:changelog: pass.yarn audit:skills: 0 errors.Limitations:
9d2bc38, spec and Jira paths still fired and no ticket was requested; on7613162, the clear performance case and the borderline selector case paused, the plain UI change did not, and ticket and no-ticket paths behaved on Mobile and Extension. The only run comment is the latest, on1d402d6: 19 scenarios times 3 labs.Checklist