What problem does it solve? Deciding whether a repository should move to Bazel is usually driven by hype or invented thresholds, and migrations often break the build or never reach CI. This Skill replaces guesswork with a measured go/no-go gate and an ordered migration procedure that keeps the tree green at every step. ## Core Features & Use Cases - Measured go/no-go gate: Five adoption signals, each with the exact command that produces it (CI wall-clock medians via gh, generator maturity via the Bazel Central Registry, submodule coupling, team ownership), recorded in a decision file with no invented thresholds. - Staged migration procedure: Eleven ordered steps covering pilot selection, .bazelversion pinning, the 8.x-versus-9.x call, MODULE.bazel and lockfile setup with a day-one freshness gate, rc-file layering, four-stage cache wiring, and CI lane taxonomy. - Per-language branches: Dedicated migration branches for Rust (crate_universe, crates_vendor, prost), Python (rules_python, pip.parse, pytest wrappers), TypeScript (rules_js/rules_ts, pnpm-only ingestion), and C++ (toolchain constraint tree), each with its first three rules to satisfy. - Use Case: A team with a polyglot monorepo and 45-minute CI runs asks whether Bazel is worth it. The Skill measures their actual CI wall-clock, checks generator maturity per language, produces a written go decision, then migrates a Rust pilot with a pinned toolchain and a committed lockfile before touching anything else. ## Quick Start Ask the assistant to evaluate whether your repository should adopt Bazel and produce a migration plan using the bazel-adopt skill.