skills/quality-assurance/SKILL.md
Comprehensive code quality assurance covering code review, testing strategies, and security auditing. Identifies bugs, vulnerabilities, performance issues, and maintainability problems. Use when user asks to review code, audit security, write tests, or improve code quality. Follows OWASP and industry best practices.
npx skillsauth add jochenyang/jochen-ai-rules quality-assuranceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive quality assurance covering code review, testing, and security auditing. Ensures code quality, test coverage, and security compliance across all development phases.
| Language | Unit Testing | E2E Testing | Mocking | |------------|---------------------|----------------------|------------------| | JavaScript | Jest, Vitest, Mocha | Playwright, Cypress | Sinon, Jest | | TypeScript | Jest, Vitest | Playwright, Cypress | Jest, ts-mockito | | Python | pytest, unittest | Selenium, Playwright | unittest.mock | | Java | JUnit, TestNG | Selenium | Mockito | | Go | testing, testify | Selenium | gomock |
// Good: Test one thing, clear naming, arrange-act-assert
describe('UserService', () => {
it('should create user with valid email', async () => {
// Arrange
const userData = { email: '[email protected]', name: 'Test' };
// Act
const user = await userService.create(userData);
// Assert
expect(user.email).toBe(userData.email);
expect(user.id).toBeDefined();
});
it('should throw error for invalid email', async () => {
// Arrange
const userData = { email: 'invalid', name: 'Test' };
// Act & Assert
await expect(userService.create(userData))
.rejects.toThrow('Invalid email format');
});
});
// Good: Test user flows, use page objects, handle async properly
test('user can complete checkout flow', async ({ page }) => {
// Navigate and login
await page.goto('/products');
await page.click('[data-testid="add-to-cart"]');
// Verify cart
await expect(page.locator('[data-testid="cart-count"]')).toHaveText('1');
// Complete checkout
await page.click('[data-testid="checkout"]');
await page.fill('[name="email"]', '[email protected]');
await page.click('[data-testid="submit-order"]');
// Verify success
await expect(page.locator('[data-testid="order-confirmation"]'))
.toBeVisible();
});
Focus on code quality, testing, and security. Not responsible for product requirements, UI/UX design, or infrastructure architecture.
developerapi-designerfrontend-designdatabase-engineerdev-plannerdevops-engineerAlways run --help first to see usage.
scripts/run-tests.sh - Run all tests with coverage reportscripts/security-scan.sh - Run security vulnerability scanscripts/lint-code.sh - Run linters and static analysisscripts/coverage-report.sh - Generate detailed coverage report./workflows/code-review.md - Code review process and checklist./workflows/testing-strategy.md - Test design and implementation guide./workflows/security-audit.md - Security audit methodology./references/owasp-top-10.md - OWASP Top 10 vulnerabilities guide./references/testing-patterns.md - Common testing patterns and anti-patternsPause and ask the owner before:
Every use of this skill should end with:
Skill Fit - why QA or review work is neededPrimary Deliverable - findings report, test plan, or audit resultExecution Evidence - files reviewed, checks run, and standards appliedRisks / Open Questions - unresolved findings, coverage gaps, or environment blockersNext Action - the next fix, re-check, or release decisiondatabases
Review current conversation, analyze tasks, errors, and user feedback, extract learning opportunities for skill improvement. Use when user says "reflect", "review session", "what did we learn", "session summary", or after completing a complex task.
development
Create and resume structured manual session handoffs for long-running development work. Use when approaching context limits, before manual reset, before switching models or IDEs, after a milestone, or when automatic compact would lose important implementation state.
development
Implement distinctive, production-grade frontend UI code with strong visual direction, motion systems, local media asset generation, conversion-aware copy, and polished frontend execution. Use when building landing pages, marketing sites, product pages, dashboards, motion-heavy interfaces, or frontend experiences that need real assets and compelling copy.
development
Project context engine for repo orientation, cached handoff, and task-focused code retrieval.