automattic/help-center-ui-test
Run a browser-based UI review of the WordPress.com Help Center across multiple surfaces, looking for visual and behavioral issues. Use when asked to test the Help Center UI.
npx skills add https://github.com/Automattic/wp-calypso --skill help-center-ui-test
Performs a systematic browser-based UI review of the Help Center using Chrome automation (Claude in Chrome extension).
/chrome in Claude Code if not connected.ToolSearch to load Chrome tools: select:mcp__claude-in-chrome__tabs_context_mcp.mcp__claude-in-chrome__tabs_context_mcp to get current tabs.mcp__claude-in-chrome__tabs_create_mcp.After opening the Help Center on each surface, and after key interactions, check for errors:
mcp__claude-in-chrome__read_console_messages with pattern: "(error|Error|ERROR)" to capture JS errors.mcp__claude-in-chrome__read_network_requests and check for any requests with HTTP status >= 400.Check for errors at these points:
Log any errors found as issues in the test results, categorized as "Console Error" or "Network Error".
Test the Help Center on both surfaces, one at a time:
https://my.wordpress.com/siteshttps://en.support.wordpress.com/wp-admin/https://en.support.wordpress.com/wp-admin/post-new.phpFor each surface:
mcp__claude-in-chrome__find to locate the ? help icon. If not found, wait 3 seconds with mcp__claude-in-chrome__computer (action: wait) and retry.? icon to open the Help Center.mcp__claude-in-chrome__find to confirm the search bar or home screen content has appeared. If not found, wait 3 seconds and retry.For each surface, verify all of the following:
mcp__claude-in-chrome__find to confirm search results have appeared. If not found, wait 3 seconds and retry. Verify results show titles and descriptions.mcp__claude-in-chrome__find to confirm the empty state has appeared. Verify a fallback action appears (e.g., "Ask AI assistant" button).mcp__claude-in-chrome__find to confirm the article heading has rendered. If not found, wait 3 seconds and retry.mcp__claude-in-chrome__find to confirm the AI response has appeared. If not found, wait 5 seconds and retry (AI responses may take longer).After completing the full test checklist at desktop size on each surface, test responsive layouts at additional viewports.
| Name | Width | Height |
|---------|-------|--------|
| Desktop | 1280 | 800 |
| Mobile | 375 | 812 |
For each surface, after the desktop checklist is complete:
mcp__claude-in-chrome__resize_window to switch to Mobile (375x812).mcp__claude-in-chrome__resize_window to restore Desktop (1280x800) before moving to the next surface.Every test run must produce a structured summary using this format:
## Test Results Summary
### Surface: [Calypso Dashboard / WP Admin]
| # | Check | Viewport | Status | Issue | Evidence |
|---|-------|----------|--------|-------|----------|
| 1 | Home Screen — layout | Desktop | PASS/FAIL | Description | screenshot.png |
| 2 | Home Screen — guides | Desktop | PASS/FAIL | Description | |
| ... | ... | ... | ... | ... | ... |
### Console & Network Errors
| Surface | Type | Message/URL | HTTP Status |
|---------|------|-------------|-------------|
| Calypso | Network | /wpcom/v2/help/search | 500 |
| WP Admin | Console | TypeError: ... | — |
### Overall: X passed, Y failed, Z errors
Only FAIL rows and errors should be filed as Linear issues.
For every issue found during testing, record a GIF using mcp__claude-in-chrome__gif_creator:
gif_creator with action: start_recording on the Help Center tab.gif_creator with action: stop_recording.Name GIFs descriptively (e.g., "search-clear-button-bug.gif"). For static visual issues, a single-frame GIF (start → screenshot → stop) is sufficient.
After completing all tests, if issues were found:
ToolSearch to load Linear tools: +linear save issue.mcp__linear-server__save_issue including: ## Bug Report
### Steps to Reproduce
1. ...
### Expected Behavior
...
### Actual Behavior
...
### Surface
- [X] Calypso Dashboard
- [ ] WP Admin
If the user wants to attempt fixes:
git checkout -b DOTSUP-448).After creating each Linear issue, attach the GIF to the description via drag-and-drop. GIF recordings are scoped to the tab group, so they can be exported directly onto the Linear tab.
https://linear.app/a8c/issue/<ISSUE-ID>
Use mcp__claude-in-chrome__find to confirm the issue description is visible. If not found, wait 3 seconds and retry.
mcp__claude-in-chrome__gif_creator using action: export, setting tabId to the Linear tab and coordinate to a point inside the issue description area. The GIF will be embedded in the description (exact placement within the description may vary).mcp__claude-in-chrome__read_page with filter: interactive to find clickable elements.mcp__claude-in-chrome__find for natural language element search (e.g., "Help Center close button").mcp__claude-in-chrome__computer with action: left_click and ref parameter to click elements by reference ID.mcp__claude-in-chrome__find to confirm elements have appeared after actions instead of fixed-delay sleeps. If an element isn't found, wait 3 seconds with mcp__claude-in-chrome__computer (action: wait, duration: 3) and retry up to 3 times.? icon again to reopen it.Take automattic/help-center-ui-test from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.