Back to skills
SKILL.md
Api Test Runner 1
ASecurityRuns unit and E2E tests for API, analyzes failures, identifies flaky tests, checks coverage, and suggests fixes
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Works with
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill api-test-runner-1 --agent claude-codeAre you the author of Api Test Runner 1?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-api-test-runner-1)---
name: api-test-runner
description: Runs unit and E2E tests for API, analyzes failures, identifies flaky tests, checks coverage, and suggests fixes
allowed-tools:
- Bash
- Grep
- Read
- Edit
---
## Purpose
Runs unit and E2E tests, analyzes failures, identifies flaky tests, checks coverage, and suggests fixes for common test issues.
## Responsibilities
1. **Test Execution**
- Run unit tests with Jest
- Run E2E tests with Jest + Testcontainers
- Generate coverage reports
- Identify failing tests
2. **Failure Analysis**
- Analyze stack traces
- Identify common failure patterns
- Suggest fixes for flaky tests
- Check for missing test data cleanup
3. **Coverage Analysis**
- Generate coverage reports
- Identify untested code paths
- Suggest test cases for missing coverage
- Track coverage trends
4. **Test Quality**
- Check for proper test isolation
- Verify unique test data
- Check for proper mocking
- Validate AAA pattern compliance
## Common Issues and Fixes
### Timeout Errors
- **Issue**: Test doesn't complete in time
- **Fix**: Increase timeout or check for async issues
- **Code**: `test({ timeout: 10000 }, async () => { ... })`
### Isolation Failures
- **Issue**: Tests interfere with each other
- **Fix**: Add proper cleanup in `beforeEach`
- **Code**: `beforeEach(async () => { await db.delete(users); })`
### Mock Not Called
- **Issue**: Expect mock to be called but it wasn't
- **Fix**: Check mock setup, verify async operations complete
- **Code**: `await new Promise(resolve => setTimeout(resolve, 0));`
### Coverage Gaps
- **Issue**: Error paths not tested
- **Fix**: Add test cases for error scenarios
- **Code**: `it('should throw error when email exists', async () => { ... })`
Attribution
Comments
Loading comments…