본문으로 건너뛰기
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 / 1,000자

이 양식은 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의 스킬 모두 보기

이 스킬의 문제 신고