name create-page description Write a new documentation article from scratch. Use when creating a new MDX file that does not yet exist in the repository.
Create a new documentation article
Step 1. Read before writing
Read these files before writing a single word:
.agents/references/style-guide.md
.agents/references/mdx-rules.md
If the article covers portal UI: .agents/references/mcp-tools/playwright.md
Do not skip. Do not rely on memory.
Step 2. Decide structure
Answer these questions before writing:
What is the single task this article helps the reader accomplish?
Does it need MethodSwitch (Portal + API)? If the action is doable via both — yes.
Are there existing articles with the same structure to follow as a pattern?
Step 3. Write the article
Opening paragraph — execute this checklist
Every paragraph — execute this checklist
Every link — execute this checklist
Every heading — execute this checklist
Sentence case (not Title Case)
Does NOT start with What, How, Why, When
Is NOT: ## Prerequisites, ## Requirements, ## Next steps, ## Get started, ## See also, ## Related documentation
Followed by at least one prose sentence before any code block, list, or table
Forbidden words — scan before finishing
No: just, simply, ensure, be sure, make sure, platform, obviously, clearly, seamlessly, robust, scalable, etc., and so on, leverage, utilize
Step 4. Screenshots
Format — always single-line Frame
<Frame></Frame>
Never use <img> tags with JSX styles inside <Frame>:
<!-- WRONG — do not use -->
<Frame>
<img src="..." style={{ width: "78%" }} />
</Frame>
Taking screenshots
Use the user-Playwright MCP server (never cursor-ide-browser). Minimum viewport: 1400×900.
await page.evaluate (() => window .resizeTo (1400 , 900 ));
await page.screenshot ({ path : 'C:/Projects/product-documentation/images/docs/...' , fullPage : false });
Image path convention
/images/docs/{product}/{section}/{article-slug}/{descriptive-name}.png
Example: /images/docs/cloud/networking/load-balancers/manage-load-balancers/balancer-overview.png
Place the image files in the matching directory under images/docs/ in the repository.
Step 5. Validate MDX
@mdx-js/mdx is installed in C:\Temp, not in the project root. Run the validator from C:\Temp with an absolute path to the file:
cd C:\Temp; node -e "const {compile}=require('@mdx-js/mdx');const fs=require('fs');const c=fs.readFileSync('C:\\Projects\\product-documentation\\PATH_TO_FILE','utf8');compile(c).then(()=>console.log('OK')).catch(e=>console.error('ERROR:',e.message));"
If it prints OK, proceed. If it prints ERROR:, fix the reported line before proceeding.
Do NOT run this from the product-documentation directory — there is no node_modules there and the command will silently fail with MODULE_NOT_FOUND.
Step 6. Check frontmatter
Step 7. Update docs.json
Add the new article to the correct group in docs.json. Validate JSON is still valid:
node -e "JSON.parse(require('fs').readFileSync('docs.json','utf8')); console.log('OK')"
Step 8. Article readiness checklist
Before telling the user the article is ready, confirm all four:
Do NOT commit or push until the user explicitly says to.