ワンクリックで
libretto-readonly
Read-only Libretto workflow for diagnosing live browser state without clicks, typing, navigation, or mutation requests.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Read-only Libretto workflow for diagnosing live browser state without clicks, typing, navigation, or mutation requests.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when discussing, debugging, visually comparing, or verifying this project's Electron desktop app, especially with npm run desktop:dev, Chrome DevTools Protocol, CDP, remote debugging port 9222, uploaded screenshots, or desktop UI changes.
Add automatic CSV conversion to Libretto browser automation workflows after downloads. Use when creating or editing a workflow that downloads XLS, XLSX, Excel-labeled HTML tables, TXT/CSV-like statement files, bank statements, loan statements, reports, or other tabular exports and the user wants future runs to save CSV output automatically.
Browser automation CLI for building, maintaining, and running browser automation workflows by inspecting live pages and prototyping interactions.
| name | libretto-readonly |
| description | Read-only Libretto workflow for diagnosing live browser state without clicks, typing, navigation, or mutation requests. |
| license | MIT |
| metadata | {"author":"saffron-health","version":"0.6.31"} |
snapshot and readonly-exec.readonly-exec reuses Libretto's normal execution pipeline, but it only exposes read-only helpers and denies mutating Playwright methods.exec, run, or any direct Playwright action that could change browser or application state.snapshot first when the visible page state is unclear.readonly-exec for focused inspection: titles, HTML, locator text, counts, visibility checks, and GET requests.readonly-exec commands at the same time.connectconnect to attach to an existing CDP endpoint for a preserved browser session.--read-only when creating the Libretto session handle for a preserved browser session.libretto connect http://127.0.0.1:9222 --read-only --session failed-job-debug
pagespages when a popup, new tab, or second page exists.readonly-exec or snapshot complains about multiple pages, list ids first and then pass --page.libretto pages --session failed-job-debug
snapshotsnapshot as the first high-level observation tool.snapshot <ref> to inspect a subtree from the latest full snapshot.readonly-execreadonly-exec for narrow inspection code only.ReadonlyExecDenied: ....page — a read-only Playwright Page proxy. Standard Playwright read methods work normally (url(), title(), content(), getByRole(), locator(), textContent(), isVisible(), count(), scrollIntoViewIfNeeded(), etc.). Anything that mutates the page (click, fill, goto, evaluate, keyboard, mouse) is blocked.state — the current Libretto session state object.get(url, options?) — HTTP client restricted to GET and HEAD requests. Replaces fetch, which is blocked in readonly mode. Any request with a body or a non-GET/HEAD method throws ReadonlyExecDenied.scrollBy(deltaX, deltaY) — scroll the viewport by pixel offset. Use this to inspect content below the fold without targeting a specific element.Standard JS globals console, URL, Buffer, setTimeout, and setInterval are also available.
libretto readonly-exec "return page.url()" --session failed-job-debug
libretto readonly-exec "return await page.getByRole('heading').first().textContent()" --session failed-job-debug
# HTTP GET inspection
echo "const r = await get('https://api.example.com/status'); return await r.json()" \
| libretto readonly-exec - --session failed-job-debug
# Scroll down to inspect below-the-fold content
libretto readonly-exec "await scrollBy(0, 500)" --session failed-job-debug
closeclose when the inspection session is no longer needed, unless the user explicitly asks to keep the browser open.libretto close --session failed-job-debug