QAwalk

All guides › By use case

By use case

SEO and landing-page checks on production, read-only, every day

A read-only run of your public pages as a visitor: headings, metadata, hreflang, Open Graph, structured data, overflow, console. Shared, compared with yesterday, fixed before anyone else notices.

The landing page is the one screen everybody has an opinion about and nobody checks after Tuesday's deploy. QAwalk runs it as a visitor every day, in every language and viewport, and shows what moved.

The problem

Metadata breaks quietly: a description gets truncated, hreflang points at the wrong locale, a console error appears with a new script. We find out from a report weeks later.

What changes with QAwalk

A scenario of your public pages with countable criteria: exactly one H1, description at least 50 characters, hreflang for every language, no horizontal overflow, no console errors, terms linked. Plus a few questions for judgement: is the primary action clear, does the page say what happens after sign-up. Production is always read-only in QAwalk, so nothing can be changed on the way.

How it works

  1. Describe the pages

    a flow scenario with readonly: true, one step per public page, path per locale, deterministic checks for metadata and layout, semantic questions for clarity. QAwalk's own public-pages scenario is a template.

  2. Run against production

    qawalk start --scenario qa/flows/public.yml --env production, qawalk walk, qawalk evaluate, qawalk share. The CLI refuses anything but GET on production and blocks the paths you list.

  3. Compare with yesterday

    qawalk compare or the *Compare* selector shows changed verdicts, evidence and pixels; the metadata table in the lightbox marks missing and duplicate tags.

  4. Schedule it

    a small CI job runs the same four commands daily; a read-only token is enough to read results, a tester token to share them. QAwalk does exactly this to itself.

Skills and prompts

Write a read-only scenario for our public pages (home, pricing, sign-up, terms) in cs and en with SEO and layout criteria, run it on production and share it.

Expected outcome: qa/flows/public.yml with per-locale paths, a shared run, the summary line and a list of failing or unreviewed criteria with evidence.

Compare today's public-pages run with yesterday's and tell me only what changed in metadata or layout.

Expected outcome: a short list from the comparison; unchanged pages are named as unchanged.

What you get

FAQ

Is this a replacement for Search Console or Lighthouse?

No. It shows what is actually rendered on your pages and what changed; rankings and performance come from other tools. A performance and accessibility pack is on the roadmap.

Does the run store personal data?

Public pages as a visitor contain none by design; keep production scenarios to public pages and never sign in there.

What it looks like

A real run of QAwalk on its own public pages, refreshed daily. This is the canvas your team gets.

6 of 6 steps passed · 2026-09-24Open the run in QAwalk ↗

More guides

Accepting a task with an AI agent, in the pull requestRegression before a release: compare the run with the accepted baselineE-mail flows: capture the message next to the screen that sent it

Install in three steps

QAwalk runs where your code and your agent are. The service stores and versions the results, shows the canvas and collects approvals.

  1. Add the CLI to the project
    npm install --save-dev github:sinfin/qawalk#v0.1.0

    Pre-launch: the repository is private. Ask Sinfin for access.

  2. Create the config and install the skill
    npx qawalk init --agent claude --org <your-org>
    npx qawalk doctor

    The skill is copied to .claude/skills/qawalk.

  3. Create your organization and a token

    Create an organization; you become its admin. The start page offers a tester token in one click, later under Settings → API tokens. Put it into the project .env:

    QAWALK_TOKEN=qwk_…
    TYPESAFE_API_KEY=…   # optional: semantic evaluator
  4. Run and share
    npx qawalk start --scenario docs/tasks/TASK-123/qa/scenario.yml --env local
    npx qawalk walk        # playwright steps; agent/manual steps: qawalk capture
    npx qawalk evaluate
    npx qawalk share --pr

    Or ask your agent: “Walk the acceptance plan of TASK-123 with QAwalk on local and share the result.”