unit-test

Generate deterministic typed tests for Rust and Python public APIs.

5|Updated Mar 8, 2026
One-click install
npx skills add https://github.com/micahcourey/temporal-plane --skill unit-test-micahcourey
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unit-test
Source: https://github.com/micahcourey/temporal-plane/tree/main/.ai/skills/unit-test
Command: npx skills add https://github.com/micahcourey/temporal-plane --skill unit-test-micahcourey

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill removes uncertainty and manual effort from writing tests for Temporal Plane by providing concrete guidance to generate deterministic, typed, and high-coverage Rust crate tests and Python binding tests that validate public contracts and prevent regressions.

Core Features & Use Cases

  • Test style guidance for choosing between inline unit tests, integration tests, snapshot tests, and pytest for bindings.
  • Deterministic fixtures and validation to ensure repeatable outcomes, fixed timestamps, stable ordering, and typed assertions.
  • Cross-crate and wrapper focus so core semantics remain in Rust while Python tests validate wrapper parity and CLI snapshots validate human-facing output.
  • Verification workflow that finishes with cargo test --workspace and the repository gate via ./scripts/check.sh, plus recommendations for placing reusable helpers in temporal-plane-test-support.

Quick Start

Generate Rust and Python tests that cover public APIs with deterministic fixtures, place unit tests near domain types and integration tests under tests/, and verify the change with cargo test --workspace and ./scripts/check.sh.

Frequently Asked Questions about unit-test

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

FAQPage Schema
How do I generate deterministic Rust unit tests and Python pytest scenarios for public APIs?

To generate deterministic Rust unit tests and Python pytest scenarios, use fixed timestamps, stable ordering, and typed assertions. Place unit tests near domain types and integration tests under tests/ to ensure repeatable validation of public API contracts.

What's the best way to structure Rust integration tests and CLI snapshot tests for high code coverage?

The best way to structure Rust integration tests and CLI snapshot tests is to place integration tests under a tests/ directory and use snapshot tests for human-facing CLI output. Keep core semantics in Rust and validate wrapper parity with Python pytest bindings.

When do I need pytest scenarios for Python bindings in a Rust crate?

You need pytest scenarios for Python bindings when verifying cross-crate wrapper parity. These tests ensure the Python wrappers accurately reflect the core Rust semantics and public API contracts without duplicating internal logic.

How do I verify Rust workspace tests and Python bindings after generating new test fixtures?

Verify Rust workspace tests and Python bindings by running cargo test --workspace and executing the repository gate via ./scripts/check.sh. This ensures all generated unit tests, integration tests, and pytest scenarios pass with deterministic fixtures.

Where should I put reusable test helpers for Rust crate tests to maintain deterministic validation?

Place reusable test helpers for Rust crate tests in the temporal-plane-test-support crate. This centralizes deterministic fixtures and validation logic, ensuring repeatable outcomes and typed assertions across unit tests, integration tests, and CLI snapshot tests.

Does generating unit tests for Rust and Python require specific test layers for cross-crate verification?

Generating unit tests for Rust and Python requires appropriate test layers for cross-crate verification. Use inline unit tests for domain types, integration tests under tests/ for public APIs, and pytest scenarios for Python wrapper parity validation.