In short:
ak-web-testingwrites and fixes tests for web apps: unit, E2E, load, security, visual, a11y and Core Web Vitals. It checks which runner the repo uses first, then picks exactly one tool for the job, and every "it is fine" conclusion must rest on a real run. It does not fix flaky tests by adding wait time, and it never sets up Vitest, Playwright and k6 all at once.
Disclosure: I maintain AgentKit and have an affiliate relationship with it: the AgentKit link in this post is an affiliate link; buying through it gets you 30% off.
Summary
Use it when you need an E2E test for a flow, a fix for a flaky test, an a11y check of a page, an API load test before a traffic peak, or Playwright set up in a repo with no browser tests yet. It only picks the tool that matches the job you give, so if you also want a load or a11y test, say that type explicitly.
flowchart LR
A["Need a web test or a test fix"] --> B["ak-web-testing"]
B --> C["Working tests + real measured evidence"]
C --> D["Add to CI in gate order"]
C --> E["Stop, you review the result"]It rests on 4 ideas:
| Idea | Question | Example |
|---|---|---|
| The right runner | What kind of problem is it, and which tool fits? | A wrong discount function needs the unit runner; an unclickable "Checkout" button needs a browser test; only load questions need k6 |
| Strategy model | Which layer should hold most of the tests? | Pyramid for monoliths, Trophy heavy on integration for SPAs, Honeycomb around contract tests for microservices |
| Real measured evidence | What backs the claim that tests are fine or a page passes? | A flaky test is done only when the cause is reproduced and repeated runs all pass |
| No extra scaffolding | Do you need to set up a new test suite? | If the repo already has playwright.config.ts, it only fixes or adds tests |
Each time it reads only the docs section that matches your job, and it stops the processes it started when done.
Sample prompt to write an E2E test:
/ak-web-testing e2e The sign-in flow of <app name>.
Outcome: a test that a correct sign-in lands on /dashboard, and a wrong password shows an error.
Constraints: use the existing Playwright config, do not add a new test library.
Done when: the test passes on chromium and mobile-safari.This skill has no flags. After the command you write the test type (such as e2e, unit, load, a11y, visual) and then what to test; both are optional.
Below is the detailed version: the run flow, 5 situations with prompts, how to write the input, the change history by ak release, and common pitfalls. The detailed version and the interactive page are for subscribers. Your agent can also search them through the portal's MCP.
Opens when your account has subscriber access
This guide is for subscribers
Once your account has access, the full piece, the interactive visual and the agent call all open.
- Sign in or create a modernEngineer accountReading access belongs to your account email.
- Choose a plan on the pricing page1, 3 or 12 months, paid by VietQR bank transfer. Access opens about a minute after the money arrives.
- Or redeem a Facebook subscriber codePeople supporting the page on Facebook get an activation code by message each month.
Already a subscriber? Sign in to read.
Use this piece in your agent
Get an API keyCopy the text below and paste it into Claude Code, Codex or whichever agent you use. The agent reads the piece and checks it against the repo you have open.
Read "ak-web-testing: pick the right web test tool and prove it with real runs" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "ak-web-testing". If the modernengineer MCP server is not connected, stop and walk me through connecting it from https://modernengineer.dev/en/mcp.
2. Summarize the main steps of the piece and point out which apply to this repo.
3. Propose concrete changes and ask me before editing any file.Connect MCP in Claude Code (once)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Reading the full piece over MCP needs an API key from a subscriber account or one that bought this guide. Without access, the agent only gets the opening.
- Version
- v1.0.0
- Updated
- 22/10/2026
- Licence
- All rights reserved
- Slug
- ak-web-testing


