Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/griddynamics/rosettaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification)<a href="https://agentmods.dev/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification"><img src="https://agentmods.dev/badge/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification"><img src="https://agentmods.dev/badge/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00018 | $0.01795 |
| Opus 5.5 | $0.00007 | $0.00718 |
| Sonnet 5.5 | $0.00004 | $0.00359 |
| Haiku 4.5 | $0.00002 | $0.00179 |
Grade A, and why
ui-aqa-flow-selector-identification scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<ui_aqa_flow_selector_identification>
<description_and_purpose> Identify missing UI selectors from frontend source code or page-source HTML and record the selector map with values and strategy. Conditionally requests page-source capture from the user. Read-only identification — no page-object writes (that is Phase 5). </description_and_purpose>
<workflow_context>
- Phase 4 of 8 in
ui-aqa-flow - Input: test plan
plans/ui-aqa-<test-name>/test-plan.mdwith assertions; Phase 3 code analysis atplans/ui-aqa-<test-name>/code-analysis.md - Output: the
## Selector Managementsection (Part A subsections) written into the test plan - Prerequisite: Phases 1-3 complete
- HITL: conditional — only if frontend code is unavailable or selectors are not found
- Read-only scope (single SSoT): identify only. NO writes to page objects, test files, or frontend source.
- Try ways to get page source before asking user. Page source to be provided as file (not chat).
- Paths +
<test-name>slug resolution + the page-sources capture path/naming contract are owned byqa-structure's UI layout reference. - Required skills:
qa-knowledge(implementation_modes— selector mode Part A, read-only identification; page-source capture message),qa-structure(<test-name>+ page-sources path),sensitive-data(page-source redaction) - Recommended skills:
testing</workflow_context>
<failure_handling>
If the code-analysis file is missing, the slug stays ambiguous in agents/TEMP/<FEATURE>/ui-aqa-state.md, or more than one plausible plans/ui-aqa-*/code-analysis.md exists: stop Phase 4, record the gap in agents/TEMP/<FEATURE>/ui-aqa-state.md, ask the user once for the canonical <test-name> or to re-run Phase 3 — do not guess (slug rules per qa-structure).
</failure_handling>
<phase_steps>
- Resolve
<test-name>and verify the Phase 3 code-analysis file (step 4.0) - Execute selector identification (step 4.1)
- Handle page source request if needed (step 4.2)
- Update state (step 4.3) </phase_steps>
<resolve_inputs step="4.0">
- USE SKILL
qa-structureand resolve<test-name>per its UI layout slug rules (the slug matches the Phase 1 run folder; useui-aqa-state.mdif unclear). - Verify
plans/ui-aqa-<test-name>/code-analysis.mdexists and is the single canonical input for this run. - If verification fails: apply
<failure_handling>. </resolve_inputs>
<execute_identification step="4.1" subagent="engineer" role="Selector identification specialist">
- USE SKILL
testingand USE SKILLqa-knowledge(implementation_modes— selector mode, Part A: read-only identify) with the parent-supplied bindings: test plan path; code-analysis path; page-sources directory + capture contract =qa-structure's UI layout; output = the## Selector Managementsection's Part A subsections in the test plan. - Execute Part A only (Interaction Map → Selector Availability → frontend-source search → page-source analysis for still-missing selectors). If all selectors are found in frontend code, skip step 4.2.
- Honor the read-only scope (
<workflow_context>).
Part A deliverables (written into the test plan's ## Selector Management — the contract Phase 5 reads):
- Interaction Map — test step → required UI interactions.
- Selector Availability — ✅ EXISTS / ❌ MISSING / ❌ UNRESOLVABLE per interaction.
- Identified Selectors — Selector / Type / Source (file:line or page-source file) / Usage / Stability per selector, using the 4-tier strategy (
data-testid>id> stable class/ARIA > XPath). - Fragile Selectors Flagged — any selector matching a fragile pattern, with reason + recommendation, for Phase 5's fragile-selector gate.
Blocking-infeasibility check. If the test's core interactions are UNRESOLVABLE because the target elements/flow are absent from the app — page source was captured but contains no matching elements (not merely a not-yet-captured page source) — the test cannot be authored without inventing selectors or modifying product source. Trigger the workflow's Blocking infeasibility HARD-STOP (ui-aqa-flow.md): escalate to the user with the options and WAIT for an explicit choice. Do NOT fabricate selectors, do NOT on your own initiative default to a pending/fixme spec, and do NOT advance to Phase 5 — even if the user earlier said "skip clarification".
</execute_identification>
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 97 lines · 18 tokens per session scan A 32b6fef72ab0
ui-aqa-flow-selector-identification is a command published in the GitHub repository griddynamics/rosetta (360 stars, last pushed 4d ago), licensed Apache-2.0. It adds 18 tokens to every session and 1,795 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other commands, from other repositories
verify-pr
Verify a PR's frontend changes through browser automation.
record
Record browser actions into a test definition.
web-runtime-verify
Verify a built web frontend at runtime: serve the build, assert page identity, run the web battery (overflow 320 to 2560, keyboard, console, Lighthouse, axe), and decide a PASS/FAIL/BLOCKED gate. Fixes are routed, not applied. Do not use to plan (implementation-plan), write code (implement-approved-slice), for perf…
e2e
Generate and run E2E tests with Playwright.
naive-test
Drive the live app as a naive first-time user and report UX/behavior gaps before deploy.
mx-test-page
Drive Playwright against the testbed (port 8082). MANDATORY testbed-fingerprint guard (URL :8082 + "Test Project" ribbon) before any other assertion -- safety gate against driving the live project.