by awss1i
An agent-native QA CLI for web pages. Deterministic, no tests to write, no LLM.
# Add to your Claude Code skills
git clone https://github.com/awss1i/assayLast scanned: 9/25/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-25T09:25:52.509Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how assay compares with popular alternatives.
assay is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by awss1i. An agent-native QA CLI for web pages. Deterministic, no tests to write, no LLM. It has 104 GitHub stars.
Yes. assay passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/awss1i/assay" and add it to your Claude Code skills directory (see the Installation section above).
assay is primarily written in HTML. It is open-source under awss1i on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh assay against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
assay opens your page in Chromium, finds every control on it, uses all of them, and reports what went wrong.
pip install assay-ui # Python 3.10+
uv tool install assay-ui # no Python 3.10+? uv downloads one
pipx install assay-ui # installs assay in its own isolated environment
If pip isn't found, use python3 -m pip install assay-ui. The first run
downloads Chromium if needed.
To work on assay itself:
git clone https://github.com/awss1i/assay.git && cd assay
pip install -e ".[dev]"
Install the CLI above first, then follow the harness setup → to add the skill or plugin in any of the fifteen supported harnesses.
assay ./my-app # check index.html in this folder
assay ./my-app --report out.html # also write an HTML report with screenshots
assay ./my-app --one-line # short summary, for scripts and agents
The exit code is non-zero if anything failed, and nothing is written to disk unless you ask.
The full flags, a worked example, the Python API and the HTML report →
The skill works in all fifteen supported harnesses: Claude Code, DeepSeek Harness, opencode, Antigravity, Codex App, Codex CLI, Cursor, Devin CLI, Factory Droid, Gemini CLI, GitHub Copilot CLI, Grok Build CLI, Kimi Code, Pi and Hermes Agent. It tells your agent to run assay after finishing a page and end its reply with the result:
assay: checked todo/todo.html, 8 checks, nothing flagged.
The plugin (Claude Code and the DeepSeek Harness) adds a hook that runs the check automatically at the end of each turn that changed a page. Either way, the agent reports what assay found and doesn't change code because of it unless you ask.
/plugin marketplace add awss1i/assay
/plugin install assay@assay
How the skill and plugin work →
assay is scored on two sets of pages in this repository, and the scoring scripts write every number below.
Pages written by AI. 225 small web apps an AI wrote from 75 prompts, three times each, which a person then opened and tried.
assay found the real bug on 15 of the 20 broken pages and flagged 0 of the 205 working pages. Every page and result.
Pages with planted bugs. A separate agent, never told assay exists, took 10 working apps and planted 5 bugs of its own choosing in a copy of each, then listed them.
assay found 12 of the 50 planted bugs and flagged 0 of the 10 original pages. Every bug and result.
assay runs in five steps:
assay doesn't know what your page is for, so a button that changes nothing isn't a failure by itself. Instead it reports places where the page contradicts itself. For example:
NaN appears where a number should be,Playwright and Cypress need tests someone wrote. Visual regression needs a reference screenshot. Asking a model to review the code means reading it, not running it. assay runs it, with nothing prepared in advance.
| needs tests written | needs a baseline | runs the program | |
|---|---|---|---|
| Playwright / Cypress | yes | no | yes, the parts you wrote |
| Percy / Chromatic | no | yes | it screenshots it |
| ask a model to review it | no | no | no, it reads the source |
| assay | no | no | yes, all of it |
npm install or your build. Point it
at a source tree and it tells you what to run first.Report bugs and false alarms as issues, send changes as pull requests, and ask questions or share ideas in Discussions. See CONTRIBUTING.md.
MIT.