Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计提醒

e2e-ci-debuge2e CI 调试

Agent Skill

e2e-ci-debug 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

333

周安装

14

GitHub Stars

1

下载量

116
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:e2e-ci-debug(e2e CI 调试)
来源仓库:https://github.com/lgariv-dn/frontend-skills
仓库路径:skills/e2e-ci-debug
安装命令:
npx skills add https://github.com/lgariv-dn/frontend-skills --skill e2e-ci-debug
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/lgariv-dn/frontend-skills --skill e2e-ci-debug

简介

Playwright E2E 失败调试工具自动下载 CI 产物、解析 JUnit 报告并给出复现命令。

  • 包含 artifacts 清理脚本防止磁盘占用,保障后续构建稳定性。
  • 智能识别失败测试用例,推荐 nx affected 命令缩小本地执行范围。
  • 依赖 CI 系统暴露 JUnit XML 与 artifacts URL,部分平台需开启特殊权限。
  • e2e-ci-debug 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

E2E CI Debug

Debug Playwright E2E test failures from CI with automated artifact downloading, intelligent failure parsing, and local reproduction guidance.

Quick Start

Full debugging workflow:

# 1. Download artifacts from failing CI run
.cursor/skills/e2e-ci-debug/scripts/download-artifacts.sh

# 2. Parse JUnit results to identify failures
.cursor/skills/e2e-ci-debug/scripts/parse-junit.py

# 3. Run local reproduction command (shown by parse-junit.py)
cd dap-workspace && nx affected -t e2e --base=origin/main

# 4. Clean up downloaded artifacts (Important!)
.cursor/skills/e2e-ci-debug/scripts/cleanup-artifacts.sh

Output: Failing spec name, error message, file location, stack trace, and local reproduction command.

Workflow E2E Test Structure

Main Workflow E2E Tests

  • Path: dap-workspace/tests/workflow/typescript/
  • Config: playwright.config.ts
  • Test Directory: tests/e2e/

- builder/ - Workflow builder tests (9 spec files) - catalog/ - Catalog navigation tests (2 spec files) - visual-diff/ - Visual regression tests (1 spec file)

  • Projects: sanitysetupe2e (dependency chain)
  • Reports: reports/typescript-playwright/workflow/

- HTML: playwright-report/ - JUnit: junit.xml

  • Base URL: WORKFLOW_BASE_URL env var or http://localhost:4200

Component-Level E2E Tests

  • Path: dap-workspace/libs/workflow/workflow-fe/workflow-fe-e2e/
  • Config: playwright.config.ts
  • Test Directory: src/
  • WebServer: Auto-starts workflow-root-fe on http://localhost:4200
  • Used for component-level testing within workflow libraries

CI Workflow Context

PR E2E Tests

When they run:

  • Automatically on pull requests via dispatcher.ymlpr-core.yamlpr-processor.yml
  • Only affected E2E tests execute (via nx affected -t e2e)

How to find them:

# List PR checks
gh pr checks

# View specific run
gh run view <run_id> --log

# Download PR E2E artifacts
gh run download <run_id> -n <artifact-name>

Workflow chain:

  1. .github/workflows/dispatcher.yml - PR entry point
  2. .github/workflows/pr-core.yaml - Runs test, lint, docker, deploy jobs
  3. pr-processor.yml (external) - Handles deployment and E2E execution

Local Debugging

Run workflow E2E tests locally before pushing to CI:

Run Workflow E2E Project

cd dap-workspace

# Run full workflow E2E suite (with project dependencies)
nx e2e tests-workflow-typescript --project=e2e

# Run only sanity tests
nx e2e tests-workflow-typescript --project=sanity

Run Affected E2E Tests

cd dap-workspace

# Compare against main branch
nx affected -t e2e --base=origin/main

# Compare against specific branch
nx affected -t e2e --base=origin/v4.0

Run Specific Test File

cd dap-workspace/tests/workflow/typescript

# Run single spec
npx playwright test tests/e2e/builder/workflow-builder.e2e.spec.ts

# Run specific suite
npx playwright test tests/e2e/builder

# Run with UI mode for debugging
npx playwright test --ui

# Run with headed browser
npx playwright test --headed

View Local Test Reports

cd dap-workspace

# Open HTML report for workflow tests
npx playwright show-report reports/typescript-playwright/workflow/playwright-report

PR Checks Debugging

E2E Test Failures

  1. Find failing E2E job: gh pr checks # Look for "Run E2E Tests" or similar job names
  2. Download artifacts: # Use the download-artifacts.sh script (auto-detects current PR).cursor/skills/e2e-ci-debug/scripts/download-artifacts.sh # Or manually with run ID.cursor/skills/e2e-ci-debug/scripts/download-artifacts.sh <run_id>
  3. Parse failures: .cursor/skills/e2e-ci-debug/scripts/parse-junit.py
  4. Reproduce locally: cd dap-workspace nx affected -t e2e --base=origin/<base-branch>

