testing-and-validation

Guides selection of tests and validation checks for code changes.

Updated Apr 20, 2026
One-click install
npx skills add https://github.com/astroville/sprout --skill testing-and-validation-astroville
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: testing-and-validation
Source: https://github.com/astroville/sprout/tree/main/.claude/skills/testing-and-validation
Command: npx skills add https://github.com/astroville/sprout --skill testing-and-validation-astroville

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineers often struggle to decide which tests and validation checks are worth running for a given change, leading to either over-testing with slow, brittle suites or under-testing that ships unverified behavior. This Skill provides consistent guidance for choosing the right validation, tying it to the behavior being changed, and reporting residual risk honestly. ## Core Features & Use Cases - Validation Selection: Recommends the most relevant checks for a change, preferring focused, high-signal tests over broad, expensive rituals. - Test Design Guidance: Advises when to use unit tests for isolated logic, integration tests for boundaries, and end-to-end checks for user-critical flows. - Risk Reporting: Distinguishes verified behavior from assumed behavior and clearly states what remains uncertain when full validation is not possible. - Use Case: After modifying a database seeding engine's checksum logic, use this Skill to decide which unit and integration tests to add, which existing tests to update, and how to communicate any unverified edge cases to reviewers. ## Quick Start Ask the assistant to review your recent code change and recommend which tests and validation checks to run before merging.

Frequently Asked Questions about testing-and-validation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose which tests to write for a code change?▼

Tie validation directly to the behavior being changed. Use unit tests for isolated logic, integration tests for component boundaries, and end-to-end checks only for user-critical flows, preferring focused high-signal tests over broad rituals.

What is the difference between unit, integration, and end-to-end tests?▼

Unit tests verify isolated logic in a single component, integration tests verify behavior across component boundaries such as databases or APIs, and end-to-end tests verify complete user-critical flows through the system.

When should I add automated tests for a change?▼

Add or update automated tests whenever the change materially affects behavior. Changes that alter observable outputs, edge-case handling, or failure paths warrant new or updated tests tied to that specific behavior.

What should I do when full validation is not possible?▼

Run the most relevant validation available, then clearly report what was checked and what remains uncertain. Distinguish verified behavior from assumed behavior so reviewers understand the residual risk.

Why do test suites become brittle and unreliable?▼

Brittleness comes from tests coupled to implementation details, missing fixtures, poor observability, and unverified failure paths. Prefer tests tied to behavior rather than internals, and watch for these warning signs during review.