QAwalk

Sinfin QAwalk · proof of concept

Every screen of the flow, approved on one canvas.

Your agent walks the acceptance plan using your skills and your configuration. QAwalk captures every screen and e-mail on the way, checks each criterion and lays the run out as a canvas. The team reviews it, approves steps or sends them back, and every run stays versioned by branch, commit and PR.

How it works

  1. Acceptance plan

    An ACCEPTANCE.md next to the task says what each screen must achieve. A scenario.yml turns it into steps, branches and criteria the CLI can run.

  2. Walk

    A Playwright script, an agent with a browser or computer use, or a person walks the flow in a shared browser. Every step is captured the same way: full-page screenshots on desktop and mobile, rendered HTML, console errors, and e-mails from your test mailbox (Mailpit).

  3. Check

    Countable criteria — elements, texts, prices, metadata, overflow — are checked in the live page and reported with evidence. Criteria that need judgement are answered by an AI evaluator from a reduced text outline of the page. It returns a probability; QAwalk turns it into pass, fail or needs review. The default evaluator is JEV by TypeSafe and it can be swapped.

  4. Canvas and approval

    The run becomes a canvas: screens, branches, tested locales, metadata and evidence for every criterion. Reviewers approve a step or reject it with a note. The agent reads the notes with qawalk feedback and fixes them in the next run.

What the canvas shows

Install into your project

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

    Proof of concept: the repository is private. Ask Sinfin for access.

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

    The skill is copied to .claude/skills/qawalk. You can install it as a plugin instead: /plugin marketplace add sinfin/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 you find it 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

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

Data & security

The evaluator sees an outline, not the page

The AI evaluator receives a reduced text outline of the page with e-mail addresses and tokens masked. It never receives screenshots or raw HTML.

Sign-in by e-mail link, three roles

People sign in with a one-time link sent to their work e-mail. A viewer reads and reviews, a tester also pushes runs, an admin also manages members, domains and tokens.

Runs expire

Every run has an expiry date (30 days by default) and is deleted afterwards. Captured HTML is served in a sandbox without scripts.