Skip to main content

FSQ — Fully Self Quality

Evidence-first AI UI automation you can inspect, replay, and verify.

CI status Python 3.11 or newer MIT license Alpha status

Quickstart · 中文 · Detailed guide · CLI · Contributing

FSQ turns UI goals into observable Runs with screenshots, UI snapshots, events, and reports. Reviewed YAML Cases replay deterministically through Playwright, uiautomator2, pywinauto, or Appium while the local Control Plane keeps execution and evidence inspectable.

Prerequisites are Python 3.11+ and an installed supported Chromium-family browser (the commands below use Chrome). Install or upgrade fsq-agent 0.1.6, create and open an empty directory, and initialize Web plus the package-owned, host-neutral Skill:

python -m pip install --upgrade fsq-agent
mkdir fsq-web-demo
cd fsq-web-demo
fsq init --platform web --browser-channel chrome --agent skill

This empty directory is the exact registered Workspace root. If you initialize from a non-empty directory instead, FSQ creates a child Workspace; use the root reported by init. Workspace commands never search parent directories.

Reload the compatible Coding Agent's project resources or start a new agent session, then paste this post-reload self-check prompt:

Use the installed FSQ Skill to run its bundled provider-free Web Strict self-check from the exact registered Workspace root <ABSOLUTE_WORKSPACE_ROOT>. Run it at most once. Return the authoritative status, exact persistent Run ID, and relative Control Plane route. Do not initialize, configure, edit a Case, retry, or start the Control Plane.

The agent should run Doctor, statically check the bundled Case, execute it once, read that exact Run, and return a route shaped like /#runs?workspace=...&platform=web&run=.... Start the UI yourself and open that relative route:

fsq ui

The Skill never starts the Control Plane. If no verified Run ID is returned, the result is unknown: do not retry and do not construct a route.

Copy-paste installer prompt for a Coding Agent

Use this only to install the integration. It is not the self-check prompt above.

Check that Python 3.11 or newer is available. Run fsq init --help and verify that --agent skill is supported. If fsq is missing, older than fsq-agent 0.1.5, or lacks that capability, ask my permission before running python -m pip install --upgrade fsq-agent; do not install anything without approval. From the exact project directory, run fsq init --platform web --browser-channel chrome --agent skill. Do not hand-create or modify any Skill or Case file, do not configure or change a Provider or secret, and do not run a Case. Report the exact Workspace root and installed Skill path, then remind me to reload project resources or start a new agent session before using the separate post-reload self-check prompt.

The official CLI may initialize a Workspace and install the Skill. The installed Skill itself may not initialize or configure anything.

Skill scope and failure transitions

One fsq-agent distribution owns .agents/skills/fsq/SKILL.md and its bundled provider-free Web Strict Case. Compatible GitHub Copilot and Codex clients discover that same .agents/skills/fsq/ location; there is no separate host-specific Skill distribution.

The Skill is intentionally limited to:

  • read-only fsq doctor;
  • read-only fsq case format ... --check --json;
  • one fsq case test execution;
  • fsq runs show for the exact returned Run ID (and optionally bounded exact-Run logs);
  • an exact status/Run/relative-Control-Plane handoff.

It does not initialize/configure FSQ, handle Providers or secrets, edit/copy Cases, retry, operate browser UI, run Explore/suggestions/AI assertions, or start/call the Control Plane.

Transition Required outcome
Installed CLI lacks --agent skill Stop; ask before upgrading.
Installed Skill is not discovered Reload project resources or start a new session; do not recreate files.
Doctor reports Web not ready Report the browser/readiness blocker; do not execute.
Bundled Case is invalid or noncanonical Report the blocker; do not rewrite or execute it.
Execution has no verified persistent Run ID Report unknown; no retry and no route.

The older Codex TOML/managed-AGENTS.md integration remains an advanced compatibility path through fsq init --agent codex. Do not install both integrations for the first self-check.

Continue after the self-check

Strict replay is provider-free unless an authored Case contains an AI assertion. AI Explore (fsq case create), AI assertions, and post-run suggestions may require a configured Provider.

# AI exploration: execute a goal and produce a reviewable Run-local Case.
fsq case create --platform web \
  --goal "Open https://example.com and verify the Example Domain heading is visible."

# Review and format-check the returned Case before deterministic replay.
fsq case format cases/web/YOUR_CASE.fsq.yaml --check
fsq case test --platform web cases/web/YOUR_CASE.fsq.yaml

# Optional AI analysis executes the source Case once, then analyzes saved facts.
fsq case test --platform web --suggest cases/web/YOUR_CASE.fsq.yaml
fsq runs list --platform web
fsq runs show RUN_ID --open

The existing examples/web/example-domain.fsq.yaml is the recorded TodoMVC example despite its historical filename. It remains available for advanced/historical use, but is no longer the recommended first run.

Supported Providers are OpenAI, Azure OpenAI, DeepSeek, Google Gemini, Kimi (China or Global), and GitHub Copilot. Configuration is user-level under ~/.fsq; see Getting started for model, region, credential, and fallback details.

fsq providers configure github_copilot
fsq providers status

Platforms and local evidence

Platform Backend Host prerequisite
Web Playwright Installed supported Chromium-family browser
Android uiautomator2 ADB and an online authorized device
Windows pywinauto Windows and an existing application
macOS Appium Mac2 macOS, an existing application, and reachable Appium

Run evidence lives under <workspace>/.fsq/runs/<platform>/<run-id>/. Review it before sharing; it can contain visible application data. Do not commit .fsq, credentials, reports, screenshots, or private target data.

See FSQ in action

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

Watch the full demo on YouTube.

Documentation

License

MIT — Copyright (c) Microsoft Corporation.

Metadata

Release files for fsq-agent 0.1.6

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.1.6
File Size Uploaded Provenance
fsq_agent-0.1.6.tar.gz 11.5 MB Without provenance Details

Built distribution (wheel)

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

Total release size: 12.5 MB

Release files / fsq_agent-0.1.6.tar.gz

Download URL fsq_agent-0.1.6.tar.gz
Size 11.5 MB
Tags Source
SHA-256 checksum
How to use checksums
0326563f04afbf7d66791d437c172318c9135c08c03636fae66ae58c2a297c3e
BLAKE2b-256 checksum
How to use checksums
ec83a01ac73b286f72ec433f9d26f1bde659cd3987d10f45d4af925d57ed3ab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1.6-py3-none-any.whl

Download URL fsq_agent-0.1.6-py3-none-any.whl
Size 949.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e66899f02d3bac7c6d4413a13a5c5fa3966d2fabec4f24f510521c09d4870f38
BLAKE2b-256 checksum
How to use checksums
146d8312868e6525476293eceaa67a2992e89e9115cf296ffacee80fa8533ffa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","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.1.6

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