test-authoring

Guide test level selection and define happy, edge, and failure cases.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/IAG-Patterns/DEMO_COPILOT_SKILLS --skill test-authoring
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-authoring
Source: https://github.com/IAG-Patterns/DEMO_COPILOT_SKILLS/tree/main/.github/skills/test-authoring
Command: npx skills add https://github.com/IAG-Patterns/DEMO_COPILOT_SKILLS --skill test-authoring

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps teams lock in testing behavior by authoring robust test plans, preventing flaky test results and brittle releases.

Core Features & Use Cases

  • Test Level Guidance: Selects the appropriate test level for changes (Unit for logic, Integration for module boundaries, E2E for critical flows).
  • Contract Encoding: Defines happy path + at least one edge case + one failure case to stabilize behavior.
  • Deterministic Assertions: Encourages stable, implementation-agnostic checks and CI-friendly outcomes.

Quick Start

Use this skill to craft a reliable test strategy for a new feature, such as adding unit tests that validate input normalization.

Frequently Asked Questions about test-authoring

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

FAQPage Schema
How do I stop my unit and integration tests from being flaky and brittle?

To stop flaky tests, you must author stable test plans by selecting the appropriate test level and using deterministic, implementation-agnostic assertions that avoid brittleness. This approach ensures reliable outcomes across unit, integration, and end-to-end scopes.

What is the minimum contract required for stable test coverage?

The minimum contract for stable test coverage requires defining a happy path, at least one edge case, and one failure case. This contract encoding stabilizes behavior and locks in testing outcomes during feature addition or refactoring.

How do I choose between unit, integration, and e2e testing for new features?

Choose unit tests for logic, integration tests for module boundaries, and e2e tests for critical flows. Selecting the appropriate test level for changes ensures reliable test coverage without unnecessary complexity or brittle execution.

When should I use deterministic assertions in my test suite?

Use deterministic assertions in your test suite whenever you need CI-friendly outcomes and stable test design. They prevent flaky results by ensuring checks remain implementation-agnostic and reliable across multiple test executions.

Does this test level guidance work for refactoring existing code?

Yes, this test level guidance works for refactoring by applying comprehensive edge and failure case coverage. It ensures reliable test coverage across scopes, preventing brittle releases when modifying existing module boundaries or logic.