ui-aqa-flow-selector-identification

ui-aqa-flow-selector-identification is a command for Claude Code from griddynamics/rosetta. It costs 18 tokens per session (1,795 once invoked), scanned A, original, Apache-2.0.

A read-only workflow phase that finds the selectors automated browser tests need, such as buttons, fields, or links, in frontend code or page HTML.

In plain words
What is it for?
It is for building a selector map, choosing how each selector should be found, and recording the results in a UI test plan.
Why use it?
It records missing selectors before test code is written and avoids changing page objects during the investigation.

Command for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter. Also seen: mentions subagents.

Good fit It is for building a selector map, choosing how each selector should be found, and recording the results in a UI test plan.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/griddynamics/rosetta/ui-aqa-flow-selector-identification
Install

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.

Clone the repo
git clone --depth 1 https://github.com/griddynamics/rosetta

Made for: Claude Code.

Wrote 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.

agentmods badge for ui-aqa-flow-selector-identification

README.md
[![agentmods](https://agentmods.dev/badge/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification/github.svg)](https://agentmods.dev/commands/griddynamics/rosetta/ui-aqa-flow-selector-identification)
Your own site
<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.

agentmods 80×15 button for ui-aqa-flow-selector-identification

Your own site · 80×15
<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>
Per session 18 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,795 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 1mo ago against content hash 32b6fef72ab0, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

plugins/core-copilot-light/commands/ui-aqa-flow-selector-identification.md · 97 lines

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.md with assertions; Phase 3 code analysis at plans/ui-aqa-<test-name>/code-analysis.md
  • Output: the ## Selector Management section (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 by qa-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>

  1. Resolve <test-name> and verify the Phase 3 code-analysis file (step 4.0)
  2. Execute selector identification (step 4.1)
  3. Handle page source request if needed (step 4.2)
  4. Update state (step 4.3) </phase_steps>

<resolve_inputs step="4.0">

  1. USE SKILL qa-structure and resolve <test-name> per its UI layout slug rules (the slug matches the Phase 1 run folder; use ui-aqa-state.md if unclear).
  2. Verify plans/ui-aqa-<test-name>/code-analysis.md exists and is the single canonical input for this run.
  3. If verification fails: apply <failure_handling>. </resolve_inputs>

<execute_identification step="4.1" subagent="engineer" role="Selector identification specialist">

  1. USE SKILL testing and USE SKILL qa-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 Management section's Part A subsections in the test plan.
  2. 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.
  3. 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>

Read the full file on GitHub · 97 lines

Changes

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.

  1. 1mo ago First seen · 97 lines · 18 tokens per session scan A 32b6fef72ab0

Subscribe to this mod's changes

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.