testrail
alirezarezvani/claude-skills
Sync Playwright tests bidirectionally with TestRail test management.
What is testrail?
Integrates Playwright tests with TestRail for test case management and result tracking. Use this skill when you need to import test cases from TestRail into Playwright, push test results back to TestRail, create test runs, or sync coverage between the two systems.
- Import TestRail test cases and generate corresponding Playwright tests with case ID annotations
- Push Playwright test results (pass/fail/skip) back to TestRail with status and error details
- Create TestRail test runs and link them to Playwright test cases
- Report sync status showing coverage gaps between TestRail cases and Playwright tests
- Update TestRail test cases with steps and expected results extracted from Playwright test code
How to install testrail
npx skills add https://github.com/alirezarezvani/claude-skills --skill testrail- TestRail instance with API access
- Environment variables: TESTRAIL_URL, TESTRAIL_USER, TESTRAIL_API_KEY
- TestRail MCP server manually enabled (requires manual setup in MCP config; see skill documentation)
- Playwright test suite in your project
How to use testrail
- 1.Set environment variables TESTRAIL_URL, TESTRAIL_USER, and TESTRAIL_API_KEY
- 2.Enable the TestRail MCP server manually in your MCP configuration (cd integrations/testrail-mcp && npm install, then register in your MCP config)
- 3.Use /pw:testrail import --project <id> --suite <id> to fetch test cases and generate Playwright tests
- 4.Add test.info().annotations with type 'testrail' and case ID to link Playwright tests to TestRail
- 5.Run /pw:testrail push --run <id> to execute tests and push results back to TestRail
- 6.Use /pw:testrail status --project <id> to view coverage and sync gaps
Use cases
- Maintain test case definitions in TestRail while automating them in Playwright
- Report test execution results from CI/CD pipelines directly to TestRail
- Identify which TestRail test cases lack Playwright automation coverage
- Synchronize test case updates between TestRail and Playwright test files
- Create test runs in TestRail and populate them with results from local test execution
- QA engineers managing test cases in TestRail
- Test automation engineers using Playwright
- Teams needing bidirectional sync between test management and automation frameworks
- CI/CD pipeline maintainers reporting test results to TestRail
testrail FAQ
The testrail_* MCP tools will fail with 'tool not found' errors. You must manually enable the server by running 'cd integrations/testrail-mcp && npm install' and registering it in your MCP configuration.
Each Playwright test includes a test annotation with type 'testrail' and the TestRail case ID (e.g., 'C12345'). This annotation is the bridge between the two systems.
Pass (status_id: 1), Fail (status_id: 5 with error message), and Skip (status_id: 2).
Yes, use /pw:testrail update --case <id> to extract steps and expected results from your Playwright test and push them back to TestRail.
It reports the number of TestRail cases, linked Playwright tests, unlinked TestRail cases, and Playwright tests without TestRail IDs to identify coverage gaps.
Full instructions (SKILL.md)
Source of truth, from alirezarezvani/claude-skills.
name: "testrail" description: >- Sync tests with TestRail. Use when user mentions "testrail", "test management", "test cases", "test run", "sync test cases", "push results to testrail", or "import from testrail".
TestRail Integration
Bidirectional sync between Playwright tests and TestRail test management.
Prerequisites
Environment variables must be set:
TESTRAIL_URL— e.g.,https://your-instance.testrail.ioTESTRAIL_USER— your emailTESTRAIL_API_KEY— API key from TestRail
If not set, inform the user how to configure them and stop.
The TestRail MCP server is not auto-registered (issue #978).
pw-testrailwas removed from the plugin's.mcp.jsonbecause it failed to connect for every user (the plugin ships nonode_modules). Thetestrail_*MCP tools used below, and the/pw:testrailcommand, will fail with "tool not found" until it is enabled manually — see the Integrations section of the plugin'sCLAUDE.md(cd integrations/testrail-mcp && npm install, then register the server in your own user/project MCP config). Setting the env vars alone is not sufficient.
Capabilities
1. Import Test Cases → Generate Playwright Tests
/pw:testrail import --project <id> --suite <id>
Steps:
- Call
testrail_get_casesMCP tool to fetch test cases - For each test case:
- Read title, preconditions, steps, expected results
- Map to a Playwright test using appropriate template
- Include TestRail case ID as test annotation:
test.info().annotations.push({ type: 'testrail', description: 'C12345' })
- Generate test files grouped by section
- Report: X cases imported, Y tests generated
2. Push Test Results → TestRail
/pw:testrail push --run <id>
Steps:
- Run Playwright tests with JSON reporter:
npx playwright test --reporter=json > test-results.json - Parse results: map each test to its TestRail case ID (from annotations)
- Call
testrail_add_resultMCP tool for each test:- Pass → status_id: 1
- Fail → status_id: 5, include error message
- Skip → status_id: 2
- Report: X results pushed, Y passed, Z failed
3. Create Test Run
/pw:testrail run --project <id> --name "Sprint 42 Regression"
Steps:
- Call
testrail_add_runMCP tool - Include all test case IDs found in Playwright test annotations
- Return run ID for result pushing
4. Sync Status
/pw:testrail status --project <id>
Steps:
- Fetch test cases from TestRail
- Scan local Playwright tests for TestRail annotations
- Report coverage:
TestRail cases: 150 Playwright tests with TestRail IDs: 120 Unlinked TestRail cases: 30 Playwright tests without TestRail IDs: 15
5. Update Test Cases in TestRail
/pw:testrail update --case <id>
Steps:
- Read the Playwright test for this case ID
- Extract steps and expected results from test code
- Call
testrail_update_caseMCP tool to update steps
MCP Tools Used
| Tool | When |
|---|---|
testrail_get_projects | List available projects |
testrail_get_suites | List suites in project |
testrail_get_cases | Read test cases |
testrail_add_case | Create new test case |
testrail_update_case | Update existing case |
testrail_add_run | Create test run |
testrail_add_result | Push individual result |
testrail_get_results | Read historical results |
Test Annotation Format
All Playwright tests linked to TestRail include:
test('should login successfully', async ({ page }) => {
test.info().annotations.push({
type: 'testrail',
description: 'C12345',
});
// ... test code
});
This annotation is the bridge between Playwright and TestRail.
Output
- Operation summary with counts
- Any errors or unmatched cases
- Link to TestRail run/results
Related skills
More from alirezarezvani/claude-skills and the wider catalog.

ui-design-system
UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use when creating design systems, generating design tokens, maintaining visual consistency, or facilitating design-dev collaboration and developer handoff.

ux-researcher-designer
UX research and design toolkit for Senior UX Designer/Researcher including data-driven persona generation, journey mapping, usability testing frameworks, and research synthesis. Use when conducting user research, creating personas, mapping user journeys, planning usability tests, or validating designs.

a11y-audit
Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases. Use when auditing accessibility, fixing a11y violations, checking color contrast, generating compliance reports, or integrating accessibility checks into CI/CD pipelines.

ad-creative
When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say 'write ad copy,' 'generate headlines,' 'create ad variations,' 'bulk creative,' 'iterate on ads,' 'ad copy validation,' 'RSA headlines,' 'Meta ad copy,' 'LinkedIn ad,' or 'creative testing.' This is pure creative production — distinct from paid-ads (campaign strategy). Use ad-creative when you need the copy, not the campaign plan.

alibabacloud-dms-skill
Search Alibaba Cloud DMS databases and execute SQL queries and data modifications.

alibabacloud-find-skills
Search and discover Alibaba Cloud agent skills from the AgentExplorer catalog.