testrail
alirezarezvani/claude-skills
Sync Playwright tests bidirectionally with TestRail test management.
What is testrail?
Automate test case synchronization between Playwright and TestRail. Import test cases as Playwright tests, push test results back to TestRail, create test runs, and maintain coverage alignment between your automation and test management system.
- Import TestRail test cases and generate corresponding Playwright tests with case ID annotations
- Push Playwright test results (pass/fail/skip) back to TestRail with error details
- Create TestRail test runs and link Playwright tests via annotations
- Sync status: compare TestRail cases against local Playwright tests and report coverage gaps
- 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_URL environment variable (e.g., https://your-instance.testrail.io)
- TESTRAIL_USER environment variable (your TestRail email)
- TESTRAIL_API_KEY environment variable (API key from TestRail account)
- Playwright test project with test files
How to use testrail
- 1.Set required environment variables: TESTRAIL_URL, TESTRAIL_USER, TESTRAIL_API_KEY
- 2.Run `/pw:testrail import --project <id> --suite <id>` to fetch test cases and generate Playwright tests
- 3.Add TestRail case ID annotations to Playwright tests: `test.info().annotations.push({ type: 'testrail', description: 'C12345' })`
- 4.Execute Playwright tests with JSON reporter: `npx playwright test --reporter=json > test-results.json`
- 5.Run `/pw:testrail push --run <id>` to upload test results to TestRail
- 6.Use `/pw:testrail status --project <id>` to check coverage and identify unlinked cases
Use cases
- Generate Playwright tests from existing TestRail test cases to bootstrap automation
- Report test execution results from CI/CD pipelines back to TestRail for centralized tracking
- Identify unlinked test cases and automation gaps between TestRail and Playwright
- Maintain test case documentation in sync when updating Playwright test logic
- Create test runs in TestRail and populate them with results from automated test execution
- QA engineers managing test cases in TestRail and automating with Playwright
- Test automation leads coordinating between manual test plans and automated test suites
- DevOps/CI teams pushing test results to centralized test management systems
testrail FAQ
Each Playwright test includes a TestRail annotation with the case ID (e.g., C12345). This annotation is the bridge between the two systems and is used to map results and updates.
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 Playwright test code and push them back to TestRail.
The skill will inform you how to configure TESTRAIL_URL, TESTRAIL_USER, and TESTRAIL_API_KEY and stop execution until they are set.
Run `/pw:testrail status --project <id>` to see how many TestRail cases have corresponding Playwright tests and which cases are unlinked.
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.
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-find-skills
Search and discover Alibaba Cloud agent skills from the AgentExplorer catalog.
stock-analysis
Generate a comprehensive sentiment analysis report for a single stock. Use when users want deep analysis of a specific ticker like NVDA, TSLA, or AAPL.