本文へ移動
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.

インストール方法を見る

含まれるファイル(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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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/emanote9632026年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/emanote9632026年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/emanote9632026年7月26日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

srid/emanote9632026年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/emanote9632026年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/emanote9632026年7月26日 更新

srid のスキルをすべて見る

このスキルの問題を報告する