원클릭으로
playwright-e2e
Playwright E2E test generation workflow for Opik. Use when generating, fixing, or planning automated tests in tests_end_to_end/.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Playwright E2E test generation workflow for Opik. Use when generating, fixing, or planning automated tests in tests_end_to_end/.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when a developer wants to add, write, or create an end-to-end test for an Opik feature, page, or branch — e.g. "add an e2e test for the experiments comparison page", "write a test for the feature I just built", "e2e test for this branch", "cover the dataset items flow with a test". Runs the full loop in tests_end_to_end/e2e/ — analyze the feature and frontend code, explore the live UI with the Playwright MCP, write the Page Object Model + spec, and run it locally until green.
Use when an Opik E2E test has failed and a developer wants it investigated — e.g. "why did this e2e test fail?", "investigate the failing run on my PR", "is dataset-crud-smoke flaky?", "the nightly e2e suite went red". Takes a failure from a CI check, a TestOps launch, a test name, or a local run; gathers the trace and history, classifies regression vs. flake, and proposes a fix. Read-only — it diagnoses and proposes, it does not edit tests.
Use when building or extending a Page Object Model (POM) for the Opik E2E suite (under `tests_end_to_end/e2e/pom/`) and you need to choose stable selectors against the live UI. Walks through seeding required state, exploring the running page with the Playwright MCP (accessibility snapshot + data-testid enumeration), picking the most stable locator for each element, and verifying it before committing. Used as the discovery sub-step by the `writing-e2e-tests` skill.
Java backend patterns for Opik. Use when working in apps/opik-backend, designing APIs, database operations, or services.
React frontend patterns for Opik. Use when working in apps/opik-frontend, on components, state, or data fetching.
Python SDK patterns for Opik. Use when working in sdks/python, on SDK APIs, integrations, or message processing.
| name | playwright-e2e |
| description | Playwright E2E test generation workflow for Opik. Use when generating, fixing, or planning automated tests in tests_end_to_end/. |
Three-agent workflow for generating end-to-end tests for the Opik application:
Use when developer requests E2E test generation or repair:
# Opik must be running locally
# Frontend at http://localhost:5173
# Backend healthy
# Playwright environment
cd tests_end_to_end/typescript-tests
npm install
npx playwright install chromium
Before running any tests or SDK operations, check ~/.opik.config. The Python Opik SDK (used by the Flask test helper service) reads this file. If it points to a cloud environment, the workflow will accidentally create real data there.
cat ~/.opik.config
If url_override points to anything other than http://localhost:5173/api, back up and fix it:
cp ~/.opik.config ~/.opik.config.bak 2>/dev/null || true
cat > ~/.opik.config << 'EOF'
[opik]
url_override = http://localhost:5173/api
workspace = default
EOF
After the workflow is complete, remind the user to restore their config: cp ~/.opik.config.bak ~/.opik.config
These context files provide the domain knowledge agents need to produce accurate tests:
Agent: agents/playwright-test-planner.md
Input: Running Opik app + feature description
Output: tests_end_to_end/typescript-tests/specs/{feature-name}.md
Uses seed test: tests/seed-for-planner.spec.ts
Agent: agents/playwright-test-generator.md
Input: Markdown test plan from specs/
Output: tests_end_to_end/typescript-tests/tests/{feature-area}/{test-name}.spec.ts
Uses existing fixtures and page objects. References test-conventions.md for all coding standards.
Agent: agents/playwright-test-healer.md
Input: Failing test + error info
Output: Passing test or test.fixme() if the feature is genuinely broken
tests_end_to_end/
├── test-helper-service/ # Flask service bridging TS tests to Python SDK
├── test_files/ # Test attachments (images, audio, PDFs)
├── installer_utils/ # Shell scripts for environment checks
└── typescript-tests/
├── specs/ # Markdown test plans (planner output)
├── tests/ # Executable tests (generator output)
│ ├── projects/
│ ├── datasets/
│ ├── experiments/
│ ├── prompts/
│ ├── tracing/
│ ├── feedback-scores/
│ ├── playground/
│ ├── online-scoring/
│ └── seed-for-planner.spec.ts
├── fixtures/ # Test fixtures (base -> feature-specific)
├── page-objects/ # Page Object Model classes
├── helpers/ # TestHelperClient, random, wait utilities
├── config/ # Environment configuration
└── playwright.config.ts # Playwright configuration