What problem does it solve? Writing handler tests for Connect-RPC services often drifts into shallow unit tests that bypass interceptors, or into duplicated lower-layer checks. This Skill defines how to test a Go handler as a public API: boot the production-identical composition on httptest.NewServer, call it with the generated client, and verify connect.Code translation, public error messages, authorization, persistence effects, and response content. ## Core Features & Use Cases - API-level test structure: Boots the same NewMux(Deps) composition function used by run, swapping only the auth interceptor, with a real PostgreSQL via dockertest and a fixed Clock. - Case selection rules: Enumerates success, each reachable sentinel-to-Code translation, missing caller, wrong owner, and invalid input per RPC, while excluding domain boundary values, SQL concerns, and usecase coverage that belong to other layers. - Table-driven shape: Defines seed/caller/req to wantCode/wantMessage/wantResp/want{Table} fields with projection structs, sentinel .Error() references, and a branch-free loop body. - Use Case: Given a reservation service with a ConfirmReservation RPC, produce a table-driven test that verifies FailedPrecondition for expired holds, PermissionDenied for non-owners, NotFound for missing reservations, and the persisted status/version change on success. ## Quick Start Write the API test for this RPC following the test-handler convention, booting the real server composition and verifying each public result.