From 81e630838f9fef9f8f0bfefdd524d450439357af Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 14:02:40 +0000 Subject: [PATCH] =?UTF-8?q?docs(skills):=20verify=20=E2=80=94=20VFY-C-01,?= =?UTF-8?q?=20prescribe=20the=20stable=20Chromium=20alias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The headless-driving section prescribed the versioned literal `/opt/pw-browsers/chromium-NNNN/chrome-linux/chrome` and told the reader to re-probe when the version moved. Both sibling repos prescribe the stable alias instead and warn against exactly this spelling: the versioned path stops existing at the next image bump, and a dead path copied out of a doc then reads as "no browser here" while the browser is in fact installed. Verified on disk: the alias is a live symlink onto the versioned build, so the fix is the same binary by a name that survives. Both the prose and the launch snippet now name the alias, and the snippet no longer carries a placeholder the reader has to resolve by probing. No changeset: the repo's own presence gate reports this path is not published source of any released package, so none is owed. Governed surface, so the PR stays a draft for human merge. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01LraLgQVGq8egUwfYZpbYt1 --- .claude/skills/verify/SKILL.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.claude/skills/verify/SKILL.md b/.claude/skills/verify/SKILL.md index 70d0d74cf1..68b48b7e40 100644 --- a/.claude/skills/verify/SKILL.md +++ b/.claude/skills/verify/SKILL.md @@ -24,13 +24,15 @@ their hardcoded defaults — that IS the offline path, not an error. ## Driving it headlessly The chrome-devtools MCP may lack a Chrome binary in remote sessions. Use the -repo's own Playwright instead — the pre-installed executable is at -`/opt/pw-browsers/chromium-1194/chrome-linux/chrome` (probe with -`find /opt/pw-browsers -name chrome` if the version moved): +repo's own Playwright instead — the pre-installed executable is the stable +alias `/opt/pw-browsers/chromium`. ⛔ Never copy the versioned +`chromium-NNNN/chrome-linux/chrome` spelling out of a probe: the alias is what +survives an image bump, and a dead versioned path reads as "no browser here" +when the browser is in fact present. ```js import { chromium } from '@playwright/test'; -const browser = await chromium.launch({ executablePath: '' }); +const browser = await chromium.launch({ executablePath: '/opt/pw-browsers/chromium' }); ``` Gotcha: a driver script must live **inside** the repo (e.g.