SKILL.md
$2c
// ✅ Good: meaningful description, specific assertion, isolated dependency
describe('calculateDiscount', () => {
it('applies 10% discount for premium users', () => {
const result = calculateDiscount({ price: 100, userTier: 'premium' });
expect(result).toBe(90); // specific outcome, not just truthy
});
it('throws on negative price', () => {
expect(() => calculateDiscount({ price: -1, userTier: 'standard' }))
.toThrow('Price must be non-negative');
});
});
Apply the same structure for pytest (def test_…, assert result == expected) and other frameworks.
Reference Guide
Load detailed guidance based on context:
Topic
Reference
Load When
Unit Testing
references/unit-testing.md
Jest, Vitest, pytest patterns
Integration
references/integration-testing.md
API testing, Supertest
E2E
references/e2e-testing.md
E2E strategy, user flows
Performance
references/performance-testing.md
k6, load testing
Security
references/security-testing.md
Security test checklist
Reports
references/test-reports.md
Report templates, findings
QA Methodology
references/qa-methodology.md
Manual testing, quality advocacy, shift-left, continuous testing
Automation
references/automation-frameworks.md
Framework patterns, scaling, maintenance, team enablement
TDD Iron Laws
references/tdd-iron-laws.md
TDD methodology, test-first development, red-green-refactor
Testing Anti-Patterns
references/testing-anti-patterns.md
Test review, mock issues, test quality problems
Constraints
MUST DO
- Test happy paths AND error/edge cases (e.g., empty input, null, boundary values)
- Mock external dependencies — never call real APIs or databases in unit tests
- Use meaningful
it('…')descriptions that read as plain-English specifications
- Assert specific outcomes (
expect(result).toBe(90)), not just truthiness
- Run tests in CI/CD; document and remediate coverage gaps
MUST NOT
- Skip error-path testing (e.g., don't test only the success branch of a try/catch)
- Use production data in tests — use fixtures or factories instead
- Create order-dependent tests — each test must be independently runnable
- Ignore flaky tests — quarantine and fix them; don't just re-run until green
- Test implementation details (internal method calls) — test observable behaviour
Output Templates
When creating test plans, provide:
- Test scope and approach
- Test cases with expected outcomes
- Coverage analysis
- Findings with severity (Critical/High/Medium/Low)
- Specific fix recommendations