Run exhaustive store review — content, visual, and links — with cross-validation. Use after pushing content.
Run a comprehensive review of the Shopify store that catches ALL issues in a single run. Three reviewers work independently, then their findings are cross-validated.
Launch these 3 agents simultaneously in a single message using run_in_background: true. Each agent MUST be thorough — go through EVERY section of EVERY page line by line, not just spot-checking.
Read EVERY template file in setup/src/templates/ and setup/src/utils/contact-block.ts. For EACH file, go through EVERY LINE and check:
Text Quality (per line):
GMC Compliance (systematic checklist — check EACH item in EVERY relevant file):
Formatting Rules (per file):
<a> tags wrapped in <strong> in body text. NO bold on plain text. NO bold on <a> tags in contact blockbuildContactBlock(config)<p><em>Last updated: ${lastUpdated}</em></p>mailto: link everywheretel: link everywhereCross-References (verify consistency):
Report EVERY issue found with exact file path, line number, and what's wrong.
Use Playwright MCP tools to open EACH live page. Do NOT skip any page. For EACH page:
Check on EVERY page:
Pages to check (ALL of these):
https://{store-url}/policies/refund-policyhttps://{store-url}/policies/shipping-policyhttps://{store-url}/policies/privacy-policyhttps://{store-url}/policies/terms-of-servicehttps://{store-url}/pages/about-ushttps://{store-url}/pages/faqshttps://{store-url}/pages/contact-ushttps://{store-url}/pages/billing-terms-and-conditionsCross-page consistency:
Report issues with the page URL, description of the problem, and whether it appears on multiple pages.
Use WebFetch to load EACH live page, extract ALL <a href="..."> links, and verify every single one.
For EACH page, check EVERY link:
mailto: links → email matches store config's supportEmailtel: links → phone matches store config's supportPhone/pages/...) → fetch destination, confirm NOT 404/policies/...) → fetch destination, confirm NOT 404Also verify:
/pages/track-your-order exist anywhere/pages/faqs (plural), NOT /pages/faqmailto: links have the correct email formattel: links have the correct phone format (including country code)Pages to check (ALL of these):
/policies/...)/pages/...)Report as a table per page: | Link Text | href | Type | Status |
Get the store URL and contact details from the config file in setup/configs/.
After the 3 agents complete, check these common 404 URL variants that scanners like Google Merchant Center and Ahrefs flag. For EACH URL, fetch it and check if it loads or 404s:
Contact page variants to check:
https://{store-url}/contacthttps://{store-url}/pages/contacthttps://{store-url}/pages/get-in-touchhttps://{store-url}/pages/reach-ushttps://{store-url}/pages/supporthttps://{store-url}/pages/helpOther common 404 variants:
https://{store-url}/pages/faq (singular — should redirect to /pages/faqs)https://{store-url}/pages/about (should redirect to /pages/about-us)For each URL:
Auto-fix: if ANY contact variants return 404, run this script using npx tsx --input-type=module:
import { loadConfig, getStoreBaseUrl } from './setup/src/config/store-config.js';
import { createShopifyClient } from './setup/src/shopify/client.js';
import { createContactRedirects } from './setup/src/shopify/redirects.js';
const config = await loadConfig('{store name}');
const client = createShopifyClient(config);
await createContactRedirects(client, getStoreBaseUrl(config));
This creates all standard contact redirects pointing to the full https://{domain}/pages/contact-us URL.
Report results as:
| URL | Status | Action |
|---|---|---|
| /contact | 404 | Redirect created → https://{domain}/pages/contact-us |
| /pages/contact | Already redirects | PASS |
After ALL 3 agents complete AND the contact redirect audit is done, compile and cross-validate:
Content vs Visual: If content reviewer found formatting issues in templates, verify they match what the visual inspector sees on the live site. If they don't match, the live content may be outdated (needs re-push).
Content vs Links: If content reviewer found email/phone/address issues, verify the link checker caught the same ones. Any discrepancy means one reviewer missed something.
Visual vs Links: If visual inspector found a broken-looking link, verify the link checker confirmed it's broken (or it might be a styling issue, not a broken link).
Completeness check: Verify each reviewer checked ALL pages. If a reviewer skipped a page, call that out.
## Store Review: {Store Name}
Date: {current date}
### Content Issues
| # | File:Line | Issue | Severity |
|---|-----------|-------|----------|
(list all issues, or "None found")
### Visual Issues
| # | Page | Issue | Severity |
|---|------|-------|----------|
(list all issues, or "None found")
### Link Issues
| # | Page | Link | Type | Status |
|---|------|------|------|--------|
(list all issues, or "None found")
### Contact Redirect Audit
| URL | Status | Action Taken |
|-----|--------|--------------|
(list all variants checked)
### Cross-Validation Notes
(any discrepancies between reviewers)
### Verdict: PASS / NEEDS FIXES
(summary of what needs to be fixed, if anything)
Read the store config from setup/configs/ to get the store URL and contact details. If $ARGUMENTS is provided, use it as the store name to load the config. Default to the most recently modified config file.