원클릭으로
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