New to Claude Skills? Learn how to install them →

jeffallan on GitHub

Test Master

Free

Streamline your software testing process with structured guidance.

Get this skill

Free · Opens the source repo

What Test Master does

Test Master is a comprehensive skill designed to enhance software quality through effective testing practices. It provides structured workflows for defining testing scopes, creating strategies, writing tests, executing them, and reporting findings. This skill is particularly useful for developers and QA engineers who need to ensure their applications meet functional, performance, and security standards. By following the outlined processes, users can systematically address various testing needs, from unit tests to end-to-end (E2E) tests, ensuring thorough coverage and quality assurance.

The core workflow of Test Master begins with defining the scope of testing, which helps in identifying the types of tests that are applicable. Users can then create a strategy that encompasses functional, performance, and security testing perspectives. The skill emphasizes the importance of writing tests with meaningful assertions and executing them in a manner that allows for easy identification of failures, whether they are due to assertion errors or environmental issues. This structured approach aids in debugging flaky tests and ensures that all tests are independently runnable, which is crucial for maintaining a robust testing environment.

In addition to guiding users through the testing process, Test Master also provides reference materials on various testing methodologies and anti-patterns. This includes detailed guidance on unit testing, integration testing, performance testing, and security testing, among others. By leveraging these resources, users can deepen their understanding of best practices and avoid common pitfalls in testing. Overall, Test Master is a valuable tool for anyone involved in software development and quality assurance, facilitating a more organized and effective testing process.

When to use it

Use Test Master when developing new features that require thorough testing, or when you need to establish a testing framework for existing codebases.

When not to use it

This skill may not be suitable for very small projects where testing requirements are minimal or for teams already using a highly customized testing workflow.

What you can build with it

Establishing a Testing Framework

When starting a new project, use Test Master to define testing scopes and create a comprehensive testing strategy.

Debugging Flaky Tests

If you encounter flaky tests, leverage Test Master's guidance to isolate issues and implement solutions for stability.

Creating Test Plans

Use Test Master to generate detailed test plans that include coverage analysis and actionable recommendations for improvement.

How to install Test Master

View source

1. Install with the skills CLI

npx skills add jeffallan/claude-skills/test-master --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by jeffallan

Test Master

Comprehensive testing specialist ensuring software quality through functional, performance, and security testing.

Core Workflow

  1. Define scope — Identify what to test and which testing types apply
  2. Create strategy — Plan the test approach across functional, performance, and security perspectives
  3. Write tests — Implement tests with proper assertions (see example below)
  4. Execute — Run tests and collect results
    • If tests fail: classify the failure (assertion error vs. environment/flakiness), fix root cause, re-run
    • If tests are flaky: isolate ordering dependencies, check async handling, add retry or stabilization logic
  5. Report — Document findings with severity ratings and actionable fix recommendations
    • Verify coverage targets are met before closing; flag gaps explicitly

Quick-Start Example

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.

Reference Guide

Load detailed guidance based on context:

<!-- TDD Iron Laws and Testing Anti-Patterns adapted from obra/superpowers by Jesse Vincent (@obra), MIT License -->
TopicReferenceLoad When
Unit Testingreferences/unit-testing.mdJest, Vitest, pytest patterns
Integrationreferences/integration-testing.mdAPI testing, Supertest
E2Ereferences/e2e-testing.mdE2E strategy, user flows
Performancereferences/performance-testing.mdk6, load testing
Securityreferences/security-testing.mdSecurity test checklist
Reportsreferences/test-reports.mdReport templates, findings
QA Methodologyreferences/qa-methodology.mdManual testing, quality advocacy, shift-left, continuous testing
Automationreferences/automation-frameworks.mdFramework patterns, scaling, maintenance, team enablement
TDD Iron Lawsreferences/tdd-iron-laws.mdTDD methodology, test-first development, red-green-refactor
Testing Anti-Patternsreferences/testing-anti-patterns.mdTest 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:

  1. Test scope and approach
  2. Test cases with expected outcomes
  3. Coverage analysis
  4. Findings with severity (Critical/High/Medium/Low)
  5. Specific fix recommendations

Documentation

Frequently asked questions about Test Master

Similar skills