What problem does it solve? Hardhat 3 introduces a new test architecture with two distinct test layers, a new network connection API, and ESM-only constraints. This Skill helps you choose the right test layer, use forge-std cheatcodes correctly, and avoid common mistakes with network.create(), networkHelpers, and the compile-then-typecheck workflow. ## Core Features & Use Cases - Test layer selection: Decide between Solidity tests (.t.sol, in-EVM, cheatcode access) and TypeScript tests (off-chain orchestration, multi-contract flows) based on what you are testing. - Cheatcode and networkHelpers reference: Covers vm.prank, vm.deal, vm.warp, vm.expectRevert, plus typed helpers like time.increase, mine, impersonateAccount, loadFixture, and snapshots. - Compile-then-typecheck workflow: Ensures generated contract types stay in sync by running npx hardhat build && npx tsc --noEmit before tests. - Use Case: You are adding tests to a Hardhat 3 project using the viem toolbox. The Skill tells you to write Solidity unit tests with forge-std assertions, use network.create() for an isolated TypeScript integration test, and pair it with the hardhat-toolbox-viem skill for client-specific calls. ## Quick Start Ask the AI to write Hardhat 3 tests for your contract, choosing Solidity or TypeScript tests appropriately and using networkHelpers for fixtures and time manipulation.