본문으로 건너뛰기
cccskills
무료GitHub에 공개

nix-playwright

Use this when adding Nix-based local runs for an existing Playwright e2e suite. Provides a self-contained `tests/shell.nix` that uses `nixpkgs-latest` for `playwright-driver.browsers`, plus a justfile entry — works on NixOS where `npx playwright install --with-deps` cannot.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Playwright
설치 방법 보기

포함된 파일(1)

  • SKILL.md2.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Playwright e2e under Nix

For projects that already have a Playwright e2e suite (typically under tests/) and need it to run locally on NixOS / pure-Nix hosts, where Playwright's bundled Chromium download depends on apt-get + sudo.

GitHub Actions CI is left untouched — apt-provided Chromium on Ubuntu runners is cheaper than spinning up a Nix devshell. This skill is for local runs (and Nix-based CI like Vira); GHA continues to use its own apt path.

Add a nixpkgs-latest flake input

In top-level flake.nix, add an independent pin so the Playwright rev moves on its own cadence (decoupled from the main nixpkgs your build uses):

inputs.nixpkgs-latest.url = "github:nixos/nixpkgs/nixpkgs-unstable";

tests/shell.nix

Self-contained. Reads the parent flake's lock to resolve nixpkgs-latest without needing a flake context:

let
  lock = builtins.fromJSON (builtins.readFile ../flake.lock);
  nixpkgsLocked = lock.nodes.nixpkgs-latest.locked;
  pkgs = import (builtins.fetchTree {
    type = "github";
    inherit (nixpkgsLocked) owner repo rev narHash;
  }) { };
in
pkgs.mkShell {
  packages = [ pkgs.nodejs ];
  PLAYWRIGHT_BROWSERS_PATH = "${pkgs.playwright-driver.browsers}";
  PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
}

Justfile recipe

e2e:
    nix-shell tests/shell.nix --run "cd tests && { [ -d node_modules ] || npm ci; } && npm test"

Critical version constraint

pkgs.playwright-driver version must match the playwright version in tests/package.json. Drift raises "browser revision X not found at <PLAYWRIGHT_BROWSERS_PATH>" at launch.

Bump both together:

  1. nix flake update nixpkgs-latest
  2. Match playwright in tests/package.json to the new driver version
  3. npm install in tests/ to regenerate the lockfile

Reference

Pattern extracted from emanote#660.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

be

무료

Modern, interactive alternative to `/do` — clarify intent up front, then take a task end-to-end with a serial AI review gauntlet (lens debate (lowy ⇄ hickey) → codex debate → simplify → code-police, each editing the branch in turn) → CI → evidence. ONLY invoke when the user explicitly types `/be` or `$be`; never auto-select from a natural-language request.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

srid/emanote9652026년 7월 26일 업데이트

be-review

무료

Run /be's review gauntlet SERIALLY — /lens-debate (lowy ⇄ hickey), then /codex-debate, then /simplify, then code-police, each editing and committing on the live branch in turn. Use from /be §4, or when the user asks to "run the review gauntlet". Requires Claude Code's Skill tool.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

srid/emanote9652026년 7월 26일 업데이트

ci

무료

Reference for the `odu` runner — how to invoke a full pipeline, a single recipe, or a platform-pinned node, and how to attach to a live run, from a project whose CI odu runs. Trigger when the user asks to "run CI", "run the pipeline", "re-run a check", to run named lanes or recipes (e.g. "run fmt and nix", "just the e2e lane", bare selectors like `fmt`/`nix`/`e2e`), or names a recipe by `<recipe>@<platform>`. This skill — not a repo's local `just ci` / `just <recipe>` — is how an odu-run request is served.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

srid/emanote9652026년 7월 26일 업데이트

Review code for quality, simplicity, and common mistakes before declaring work complete.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

srid/emanote9652026년 7월 26일 업데이트

Run an automated codex⇄Claude debate to consensus — no round cap, no deadlock exit. Two explicit subcommands. `review` (also the bare/back-compat default) — codex (reviewer) critiques the current diff and a Claude subagent (author) fixes/disputes, looping until they agree. `answer` — Claude and codex each answer a freeform prompt in parallel, then cross-check until they agree, and a unified answer is returned. Use when the user types `/codex-debate`, asks to "have codex review this", "run the codex debate", "review this PR with codex", "argue this with codex until you agree", or passes a question to "have Claude and codex debate/answer until they agree".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

srid/emanote9652026년 7월 26일 업데이트

do

무료

Do a task end-to-end — implement, PR, CI loop, ship. ONLY invoke when the user explicitly types `/do` or `$do`; never auto-select from a natural-language request, even one that sounds like an end-to-end task.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

srid/emanote9652026년 7월 26일 업데이트

srid의 스킬 모두 보기

이 스킬의 문제 신고