Skip to main content

FSQ — Fully Self Quality

Describe what to test. Let AI help to test the user flow.

Describe the goal and let AI operate the real app. FSQ records evidence and turns the exploration into a test you can review and replay.

An open-source project from FSQ Lab.

CI status Python 3.11 or newer MIT license Alpha status

Website · Quick start · 中文 · Guide · Contribute

See FSQ in action

https://github.com/user-attachments/assets/aa9d0a12-2f93-4894-8349-52a013424939

Watch the full demo on YouTube.

How it works

  1. Describe: You define the platform and target, goal, success criteria, and allowed and forbidden actions.
  2. Observe as AI tests the real UI flow and FSQ captures screenshots, interface state, events, and may produce a reviewable test.
  3. Control what happens next: inspect the evidence and, if FSQ returns a test, inspect it unchanged before separately requesting any deterministic replay.

You get an evidence-backed result and, when FSQ returns one, a portable, reusable test you can review, keep, and replay without surrendering control.

Quick start

Start with the real outcome you want to test. You need Python 3.11+ and the prerequisites for your platform and target. Choose one of the two paths below. Enter Provider credentials only in the FSQ UI—not in Coding Agent chat. Review the result first and, if FSQ returns a Case, review it unchanged before separately requesting any replay.

1. Coding Agent

Initial setup. Open your project in a Coding Agent and paste:

The official FSQ project is https://github.com/FSQ-lab/FSQ. Establish the exact opened project root. Batch the read-only Python, fsq, and Skill-presence checks with their exact working directories, commands, purpose, and effects. Then request one approval for the listed changes, covering only installation or upgrade of fsq-agent and one fsq init --agent skill in this project; disclose the exact commands and Python-environment and project-file effects before asking. Perform only the approved operations, verify fsq, and report the exact installed Skill path. This one-time setup does not initialize a Workspace, configure a Provider, or run a test. Tell me to reload or start a new Coding Agent session, then stop.

Complete that reload before continuing.

First test. Copy this prompt into your Coding Agent:

Use FSQ to test this user goal: launch Microsoft Edge Stable, use Bing to search for FSQ GitHub, then inspect the organic search results and report the current position/ranking of the FSQ GitHub repository. Select the Web platform and Microsoft Edge Stable. Follow the installed FSQ Skill and ask only for decisions it cannot establish.

Treat the platform and exact target as facts or user-owned decisions: provide them when asked rather than letting the agent guess a target ID or path, and do not substitute a different Edge channel.

Review the result first. If FSQ returns a Case, review it unchanged before deciding whether to request replay separately.

2. FSQ UI

Initial setup.

python -m pip install --upgrade fsq-agent
fsq ui

Choose Quick Test for exploration using the automatic ~/.fsq/quick-test/ Workspace, or FSQ Case Manager for Workspace/Case management, history, and Strict Replay. Both share Settings, where you configure the FSQ LLM Provider and explicitly select a model.

  1. Select the platform and, where applicable, the device or browser.
  2. Describe what to do and verify. For Web, provide a URL or a clear search goal, for example: Search FSQ on GitHub and find its official website. You do not need to know the result URL beforehand.
  3. Select Start Quick Test. The model identifies the application; FSQ validates the resolved target and environment before exploration. Unresolved intent, zero/multiple lookup results, and preparation failures stop the request without a follow-up dialogue. Target availability does not prove the model understood the application correctly.
  4. Review the result and evidence using Open report, or choose New test. Quick Test does not save Cases; in Case Manager, review any generated Case unchanged before separately requesting replay.

FSQ Test Runner for describing a test goal

Detailed first-test guide

Platforms

FSQ supports Web, Android, Windows, and macOS targets; see platform prerequisites, and help broaden support through contributions.

Documentation

Built by FSQ Lab and the community

Built by FSQ Lab with thanks to all contributors. Want to help? Read CONTRIBUTING.md and join us.

License

MIT — Copyright (c) Microsoft Corporation.

Metadata

Release files for fsq-agent 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fsq-agent 0.3.1
File Size Uploaded Provenance
fsq_agent-0.3.1.tar.gz 11.6 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fsq-agent 0.3.1
File Interpreter ABI Platform
fsq_agent-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.6 MB

Release files / fsq_agent-0.3.1.tar.gz

Download URL fsq_agent-0.3.1.tar.gz
Size 11.6 MB
Tags Source
SHA-256 checksum
How to use checksums
972b1a3a1eb2ae06aafd6e57057bc2b672b1f4d593da74b65fdd3943124cfa1e
BLAKE2b-256 checksum
How to use checksums
1efca129249bf18279ffa31ca2a5e1015de65ca3438b972b752191634d75c184
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fsq_agent-0.3.1-py3-none-any.whl

Download URL fsq_agent-0.3.1-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
72d346fe6733e38d28c434139edb5bcad7179f1c0f11d91b553fe1780be5d289
BLAKE2b-256 checksum
How to use checksums
5085590adb2f9898f6c0cbe68b87bf5794ff56f6ccca5f29909cb69665019371
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for fsq-agent 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page