本文へ移動
cccskills
無料GitHub で公開

playwright

Use when the user wants to inspect a Playwright `trace.zip` (actions, screenshots, console errors, network). Triggers on "examine trace", "explore trace", "open trace.zip", "look at the playwright trace", "что в trace.zip", "посмотри трейс", or any message attaching a `*.zip` path that looks like a Playwright trace (e.g. `trace-*.zip`, `trace.zip`).

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

Gram-ax/gramaxスター 616(GitHub 616 + cccskills 0)
連携ツールPlaywright

実行スコア 未検証

インストール方法を見る

含まれるファイル(2)

  • SKILL.md3.7 KB
  • scripts/extract-trace.sh2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Examining a Playwright trace.zip

A Playwright trace is a zip with NDJSON event streams plus screenshots/snapshots. Never read the .zip directly — extract first, then query.

Contents of a trace.zip

FileWhat it holds
trace.trace (and optional <n>-trace.trace)NDJSON of actions, before/after/event, errors, console
trace.networkNDJSON of network requests/responses
trace.stacksBinary stack traces (rarely needed)
resources/*.jpegScreenshots captured per action
resources/*.htmlDOM snapshots

Workflow

1. Extract + summarize

Use the helper. It unzips and prints a structured summary.

./.claude/skills/explore-playwright-trace/scripts/extract-trace.sh ~/Downloads/trace-1.zip
# or specify out dir:
./.claude/skills/explore-playwright-trace/scripts/extract-trace.sh ~/Downloads/trace-1.zip /tmp/trace-1

Output includes: action breakdown, console/errors, screenshot count, top network requests, and the extraction dir.

If the helper is not available (other repo): fallback to

OUT=$(mktemp -d) && unzip -q ~/Downloads/trace-1.zip -d "$OUT" && echo "$OUT"

2. Inspect specific things

After extraction, $OUT holds the files. Use jq to drill in.

Timeline of actions:

jq -c 'select(.type == "before") | {t: .startTime, api: .apiName, params}' "$OUT"/*.trace

Failed actions with error message:

jq -c 'select(.error != null) | {api: .apiName, error: .error.message, stack: .error.stack}' "$OUT"/*.trace

Console messages (browser-side):

jq -c 'select(.type == "console") | {level: .messageType, text}' "$OUT"/*.trace

All page navigations:

jq -c 'select(.apiName == "page.goto" or .method == "navigate") | {url: (.params.url // .url), t: .startTime}' "$OUT"/*.trace

Network failures (status >= 400 or no response):

jq -c 'select(.status != null and .status >= 400) | {method, url, status}' "$OUT"/*.network

Slowest actions:

jq -s 'map(select(.type == "before" and .endTime != null) | {api: .apiName, dur: (.endTime - .startTime)}) | sort_by(-.dur) | .[:20]' "$OUT"/*.trace

3. Look at screenshots

ls "$OUT/resources/"*.jpeg | head
open "$OUT/resources/"   # macOS — opens Finder for visual scan

Each action references a screenshot by sha1 in params.snapshot / pageId. To link an action to its screenshot: grab the sha1 referenced near the action's timestamp and match resources/<sha1>.jpeg.

4. Report

Summarize for the user in this order:

  1. Verdict — passed / failed; if failed, which action.
  2. Error — exact message + the action that caused it (api, params).
  3. Console — relevant web errors/warnings.
  4. Network — failed/4xx/5xx requests, if any.
  5. Last screenshot — the path; suggest opening it.

Quote error strings exact. Do not paraphrase.

Notes

  • Some traces have multiple *.trace files (one per BrowserContext). The helper concatenates them.
  • Timestamps are unix epoch seconds (floats). Pretty-print with strftime if needed: (.startTime | strftime("%H:%M:%S")).
  • Don't dump full NDJSON to the conversation — it's huge. Always filter with jq.
  • The helper uses $TMPDIR by default; clean up with rm -rf when done if the trace was big.

レビュー

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

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

biome

無料

Use when user asks to lint with Biome, check lint warnings introduced in an MR/branch, run `lint:ref`, or read/triage large Biome diagnostic output in the Gramax project. Triggers on keywords like biome, lint, lint:ref, warnings, lint gate.

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

Gram-ax/gramax6162026年10月6日 更新

ci

無料

Use when running headless inside a GitLab CI job in the Gramax repo (the `ai` job). Establishes environment — repo checked out, glab/gh authenticated, what tools exist, how to read/post on GitLab, how to diagnose failed pipeline jobs. Triggers on "ci", "running in CI", "headless CI job", "ты в CI", "запущен в пайплайне".

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

Gram-ax/gramax6162026年10月6日 更新

e2e

無料

Use when user asks to write, create, run, or debug Playwright e2e tests in the Gramax project. Triggers on keywords like e2e, playwright, test, spec, QA.

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

Gram-ax/gramax6162026年10月6日 更新

Use when CI jobs are red on a Gramax branch and need diagnosing/fixing — failed pipeline, broken build/tests, flaky jobs, a job that has been red for a while, "почини пайплайн", "почини все пайплайны", "сломанные джобы", "failed CI jobs", "pipeline red", "fix the pipeline".

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

Gram-ax/gramax6162026年10月6日 更新

Use when creating, rewriting, OR reviewing a GitLab Merge Request in the Gramax product repo (`gramax/` → `gitlab.ics-it.ru/ics/doc-reader`). Triggers on "mr", "напиши описание MR", "опиши MR", "создай MR", "мерж реквест", "ревью MR", "проверь MR", "посмотри MR", "review MR", "review merge request", "code review for MR", "write MR description", "draft MR", "create merge request". Also pre-empts generic `/requesting-code-review`, `/code-review`, `/review` flows when target is a Gramax GitLab MR — team-convention checks (description, board link, `## Notes`) must run BEFORE code review.

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

Gram-ax/gramax6162026年10月6日 更新

Gram-ax のスキルをすべて見る

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