Unit Test Failures

# View test job logs
gh run view <run_id> --log --job <job_id>

# Find the specific test command in logs
# Usually: nx affected -t test --base=origin/<base-branch>

# Run locally
cd dap-workspace
nx affected -t test --base=origin/main

Lint Failures

# View lint job logs
gh run view <run_id> --log --job <job_id>

# Run locally
cd dap-workspace
nx affected -t lint --base=origin/main

# Auto-fix many issues
nx affected -t lint --base=origin/main --fix

Docker Build Failures

# View docker job logs
gh run view <run_id> --log --job <job_id>

# Look for:
# - Docker build errors
# - Missing dependencies
# - Build context issues
# - Registry authentication problems

Utility Scripts

All scripts are located in the skill's scripts/ directory. After installation via npx add-skill, they'll be at .cursor/skills/e2e-ci-debug/scripts/

download-artifacts.sh

Downloads Playwright test artifacts from GitHub Actions for the current PR.

Usage:

# Auto-detect from current PR
./download-artifacts.sh

# Specify run ID
./download-artifacts.sh <run_id>

# Specify run ID and artifact name
./download-artifacts.sh <run_id> <artifact_name>

What it does:

  • Fetches Playwright report archives from GitHub Actions
  • Extracts to playwright-results/ directory
  • Cleans up ZIP files after extraction

parse-junit.py

Parses JUnit XML from Playwright results and extracts structured failure information, including paths to failure screenshots for AI model analysis.

Usage:

# Parse default location
./parse-junit.py

# Parse specific file
./parse-junit.py path/to/junit.xml

# Output as JSON (includes screenshot/trace/video paths)
./parse-junit.py --json

# Show screenshot paths for AI model analysis
./parse-junit.py --screenshots

# Open HTML report after parsing
./parse-junit.py --open-report

# Show help
./parse-junit.py --help

Output includes:

  • Test name and status
  • Error message
  • File location (spec file:line number)
  • Stack trace
  • Screenshot paths (absolute paths for AI model to read with Read tool)
  • Trace file paths (for Playwright trace viewer)
  • Video paths (if video recording was enabled)
  • Local reproduction command for workflow tests

Output Formats:

  • Text (default): Human-readable with colors and emojis, shows artifact paths inline
  • JSON (--json): Structured output with screenshots, traces, and videos arrays per failure

AI Model Integration: The screenshot paths are absolute, allowing AI models to directly read the images using the Read tool to visually analyze where Playwright failed.

find-failing-job.sh

Finds failing E2E jobs from recent PR workflow runs.

Usage:

# List recent PR workflow runs
./find-failing-job.sh

# Find specific workflow
./find-failing-job.sh "PR Deploy Core"

Output:

  • Recent workflow runs with status
  • Run ID and job IDs for failed E2E tests
  • Command to download artifacts

cleanup-artifacts.sh

Removes all downloaded Playwright artifacts after debugging.

Usage:

./cleanup-artifacts.sh

What it removes:

  • playwright-results/ directory
  • *-playwright-results.zip files
  • Any other temporary E2E debug files

Safety:

  • Idempotent (safe to run multiple times)
  • Confirms cleanup with file count and freed disk space

Common Failure Patterns

Test Timeout

Symptom: Test exceeds timeout (default: 30s for sanity, 120s for setup, 30s for e2e)

Solutions:

  • Check for network delays or slow API responses
  • Increase timeout in playwright.config.ts if legitimate
  • Look for missing await on async operations

Element Not Found

Symptom: Selector not found or Element is not visible

Solutions:

  • Verify element exists in the DOM
  • Check for timing issues (add proper waits)
  • Inspect for dynamic class names or IDs
  • Use data-testid attributes instead of classes

Setup/Seed Failures

Symptom: setup project fails before e2e tests can run

Solutions:

  • Check database seeding in tests/*/typescript/seed/*.setup.ts
  • Verify API endpoints are accessible
  • Ensure authentication/tokens are valid

Flaky Tests

Symptom: Test passes locally but fails in CI (or vice versa)

Solutions:

  • Check for race conditions
  • Avoid hard-coded waits (page.waitForTimeout())
  • Use proper Playwright assertions with auto-retry
  • Verify test isolation (no shared state)

Additional Resources

For detailed workflow documentation, artifact paths, and Playwright configuration details, see reference.md.

When to Use This Skill

Use this skill when:

  • A PR has failing E2E checks and you need to debug
  • You want to reproduce CI E2E failures locally
  • You need to understand E2E test structure and locations
  • You're debugging flaky or timing-related test failures in PRs

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.3%
按下载量换算42

Claude

27.64%
按下载量换算32

Cursor

18.06%
按下载量换算21

Gemini CLI

10.11%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills