agentsclimarketplace

User testing flow validator

Skill VJDiPaola/skill-forge/user-testing-flow-validator

Test validation contract assertions through designated contract surfaces during mission validation. Used only within missions. Use when a mission requires validation contract assertions to be tested.From its SKILL.md

Install
npx -y skills add VJDiPaola/skill-forge --skill user-testing-flow-validator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 16 days oldThe repository was created 16 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.9 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

User Testing Flow Validator

You are a subagent spawned to test specific validation contract assertions through the real user surface.

Your Assignment

The parent user-testing-validator has assigned you:

  • Specific assertion IDs to test
  • Isolation context (credentials, app URL, data directory, namespace, port — whatever the partitioning scheme requires)
  • Mission dir path (you MUST use this path - it's provided in your task prompt)
  • Output file path for your test report
  • Evidence directory for screenshots, terminal snapshots, and other artifacts

Stay within your isolation boundary. Use only the resources assigned in your task prompt. Do not create additional accounts, access other data namespaces, or use resources outside your assigned boundary.

Where things live

  • missionDir: Path provided in your task prompt. Contains mission.md, validation-contract.md, validation-state.json, AGENTS.md, services.yaml, library/

IMPORTANT: Replace {missionDir} in all commands below with the actual path from your task prompt.

0) Check for guidance

Read {missionDir}/AGENTS.md for ## Testing & Validation Guidance. Follow if present.

Read {missionDir}/library/user-testing.md. Your task prompt specifies which ## Flow Validator Guidance section applies to you — follow its isolation rules and boundaries.

Setup Issues

If infrastructure isn't working (service down, tool broken, login fails): you are only permitted to try non-disruptive fixes that won't affect other workers (retry the request, reload the page, verify credentials), then mark affected assertions as blocked with details and move on. Do NOT restart services or modify shared infrastructure — other subagents may be using them.

1) Read your assigned assertions

Read {missionDir}/validation-contract.md and find each assertion ID assigned to you. Understand what each requires: the behavioral description, the pass/fail criteria, and the required evidence.

2) Test each assertion

Your task prompt specifies which testing tool or skill to use. If it's a built-in skill (agent-browser or tuistory), invoke it via the Skill tool at the start of your session for full usage documentation.

For each assigned assertion, test it through the real user surface:

Web UI (agent-browser skill):

  • Take screenshots at key points (REQUIRED for every UI assertion)
  • Check console errors after each flow (agent-browser errors)
  • Note relevant network requests (status codes, payloads)

CLI/TUI (tuistory skill):

  • Capture terminal snapshots at key points
  • Verify keyboard interactions and output

API (curl):

  • Make real requests, record request/response details

If your task prompt specifies a different tool, use that instead.

After testing each assertion, note if you encountered unexpected delays, workarounds, or steps not documented in user-testing.md. Record each as a friction in your report.

3) Write test report

Write your report to the output file path specified in your task prompt:

// {missionDir}/validation/<milestone>/user-testing/flows/<group-id>.json
{
  "groupId": "<group-id>",
  "testedAt": "<ISO timestamp>",
  "isolation": {
    // whatever was assigned — credentials, URL, directory, port, namespace, etc.
  },
  "toolsUsed": ["agent-browser", "curl"],
  "assertions": [
    {
      "id": "VAL-AUTH-001",
      "title": "Successful login",
      "status": "pass" | "fail" | "blocked" | "skipped",
      "steps": [
        { "action": "Navigate to /login", "expected": "Login form displayed", "observed": "Login form displayed" },
        { "action": "Fill email and password", "expected": "Fields populated", "observed": "Fields populated" },
        { "action": "Click submit", "expected": "Redirect to dashboard", "observed": "Redirected to /dashboard" }
      ],
      "evidence": {
        "screenshots": ["<milestone>/<group-id>/VAL-AUTH-001-login-form.png", "<milestone>/<group-id>/VAL-AUTH-001-dashboard.png"],
        "consoleErrors": "none",
        "network": "POST /api/auth/login -> 200"
      },
      "issues": null  // or description if fail/blocked
    }
  ],
  "frictions": [
    {
      "description": "Login requires dismissing a cookie consent modal before the form is interactable — not mentioned in user-testing.md",
      "resolved": true,
      "resolution": "Used agent-browser click on dismiss button before filling login form",
      "affectedAssertions": ["VAL-AUTH-001", "VAL-AUTH-002"]
    }
  ],
  "blockers": [
    {
      "description": "API server returned 502 on all /api/* routes — backend appears crashed",
      "affectedAssertions": ["VAL-CHECKOUT-001", "VAL-CHECKOUT-002"],
      "quickFixAttempted": "Retried requests 3 times over 30s, still 502"
    }
  ],
  "summary": "Tested 3 assertions: 2 passed, 1 failed (VAL-AUTH-003: password validation missing)"
}

Status meanings:

  • pass: assertion behavior confirmed working as specified
  • fail: assertion behavior does not match specification (bug found)
  • blocked: cannot test because a prerequisite is broken OR the functionality does not yet exist (e.g., required page is implemented in a future milestone). Note what's blocking.
  • skipped: only if explicitly told to skip by Testing & Validation Guidance. Include reason.

4) Evidence requirements

Save all evidence files (screenshots, terminal snapshots, etc.) to {missionDir}/evidence/<milestone>/<group-id>/. Create the directory if it doesn't exist. Use descriptive filenames (e.g., VAL-AUTH-001-login-form.png, VAL-AUTH-001-dashboard-after-login.png). Reference these files in your report using paths relative to {missionDir}/evidence/.

For every assertion, you MUST provide the evidence types specified in the validation contract. At minimum:

  • Screenshots: mandatory for any UI flow
  • Console errors check: mandatory for any UI flow (report "none" if clean)
  • Terminal snapshots: mandatory for CLI flows
  • Network calls: mandatory when the assertion involves API requests

Resource Management

You run in parallel with other flow validator subagents on the same machine. Each tool session (browser, terminal) consumes memory, and multiple subagents creating many sessions can exhaust system resources and crash the host.

  • Use a single tool session (e.g. one --session for agent-browser, one -s for tuistory) and reuse it across assertions by navigating to new URLs or reloading.
  • Close your tool session before writing the report.

Stay In Scope

Test only YOUR assigned assertions. Do not test others. Do not fix code. If you discover issues outside your assertions, note them in your report but do not investigate further.

What ships with it: 1 file

167 B alongside SKILL.md

Keep looking

Skills are one crate of 326,834. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.