What problem does it solve? Writing tests for Go domain aggregates, entities, and value objects often drifts away from the specification: cases get invented, BDD scenarios get lost, and coverage against the domain-model document is unverifiable. This Skill derives every test case directly from the document's BDD mapping table so each scenario lands in exactly one test function and every document ID is accounted for. ## Core Features & Use Cases - Document-driven test allocation: Maps each BDD scenario to a test function via the document's element x operation table (generation functions, state-type methods, narrowing functions, value object operations). - Deterministic table shape: Given fields mirror Restore*/New* argument names, Then fields use wantNext/wantEvent/wantErr/wantOK, with sentinel errors and testify require/assert conventions. - Machine-checked coverage: Ships scripts/check-bdd-coverage.py to verify every BDD ID appears either in a test case id or in a reasoned trailing omission comment. - Use Case: Given a domain-model document for a room reservation aggregate, generate reservation_test.go where BDD-001 through BDD-024 are each assigned to TestHold, TestTentative_Confirm, TestAsTentative, or explicitly listed as untested with reasons. ## Quick Start Write the tests for this aggregate from the BDD mapping table in this domain-model document.