What problem does it solve? Data-layer defects in reactive Spring backends — blocking JDBC calls on the event loop, network calls inside transaction boundaries, unsafe migrations, and missing indexes — often pass code review and tests but cause production incidents. This Skill statically audits R2DBC and MyBatis data-layer code against 14 rule categories and reports verified findings before merge. ## Core Features & Use Cases - Reactive-blocking detection: Flags MyBatis mapper calls not wrapped in Schedulers.boundedElastic(), .block() calls in production code, and never-subscribed reactive chains. - Transaction and schema review: Detects network calls inside TransactionalOperator boundaries, missing NOT NULL/UNIQUE constraints, and monetary values stored as FLOAT/DOUBLE. - Migration safety checks: Validates sequential versioning, backward compatibility, multi-step NOT NULL additions, and tracking of applied manual SQL migrations. - Use Case: Before merging a pull request that adds a new booking repository and migration, run the audit on the changed directory to catch a vendor HTTP call accidentally placed inside the transactional boundary. ## Quick Start Run the be-data audit on the data layer directory of my Spring WebFlux project after initializing the plugin configuration with be-init.