reflection-contract-tests
Use reflection-based tests to lock an API contract before the implementation lands.
Best use case
reflection-contract-tests is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use reflection-based tests to lock an API contract before the implementation lands.
Teams using reflection-contract-tests should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/reflection-contract-tests/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How reflection-contract-tests Compares
| Feature / Agent | reflection-contract-tests | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use reflection-based tests to lock an API contract before the implementation lands.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## Context Use this when a team wants tests merged ahead of an additive implementation. The goal is to keep the test project compiling while still failing loudly if required public types or members are missing. ## Patterns - Load the target assembly from an existing known type instead of referencing the new contract directly. - Assert on public type names, namespace, shape, factory methods, operators, and property values through reflection. - Fail with explicit messages that name the missing type or member so the implementer gets a clean failure story. ## Examples - `src/MoreSpeakers.Domain.Tests\ResultFoundationTests.cs` validates the future `MoreSpeakers.Domain.Result`, `MoreSpeakers.Domain.Result<T>`, and `MoreSpeakers.Domain.Error` contract before those types exist. ## Anti-Patterns - Do not use reflection when the implementation already exists and compile-time assertions are simpler. - Do not make reflection tests so vague that multiple incompatible APIs would pass.
Related Skills
{skill-name}
{what this skill teaches agents}
xunit-v3-discovery
Fix xUnit v3 test projects that compile but show zero discovered tests under dotnet test.
result-web-feedback
Apply Result<T>-based feedback patterns in Razor Pages and HTMX flows.
result-foundation
Add or extend MoreSpeakers Domain Result types with explicit factory methods and structured errors.
windows-compatibility
Cross-platform path handling and command patterns
test-discipline
Update tests when changing APIs — no exceptions
squad-conventions
Core conventions and patterns used in the Squad codebase
session-recovery
Find and resume interrupted Copilot CLI sessions using session_store queries
secret-handling
Never read .env files or write secrets to .squad/ committed files
release-process
Step-by-step release checklist for Squad — prevents v0.8.22-style disasters
project-conventions
Core conventions and patterns for this codebase
Personal Squad — Skill Document
## What is a Personal Squad?