Interactive testing
Skill tyroneross/interface-built-right/skills/interactive-testing
Use when the user asks to test a form, click through a flow, test search or login, interact with a page, or needs browser interaction testing.From its SKILL.md
npx -y skills add tyroneross/interface-built-right --skill interactive-testingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.5 KB, as published. Nobody here has run it
Interactive Browser Testing with IBR
IBR can click, type, fill, and interact with elements on live pages — no Playwright needed. Elements are found by accessible name (not CSS selectors).
MCP Tools (preferred — works directly in Claude Code)
observe — See what's interactive
Use IBR observe tool on http://localhost:3000
Returns all clickable buttons, fillable inputs, links with their accessible names.
interact — Click, type, fill
Use IBR interact tool: click "Submit" on http://localhost:3000
Use IBR interact tool: type "debug" in "Search" on http://localhost:3000/projects
Use IBR interact tool: fill "Email" with "[email protected]" on http://localhost:3000
extract — Read page state
Use IBR extract tool on http://localhost:3000
Returns headings, buttons, inputs, links as structured data. Use after interactions to verify state changed.
interact_and_verify — Act + verify in one step
Use IBR interact_and_verify tool: click "FlowDoro" on http://localhost:3000/projects
Captures before/after AX tree snapshots, reports elements added/removed and pixel diff.
session_* — Navigate and test current screen state
Use persistent sessions when the test depends on current UI context:
session_startwith a URL.session_readwithwhat: "observe"to inspect interactive elements.session_actionto click, type, fill, or press by accessible name.session_readwithwhat: "extract"orwhat: "state"to verify.session_closewhen done.
flow_search — Search/semantic search flow
Use flow_search for search and semantic AI search. It can run against a URL or an existing Chrome session:
{
"sessionId": "<session id>",
"query": "pricing plan",
"userIntent": "Find the plan page a buyer would choose",
"aiValidation": true
}
With aiValidation: true, IBR captures step screenshots, extracts result content, and returns relevance-validation context for the agent to judge.
CLI Commands
# See what's interactive
npx ibr observe http://localhost:3000
# Click a button
npx ibr interact http://localhost:3000 --action click --target "Submit"
# Type in a search box
npx ibr interact http://localhost:3000 --action type --target "Search" --value "debug"
# Fill a form field
npx ibr interact http://localhost:3000 --action fill --target "Email" --value "[email protected]"
# Extract page structure
npx ibr extract http://localhost:3000
Common Flows
Test search filtering
npx ibr observe http://localhost:3000 # Find the search input name
npx ibr interact http://localhost:3000 --action fill --target "Search tools" --value "debug"
npx ibr extract http://localhost:3000 # Verify filtered results
Test semantic AI search
npx ibr search-test http://localhost:3000 --query "pricing plan" --intent "Find the plan page a buyer would choose"
Test modal popup
npx ibr interact http://localhost:3000 --action click --target "FlowDoro"
npx ibr extract http://localhost:3000 # Verify modal content appeared
npx ibr interact http://localhost:3000 --action click --target "Close" # or press Escape
Test form submission
npx ibr interact http://localhost:3000 --action fill --target "Name" --value "John"
npx ibr interact http://localhost:3000 --action fill --target "Email" --value "[email protected]"
npx ibr interact http://localhost:3000 --action click --target "Submit"
Element Resolution
IBR finds elements by accessible name using a 4-tier strategy:
- Cache — previously resolved elements (instant)
- queryAXTree — CDP-native semantic search by name+role
- Fuzzy matching — Jaro-Winkler on the full accessibility tree
- Vision fallback — screenshot analysis when AX tree is insufficient
Use --role to narrow matches: --role button, --role textbox, --role link.
Supported Actions
| Action | Description | Needs --value |
|---|---|---|
click | Click an element | No |
type | Type text (appends) | Yes |
fill | Clear + type text | Yes |
hover | Mouse hover | No |
press | Keyboard key press | Yes (key name) |
scroll | Scroll page | Yes (pixels) |
select | Select dropdown option | Yes |
check | Toggle checkbox | No |