bgclick-rev
Reverse-engineer a macOS GUI automation app's background-click path and produce a Swift reproduction. Use only when the user…
Create new Uni-CLI adapters by exploring websites and APIs. Use when adding support for a new site, desktop app, or service that unicli doesn't cover yet.
$ npx -y skills add olo-dot-io/Uni-CLI --skill unicli-explorer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/unicli-explorerContext preview
The summary Claude sees to decide when to auto-load this skill.
Create new Uni-CLI adapters by exploring websites and APIs. Use when adding support for a new site, desktop app, or service that unicli doesn't cover yet.
name: unicli-explorer description: > Create new Uni-CLI adapters by exploring websites and APIs. Use when adding support for a new site, desktop app, or service that unicli doesn't cover yet. version: 1.0.0 triggers: - "create adapter" - "new adapter" - "add site" - "explore site" allowed-tools: [Bash, Read, Write] protocol: 2.0
Adding a new website, API, or local app to Uni-CLI's adapter catalog (~20-line YAML files).
unicli browser start # Ensure Chrome is running unicli operate open <target-url> # Navigate to target page unicli operate state # Inspect DOM structure unicli operate network # List captured JSON API requests unicli operate click <ref> # Trigger lazy-loaded APIs unicli operate network # Check for new requests
| Condition | Strategy | Browser? | | ------------------------- | ----------- | -------- | | `fetch(url)` returns data | `public` | No | | Needs login cookies | `cookie` | Yes | | Needs CSRF/Bearer token | `header` | Yes | | Complex signed requests | `intercept` | Yes | | No API, DOM only | `ui` | Yes |
Create `src/adapters/<site>/<command>.yaml`:
site: mysite
name: mycommand
description: What this command does
type: web-api
strategy: public
args:
query: { type: str, required: true, positional: true }
limit: { type: int, default: 20 }
pipeline:
- fetch:
{
url: "https://api.example.com/search",
params: { q: "${{ args.query }}" },
}
- select: data.results
- map: { title: "${{ item.title }}", url: "${{ item.url }}" }
- limit: ${{ args.limit }}
columns: [title, url]npm run dev -- mysite mycommand "test" --limit 3 npm run verify
When adapters break: read error JSON `adapter_path` -> fix the ~20-line YAML -> save to `~/.unicli/adapters/<site>/<cmd>.yaml` -> `unicli test <site>`.
`fetch`, `fetch_text`, `parse_rss`, `html_to_md`, `select`, `map`, `filter`, `sort`, `limit`, `exec`, `navigate`, `evaluate`, `intercept`, `click`, `type`, `wait`, `press`, `scroll`, `snapshot`, `download`, `set`, `if`, `each`, `parallel`
`${{ item.field | join(', ') | truncate(100) }}` -- available: `join`, `urlencode`, `slice`, `replace`, `lowercase`, `uppercase`, `trim`, `default`, `split`, `first`, `last`, `length`, `strip_html`, `truncate`
One command for every interface—search, run, and inspect real software across APIs, browsers, desktops, local tools, and MCP.
Reverse-engineer a macOS GUI automation app's background-click path and produce a Swift reproduction. Use only when the user…
Control broker-owned hidden, existing-Chrome, or remote browser targets with explicit Agent identity, visibility, profile…
Make Uni-CLI reliable when invoked from Claude Code. MANDATES JSON-in channels (stdin / --args-file) for any payload containing…
Use Uni-CLI to interact with the current website, desktop-app, and system-tool catalog. Trigger when: user asks to check a…
Quick single-command adapter generation for unicli. Use when you need to create a one-off command for a specific URL and goal — 4…