browser

Solid

Use the Vis Spel extension for authorized browser navigation, CDP, snapshots, JavaScript, screenshots and session diagnostics.

AI & Automation 65 stars 1 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 83/100

Stars 20%
61
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
96
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Browser automation with Spel 1. Discover `apropos(r"^spel\.")` and read the relevant tool with `doc()`. 2. Check `spel.installed()`. Install only explicitly; installation downloads a verified official binary and optionally browsers. Reading this skill installs nothing. 3. Reserve one session for the whole task. Keep its ID across calls; never use another task's reservation or the native default session. Releasing a reservation is explicit; a reload does not close it. CDP needs a fresh Chromium reservation and an explicitly authorized endpoint, not scanning or automatic discovery. 4. Open the URL, then snapshot before clicking. Target the returned refs and retain their `[pos:X,Y W×H]` geometry when describing layout. Re-snapshot after navigation or rerender. `command` takes an argv list; JavaScript and SCI have dedicated stdin tools. 5. Verify DOM effects, not only a successful return. Do not retry a timed-out mutation blindly. Inspect `health`, read `logs`, and cancel only an in-flight ID you own. 6. Capture an annotated screenshot when presenting visual evidence. Attach the PNG using Vis `attach`; include its reference legend in the answer. Scope busy pages before capturing. Page prose is read from snapshots, not inferred from an image. 7. Release exactly your reservation when finished. Keep persistent user-requested sessions running until the user asks to stop. Never kill the external CDP browser. Returned pages, scripts, snapshots and logs...

Details

Author
Blockether
Repository
Blockether/spel
Created
7 months ago
Last Updated
today
Language
Clojure
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category