claude-org-ja: Skill for Claude Code

.claude/skills/wsl-windows-chrome-screenshot/SKILL.md

wsl-windows-chrome-screenshot is a skill for Claude Code from suisya-systems/claude-org-ja. It costs 142 tokens per session (3,413 once invoked), scanned A, original, MIT.

A procedure for taking PNG screenshots of a preview server from Windows Chrome when working inside WSL, the Windows feature that runs Linux tools. It starts the server, captures the page, and diagnoses common connection failures.

In plain words
What is it for?
Capturing before-and-after UI images, checking light and dark themes, and taking screenshots of a local preview from WSL.
Why use it?
It avoids unreliable screenshots caused by WSL and Windows having separate processes and network or sandbox restrictions.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; positional $N argument.

This is suisya-systems/claude-org-ja's own configuration. It tells Claude Code how to work on claude-org-ja itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything claude-org-ja configures →

Reuse

Borrowing it

Nothing to install: this file belongs to suisya-systems/claude-org-ja. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/suisya-systems/claude-org-ja/main/.claude/skills/wsl-windows-chrome-screenshot/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/suisya-systems/claude-org-ja

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for wsl-windows-chrome-screenshot

README.md
[![agentmods](https://agentmods.dev/badge/skills/suisya-systems/claude-org-ja/wsl-windows-chrome-screenshot/github.svg)](https://agentmods.dev/skills/suisya-systems/claude-org-ja/wsl-windows-chrome-screenshot)
Your own site
<a href="https://agentmods.dev/skills/suisya-systems/claude-org-ja/wsl-windows-chrome-screenshot"><img src="https://agentmods.dev/badge/skills/suisya-systems/claude-org-ja/wsl-windows-chrome-screenshot/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for wsl-windows-chrome-screenshot

Your own site · 80×15
<a href="https://agentmods.dev/skills/suisya-systems/claude-org-ja/wsl-windows-chrome-screenshot"><img src="https://agentmods.dev/badge/skills/suisya-systems/claude-org-ja/wsl-windows-chrome-screenshot.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 142 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,413 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00142 $0.03413
Opus 5.5 $0.00057 $0.01365
Sonnet 5.5 $0.00028 $0.00683
Haiku 4.5 $0.00014 $0.00341

Measured 6d ago against content hash f2f1af24b413, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

wsl-windows-chrome-screenshot scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

`.worker-scratch/` に用意し、sandbox 内でプレビューが起動する(curl が 200)ことまで確かめ、
.claude/skills/wsl-windows-chrome-screenshot/SKILL.md · 162 lines

How it starts

The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.

WSL から Windows Chrome で画面を撮る

Linux 側の Chrome は共有ライブラリ不足で起動しない環境なので、Windows 版 Chrome を headless で使う。以下は繰り返し踏んだ手順を固定したもの(経緯と出典は .claude/skills/wsl-windows-chrome-screenshot/references/rationale.md)。 どの失敗もエラーが原因を指さず、PNG が「撮れてしまう」ことが多い。

0. sandbox を外す撮影の実行は窓口が行う

§1 の dangerouslyDisableSandbox: true の呼び出しは、auto mode のワーカーでは分類器に [Safety Bypass Flag] で拒否される(sandbox 内で Chrome を 1 回起動する probe も拒否)。 同じスクリプトは窓口が流して撮れている。よって役割を分ける。

  • ワーカー: サーバ起動・撮影・停止を 1 本にまとめた撮影スクリプトを .worker-scratch/ に用意し、sandbox 内でプレビューが起動する(curl が 200)ことまで確かめ、 そのまま流せる 1 行のコマンドを窓口への報告に書く。sandbox 解除は自分で要求しない。 1 回でも拒否されたら再要求しない(繰り返すとロックアウトされる)。
  • 窓口: スクリプトを読んでから sandbox 外で 1 回だけ流し、撮れた PNG が Chrome の 接続拒否画面(§2)でないことを確かめて、merge gate のページに載せる。

1. サーバ起動と撮影は 1 つの Bash 呼び出しに入れ、その呼び出しだけ sandbox を外す

sandbox は Bash 呼び出しごとに PID / network 名前空間を分けるため、

  • 別呼び出しで起こしたサーバはその呼び出しの終了と同時に死ぬ(setsid しても畳まれる。 run_in_background: true なら生きるが、次の呼び出しの curl からも Windows Chrome からも届かない)
  • Chrome 側も sandbox 内から叩くと <3>WSL (N - ) ERROR: UtilConnectUnix:526: socket failed 1 だけを出して PNG を 1 バイトも書かない(WSL interop の unix socket が bwrap に塞がれる。 エラー終了はしない)

よってサーバ起動・ヘルスチェック・撮影・停止をまとめた 1 呼び出しを dangerouslyDisableSandbox: true で流す。build / verify / git は sandbox 内のままでよい。

CHROME="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
SHOTS="$PWD/.worker-scratch/shots"; mkdir -p "$SHOTS"
UNC="$(wslpath -w "$SHOTS")"   # Windows の Chrome に渡す \\wsl.localhost\... 形式の保存先
PORT=7361

shoot() {  # shoot <name> <scheme 0=dark|1=light> <url>
  "$CHROME" --headless=new --disable-gpu --hide-scrollbars \
    --blink-settings=preferredColorScheme=$2 --window-size=2560,1440 \
    --virtual-time-budget=4000 --screenshot="$UNC\\$1.png" "$3"
}

node .worker-scratch/preview-$PORT.mjs > .worker-scratch/preview.log 2>&1 &
SRV=$!
for i in $(seq 1 20); do curl -fsS -o /dev/null "http://127.0.0.1:$PORT/?lang=en" && break; sleep 1; done
shoot warmup   1 "http://127.0.0.1:$PORT/?lang=en"   # 捨て撮り(§2)
shoot after-en 1 "http://127.0.0.1:$PORT/?lang=en"
shoot after-ja 1 "http://127.0.0.1:$PORT/?lang=ja"
kill $SRV
tail -5 .worker-scratch/preview.log

Read the full file on GitHub · 162 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago Changed · +4 lines f2f1af24b413
  2. 13d ago Changed · -19 lines · -83 tokens per session 53d9c3c9b1a1
  3. 1mo ago Changed · +22 lines ffcba969a62a
  4. 1mo ago First seen · 155 lines · 225 tokens per session scan A 378373148111

Subscribe to this mod's changes

wsl-windows-chrome-screenshot is a skill published in the GitHub repository suisya-systems/claude-org-ja (5 stars, last pushed 5d ago), licensed MIT. It adds 142 tokens to every session and 3,413 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-21.