libretto-readonly
Read-only Libretto workflow for diagnosing live browser state without clicks, typing, navigation, or mutation requests.
Browser automation CLI for building, maintaining, and running browser automation workflows by inspecting live pages and prototyping interactions.
Claude Code
$ npx -y skills add cashew-labs/libretto --skill libretto --agent claude-code
Codex
$ npx skills add cashew-labs/libretto --skill libretto -a codex -y
Cursor
$ npx skills add cashew-labs/libretto --skill libretto -a cursor -y
Gemini CLI
$ npx skills add cashew-labs/libretto --skill libretto -a gemini-cli -y
GitHub Copilot
$ npx skills add cashew-labs/libretto --skill libretto -a github-copilot -y
OpenCode
$ npx skills add cashew-labs/libretto --skill libretto -a opencode -y
Windsurf
$ npx skills add cashew-labs/libretto --skill libretto -a windsurf -y
name: libretto description: "Browser automation CLI for building, maintaining, and running browser automation workflows by inspecting live pages and prototyping interactions." license: MIT metadata: author: saffron-health version: "0.6.45"
Read `references/shipped-source-and-documentation.md` for shipped source details, published documentation links, and implementation context beyond what this skill file covers.
1. Call the site's fetch/XHR endpoints via browser-context `fetch()`. 2. If `references/site-security-review.md` (assess only once per site) rules `fetch()` unsafe, passively capture responses with `page.on('response', ...)` 3. Fall back to Playwright UI automation.
Mix strategies freely across steps on a site.
Prefer to enter sites at a user-facing URL (homepage, login, etc.) on the first navigation — deep URLs on a cold session are commonly blocked by edge bot protection.
Always declare that entry URL as workflow `startUrl`. Do not open the same URL again with `page.goto` at the top of the handler when Libretto launches the browser; Libretto loads `startUrl` before the handler runs (and before CDP attach on Kernel / cloud providers). `run --cdp` attaches without navigating, so leave the existing page as-is or navigate inside the handler.
There are three ways to run workflows:
When editing a deployed workflow, validate changes with `run --provider <deployment-provider>` before redeploying; do not debug by repeatedly deploying and running the deployed job.
If the user prefers a provider for all local CLI runs in a workspace or only deploys workflows to that provider, update `.libretto/config.json` with `provider` instead of repeating `--provider`. Read `references/configuration-file-reference.md` first.
-
Libretto is a toolkit for building robust web integrations. It gives your coding agent a live browser and a token-efficient CLI to: Inspect live pages with minimal context overhead Capture network traffic to reverse-engineer site APIs Record user actions and
Read-only Libretto workflow for diagnosing live browser state without clicks, typing, navigation, or mutation requests.
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…