ia-writing-tests

Enforces disciplined assertions, coverage, and anti-pattern avoidance in software tests.

30|3|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/iliaal/whetstone --skill ia-writing-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ia-writing-tests
Source: https://github.com/iliaal/whetstone/tree/main/plugins/whetstone/skills/ia-writing-tests
Command: npx skills add https://github.com/iliaal/whetstone --skill ia-writing-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It prevents AI-generated or poorly written tests from being theater—tests that pass without proving real behavior, miss edge cases, or fail to expose silent failures and broken outcomes.

Core Features & Use Cases

  • One behavior per test with clear, outcome-based naming to keep intent auditable.
  • Coverage built from three sources (requirements, implemented behavior, and stated claims) to eliminate coverage gaps.
  • Anti-pattern and failure-mode detection including mock-overuse, snapshot-only testing, circular assertions, and silent failure coverage.

Quick Start

Ask your agent to write or improve tests for the specific failing feature by deriving cases from the requirements, the diff, and your response claims, then ensuring each test asserts observable outcomes (including error and silent-failure paths).

Frequently Asked Questions about ia-writing-tests

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

FAQPage Schema
How do I write tests that actually verify software behavior instead of just passing?

To write tests that verify software behavior, enforce one-behavior-per-test structures with outcome-based assertions and derive test cases from user requirements, implemented features, and stated claims.

What is a silent failure in test writing and how do I cover it?

A silent failure in test writing occurs when errors are swallowed without breaking the test. You cover it by enforcing explicit assertions on error paths and observable outcomes during test generation.

How do I avoid test anti-patterns like mock-overuse and snapshot-only testing?

Avoid test anti-patterns like mock-overuse and snapshot-only testing by applying mocking discipline and ensuring each test asserts observable outcomes rather than relying on circular assertions or snapshots.

How do I derive test cases from requirements and implemented features?

Derive test cases from requirements and implemented features by cross-referencing user requirements, software diffs, and response claims, ensuring explicit coverage for both edge cases and silent failures.

Can I use these test writing rules across any programming language or framework?

Yes, you can apply these test writing rules across any language or framework, because the discipline focuses on outcome-based assertions and anti-pattern avoidance rather than framework-specific implementations.

Why do my tests pass but still miss edge cases and broken outcomes?

Tests pass but miss edge cases and broken outcomes when they lack coverage built from requirements, implemented behavior, and stated claims, creating test theater instead of real behavior verification.