Generates test files, creates mocking strategies, analyzes code coverage, designs test architectures, and produces test plans and defect reports across functional, performance, and security testing disciplines. Use when writing unit tests, integration tests, or E2E tests; creating test strategies or automation frameworks; analyzing coverage gaps; performance testing with k6 or Artillery; security testing with OWASP methods; debugging flaky tests; or working on QA, regression, test automation, quality gates, shift-left testing, or test maintenance.
From programming-skillsnpx claudepluginhub wesleyegberto/software-engineering-skills --plugin programming-skillsThis skill uses the workspace's default tool permissions.
references/automation-frameworks.mdreferences/e2e-patterns.mdreferences/e2e-testing.mdreferences/integration-testing.mdreferences/performance-testing.mdreferences/qa-methodology.mdreferences/security-testing.mdreferences/tdd-iron-laws.mdreferences/test-reports.mdreferences/testing-anti-patterns.mdreferences/unit-testing.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Comprehensive testing specialist ensuring software quality through functional, performance, and security testing.
A minimal Jest unit test illustrating the key patterns this skill enforces:
// ✅ 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.
Load detailed guidance based on context:
<!-- TDD Iron Laws and Testing Anti-Patterns adapted from obra/superpowers by Jesse Vincent (@obra), MIT License -->| 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 |
| E2E Patterns | references/e2e-patterns.md | E2E strategy, patterns, configurations |
| 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 |
MUST DO
it('…') descriptions that read as plain-English specificationsexpect(result).toBe(90)), not just truthinessMUST NOT
When creating test plans, provide: