What problem does it solve? Go projects often end up with inconsistent error handling: ad-hoc error types, lost error chains, and scattered HTTP/RPC status mapping. This Skill enforces one uniform shape for errors across all layers of a Go DDD application, so every rejection reason in the domain document maps 1:1 to a sentinel error and every translation to connect.Code lives in exactly one table. ## Core Features & Use Cases - Sentinel Derivation: Converts each "rejection reason" in a domain-model document into an errors.New sentinel with Japanese wording and a trailing comment pointing to the source document. - Wrapping and Inspection Rules: Standardizes fmt.Errorf("<operation> <business ID>: %w") once per package boundary, errors.Is for checks, and errors.AsType only at persistence/interceptor boundaries. - Two-Stage Translation: Maps PostgreSQL constraint violations (*pgconn.PgError, pgx.ErrNoRows) to sentinels in the repository layer, then maps sentinels to connect.Code in a single codeTable in the outermost interceptor. - Use Case: Given a reservation domain document listing rejection reasons like "hold deadline passed" or "not the owner", generate errors.go sentinels, wrap errors at each layer boundary, and register each sentinel in the connect.Code table. ## Quick Start Define the errors for this aggregate from the rejection reasons in the attached domain-model document and translate them to connect.Code at the boundary.