Repository navigation
Update content guidelines skill with shared rules and mobile/extension overlays - #221
alidotforrest wants to merge 12 commits into
Conversation
Move confirmed copy rules into skill.md, slim the mobile overlay to client paths, and add an extension overlay so the skill installs there. Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Ban untranslatable plurals and raw newlines, confirm Hyperliquid and the gas rule, and leave the ellipsis-versus-curly-punctuation choice open. Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Use that label only when MetaMask covers a network fee. A $0 or waived MetaMask fee is not MetaMask paying itself. Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Approve proposals 1 through 15 with the stated qualifications. Leave "Paid by MetaMask" proposed, and do not treat pending checks as done. Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Use the label only when MetaMask covers a fee the user would otherwise pay. Do not use it for a $0 or waived MetaMask fee. Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
…ines-uplevel-b057 Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com> # Conflicts: # CHANGELOG.md
georgewrmarshall
left a comment
There was a problem hiding this comment.
Thanks for this — shared rules plus thin Mobile/Extension overlays is the right shape, and the Extension overlay closes the previous Mobile-only gap.
I reviewed this against Design Brain’s Lessons & Rules (Active + Proposed) and the MetaMask Content Design Style Guide / related Notion content docs. You’re the content owner on this, so take these as callouts and questions rather than blockers — a few places looked like they might drift from the current source text, and I wanted to surface them for your eye.
Questions / things to address (non-blocking)
-
Authority vs sources — The skill currently says Notion, the design-system rule, and component READMEs are background and this file always wins. Could we frame it as the agent-readable implementation of approved guidance, link the originals, and flag disagreements for content-owner review instead? That would avoid concealing real conflicts if sources move.
-
Possible Active Design Brain / Style Guide mismatches (worth a quick reconcile or a note that content design has consciously overridden):
- Sentence-case “Private key” vs Style Guide / Active rule still listing Private Key as a title-case exception
- “Use contractions. No exceptions.” vs guidance to use them when they read naturally
- Extending drop-“your” from onboarding titles to new field prompts — Active rule says that doesn’t automatically apply to field labels / inline instructions
- Consent-checkbox first-person exception vs Active “Never first-person user POV” (Notion doesn’t currently document that exception)
- Hyphenated numeric ranges (
1-20) as settled — Notion still marks hyphen vs en dash unresolved
-
Missing safeguards that look approved in Notion today and might be worth a short cross-ref:
- No spatial references (above / below / left / right), not only “click here”
- Full “MetaMask Snaps” on first mention in a page/flow
- Rewards’ three meanings; points vs redeemed rewards; no yield/ROI/securities analogies for network rewards
- Async errors/status announced; loading can’t rely on animation alone
- Technical-audience exceptions for “dapp” (PR currently treats “site” as absolute)
-
Trust / security example — The approved example “Your wallet and funds are safe. This screen didn’t load. Try again.” reads as an unconditional safety assurance. Worth gating on verified product facts, or softening, so agents don’t invent fund-safety claims from a load failure alone.
-
Shape nits — Shared base still carries a few Mobile Polymarket/key internals and Extension Activity specifics; overlays are the better home. Also worth a deliberate merge reconcile with #212/#213 (esp. the component-README / no-MCP lookup path).
Design Brain discrepancies can stay explicit follow-ups — no need to auto-rewrite Notion from this PR. Happy to sync on any of these if useful.
|
Follow-up to the approval — one more non-blocking note:
|
georgewrmarshall
left a comment
There was a problem hiding this comment.
Blocking: Please revert / drop the CHANGELOG.md edits from this PR.
CHANGELOG.md is for the skills package release process. Content-guideline skill updates shouldn’t touch it unless we’re cutting a release.
(The earlier approve callouts stay non-blocking; this CHANGELOG change is the only blocker.)
Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
…ines-uplevel-b057 Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
Co-authored-by: alidotforrest <alidotforrest@users.noreply.github.com>
georgewrmarshall
left a comment
There was a problem hiding this comment.
Thanks for turning these around. The CHANGELOG.md revert clears the blocker, and the earlier callouts are all addressed: the sources framing, Private Key title case, contractions, "your" limited to onboarding titles, the consent exception note, numeric ranges as Proposed, the five safeguards, the fund-safety example, and the overlay moves. Approving.
Non-blocking (AI-assisted review)
-
Reversed decisions in
c899da5e. "Align with Style Guide" reverses several decisions this PR recorded from Corey's review:- Loading text: was
...as an exception, now animation with no ellipsis. - Em dash: was banned, now allowed for an aside.
- Times: were
a.m./p.m., now6:30 am. - Periods: every full sentence used to end in one. Now a single sentence has none.
- Destructive confirmation titles: now statements with no question mark ("Lock your wallet").
That may be the right call if the Style Guide is the newer source. Could you confirm content leadership is OK overriding Corey's review, so agents don't flip-flop if someone re-applies the older decisions?
- Loading text: was
-
Period rule not applied everywhere. Under the new rule, some ✅ examples still end a single sentence with a period:
- "We're investigating the problem."
- "We're here to help." / "This can't be undone."
- "Open the Ethereum app on your device."
- "By continuing, you agree to the Terms of Use."
Either drop the periods or note why these are exceptions.
Description
Edits the existing
content-guidelinesskill in place atdomains/ui/skills/content-guidelines/. Shared rules live inskill.md. The mobile overlay is updated. A new extension overlay is atrepos/metamask-extension.md.The skill is the agent-readable implementation of approved MetaMask content guidance, for agents to use day to day. It follows the MetaMask Content Design Style Guide and Design Brain. If those sources disagree with this file, flag it to the content owner. Do not invent a rule.
No app strings were migrated.
Key decisions
\nin strings6:30 amAligned with the Style Guide
No Style Guide overrides:
—) with no spaces may offset an asideam/pm(6:30 am)...or…. An ellipsis is only for a shortened addressGeorge's review
Non-blocking callouts are addressed: authority and source links, contractions when they read naturally, "your" only on onboarding titles, consent "I understand…" kept as a skill exception not yet in the Style Guide, directional words limited to pointing on screen, "MetaMask Snaps" on first mention in a page or flow, Rewards vs points vs redeemed, no yield/ROI/securities analogies, loading status announced to assistive tech, "site" in consumer UI and "dapp" for a technical audience, and the safety example no longer says funds are safe. Polymarket and Predictions label casing is in the mobile overlay. Activity-row copy is in the extension overlay. Component README lines tied to #212 and #213 were left unchanged.
Audit fixes
app_settings.learn_more,predict.consent_sheet.learn_more)Still proposed or unresolved
1-20) and an en dash for a fixed range. Not migratedRollout checks not yet done
How agents get it
yarn skillssyncs this into the app repos asmms-content-guidelines. The copy under.claude/skills/mms-content-guidelinesis generated. Do not edit it there. AGENTS.md pointers are in draft PRs metamask-mobile #39056 and metamask-extension #47681. The extension gets the skill after this PR merges.A Consensys/skills overlay may exist. This environment could not read that repo. Reviewers should check it does not override these rules.
Type of Change
Skill Details (if adding a new skill)
Provider Name:
Skill Name: content-guidelines (existing)
Brief Description: Agent-readable MetaMask content guidance for mobile and extension.
Checklist
Testing
yarn audit:skillson this skill reports no errors.yarn testpassed. A local install formetamask-mobileandmetamask-extensionwritesmms-content-guidelinesand appends only the matching overlay.Additional Context
No app-repo string migrations are included.