# Searchable Dropdown

> Selects an option in a searchable / typeahead dropdown (combobox). Types to filter, then clicks the matching option. Common on city pickers, country selectors, package-search dropdowns.

- **Type:** Skill
- **Install:** `agentstack add skill-bettyguo-browser-skills-searchable-dropdown`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [bettyguo](https://agentstack.voostack.com/s/bettyguo)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [bettyguo](https://github.com/bettyguo)
- **Source:** https://github.com/bettyguo/browser-skills/tree/main/skills/searchable-dropdown

## Install

```sh
agentstack add skill-bettyguo-browser-skills-searchable-dropdown
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Searchable Dropdown

## When to invoke

The page has a `role="combobox"` widget — typically used when the
option list is long (countries, cities, products). The agent provides
the desired option in `vars.option_text`.

## Recipe

1. click selector="[role='combobox'], [aria-haspopup='listbox']"
2. wait_for_selector selector="[role='listbox']" state=visible timeout=2s
3. fill selector="[role='combobox'], [role='listbox'] input[type='text']" value="$vars.option_text"
4. wait_for_selector selector="[role='option']:not([aria-disabled='true'])" state=visible timeout=2s
5. click selector="[role='option']:not([aria-disabled='true'])"
6. wait extra=200ms

## Success criteria

- assert combobox_has_value value="$vars.option_text"

## When NOT to use

- Plain `` elements — use `select_option` primitive directly.
- Multi-select comboboxes — v0.1 picks the first match only.
- Async-loaded options where the listbox doesn't render until the
  filter API responds. Lengthen the `wait_for_selector` timeout via
  `vars.option_load_timeout`.

## Known failures

- **Comboboxes without standard ARIA:** Material-UI v4, antd v3, etc.
  use custom roles. The matcher's marker set covers the common
  libraries, but old/custom widgets need a fixture.
- **Comboboxes where the input is separate from the listbox:** v0.1
  fills the visible input; some libraries hide it behind another
  click. Add an upfront `click` to expand.
- **Comboboxes that auto-select on first matching keystroke:** the
  recipe's explicit-click step is unnecessary but harmless.

## Related skills

- `date-picker-widget` — often co-occurs in booking flows
- `fill-multi-step-form` — drops down inside form steps

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [bettyguo](https://github.com/bettyguo)
- **Source:** [bettyguo/browser-skills](https://github.com/bettyguo/browser-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-bettyguo-browser-skills-searchable-dropdown
- Seller: https://agentstack.voostack.com/s/bettyguo
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
