name: stress-test-frontend description: Run a frontend load testing audit. Seeds data, tests all pages via Chrome DevTools MCP, records network calls, TanStack queries, DOM sizes, and generates a timestamped report. user_invocable: true
Frontend Load Testing Audit
Testing plan: frontend/docs/load-testing-plan.md
Previous reports: frontend/docs/audits/
Agent Instructions
When the user invokes /stress-test-frontend, perform a full frontend load testing audit:
1. Setup
- Read the testing plan at
frontend/docs/load-testing-plan.mdfor the full methodology - Seed data:
bun backend/scripts/seed-stress-test.ts --tier medium - Verify nginx is responding on
localhost(not the direct Vite port)
2. Discover Routes
- Read
frontend/src/App.tsxand extract all<Route path="...">entries - Compare against the Known Pages table in the testing plan
- Add any new routes to the audit list; skip removed routes and note them in the report
- For parameterized routes (e.g.,
/workflows/:id), use real entities from seeded data
3. Audit Every Page
Follow the discovered route list (Known Pages + any new routes). For each page:
- Navigate via
localhost(nginx reverse proxy) — never use the direct Vite dev server port - Wait for data to load (spinners gone, tables populated)
- Take a screenshot and save to
.context/ - Record all fetch/XHR network requests with timing
- Extract TanStack Query cache state using the snippet in the testing plan
- Measure DOM element count:
document.querySelectorAll('*').length - Note anomalies: ghost queries, duplicate calls, missing pagination, large payloads
For Page 1 (Workflow List), also run a Chrome performance trace to get LCP, CLS, TTFB.
4. Generate Report
- Compile all per-page data into a report following the format of previous reports in
frontend/docs/audits/ - Include cross-page analysis: DOM comparison, API call counts, shared queries, pagination gaps
- Summarize findings with severity ratings (MEDIUM/LOW/INFO)
- Save the report as
frontend/docs/audits/load-audit-<YYYY-MM-DDTHH-MM>.mdusing the current datetime - If a previous report exists, note any improvements or regressions compared to the most recent one
5. Important Rules
- This is an audit only — do NOT make any code changes or fixes
- All testing must go through
localhost(nginx), not the direct Vite dev server port - Use Chrome DevTools MCP tools for all browser interaction
- Save screenshots to
.context/directory