| name | author-page |
|---|---|
| description | Scaffold or draft new MetaMask documentation to editorial standards. Use when creating a new page, writing a first draft, or helping a non-writer meet the documentation team's expectations. |
Help create a new documentation page that follows MetaMask editorial standards from the start.
- You need to scaffold a new page or write a first draft.
- You are helping someone who is not a writer produce content that meets team expectations.
Ask the user for any information they have not already provided:
- Product area - which product is this for? (MetaMask Connect, Embedded Wallets, Smart Accounts Kit, Services, Snaps, Developer Tools)
- Content type - what kind of page? (concept/explanation, how-to guide, quickstart, reference, tutorial, troubleshooting)
- Topic - what is the page about?
- File path - where should the file live? (Suggest one based on product and content type if the user doesn't specify.)
Based on the product and content type, load the relevant rules:
.cursor/rules/content-types.mdc- structural expectations for the content type..cursor/rules/product-*.mdc- product-specific terminology and conventions..cursor/rules/editorial-voice.mdc- tone and voice..cursor/rules/markdown-formatting.mdc- formatting conventions..cursor/rules/terminology.mdc- required terms and casing.
Check how existing pages in the same folder are structured. Match their conventions for headings, front-matter fields, intro style, and parameter formats.
Create the file with the correct structure for its content type.
Follow Frontmatter in .cursor/rules/markdown-formatting.mdc (required description,
recommended keywords, optional sidebar_label only when the nav label would otherwise be too
long or wordy, and the title vs duplicate H1 rule). Do not repeat or contradict that rule here.
Concept / Explanation (for concepts/ or learn/ folders):
---
description: <one sentence>
---
# <Topic name>
<Opening paragraph: what this is and why it matters. 2-3 sentences. Get to the point.>
## <First concept section>
<Explain the concept. No step-by-step instructions.>
## <Second concept section>
...
## Next steps
- [<Related how-to guide>](<relative link>)
- [<Related reference>](<relative link>)How-to guide (for guides/ or how-to/ folders):
---
description: <one sentence>
---
# <Action-oriented title: "Send a transaction" not "Sending transactions">
<Opening paragraph: what the reader will accomplish. 1-2 sentences.>
## Prerequisites
- <Requirement 1>
- <Requirement 2>
## Steps
### 1. <First action>
<Instruction. One action per step.>
### 2. <Second action>
...
## Next steps
- [<Related content>](link)Quickstart (for quickstart/ or get-started/ folders):
---
description: <one sentence>
---
# <What the reader will build or achieve>
<Opening paragraph: what the reader will have at the end. 1-2 sentences.>
## Prerequisites
- <Requirement>
## Steps
### 1. <First step>
<Complete, copy-paste-ready code.>
### 2. <Second step>
...
## Next steps
- [<Extend this with a how-to guide>](link)Reference (for reference/ folders):
---
description: <one sentence>
---
# <API or method name>
<One sentence describing what the method or API does.>
## Parameters
<Match the parameter format used in surrounding reference pages in the same product. Use tables
or nested bulleted lists depending on the established convention.>
## Returns
<Describe the return value.>
## Example
<Working code example.>Tutorial (for tutorials/ folders):
---
description: <one sentence>
---
# <What the reader will learn>
<Opening paragraph: what the reader will build, what they will learn, and why it matters.
2-3 sentences.>
## Prerequisites
- <Requirement - assume no prior knowledge>
## Steps
### 1. <First step>
<Explain every step. Include expected output.>
...
## Complete code
<Full working code sample the reader can download or copy.>
## Next steps
- [<More advanced guide>](link)Troubleshooting (for troubleshooting/ folders):
---
description: <one sentence>
---
# <Symptom or error message>
## Problem
<Describe the symptom. Include the exact error text if available.>
## Solution
<Steps to fix the issue.>Fill in the scaffold with content based on what the user provides. Follow these rules:
- Voice: active, present tense, second person ("you"). Use contractions naturally.
- First sentence: get to the point. Answer "what" or "why" immediately.
- No em/en dashes: use commas, parentheses, or semicolons.
- Sentence case for all headings.
- One sentence per line, wrapped at roughly 100 columns.
- Code blocks: always include a language tag. Use
bash npm2yarnfor install commands. - Terminology: use the required forms from
terminology.mdc. - No marketing language: no "powerful," "seamless," "best-in-class."
- No invented API behavior: if you are not certain about a parameter, return value, or
behavior, add a
:::noteadmonition flagging it for review rather than stating it as fact.
Before finishing, check:
- Frontmatter has
description; addsidebar_labelonly when the default nav label would be too long or wordy (seemarkdown-formatting.mdc). - Opening paragraph answers "what" and "why" in the first 1-2 sentences.
- Structure matches the content type.
- Terminology matches
terminology.mdcand the product rule file. - Code blocks have language tags.
- No em dashes, en dashes, or marketing language.
- File name uses lowercase and dashes (
send-transactions.md, notsendTransactions.md). - File is placed in the correct product and content-type folder.
After creating the page, remind the user to:
- Add the page to the correct sidebar file (see
contributor-workflow.mdcfor the mapping). - If any page was moved, renamed, or removed in the same change set, add redirects in
vercel.json(seecontributor-workflow.mdc). - Preview locally with
npm start. - Check that the CI linter passes before requesting review.