Read before writing, modifying or reviewing any C++ code — redundancy (the rule we care most about), modules and files, errors and defense, async, logging, naming, words, templates, API preferences.
Read before upgrading xclang/LLVM (arg = the xclang version, e.g. 23.1.2.1), touching MODULE.bazel, .bazelrc, BUILD.bazel or bazel/, or regenerating modules/ — after a library bump, or when clice needs a header or macro it does not export.
Read before writing or modifying anything under tests/ or unittests/, or the tools' own tests — the case workflow, unit tests, hard rules and known pitfalls.
Read before reading a nightly ecosystem round (a red job, a slower perf measure, a number that moved) — the round script, where the logs are, telling a regression from an old bug a new sample exposed, and the A/B pitfalls before calling a perf change real.
Read before any release work — instant builds, nightlies, stable tags, publishing, release workflows — or symbolizing a user's crash log.
Build clice, on a box unless a local build is truly necessary. Optional args = build type (Debug | RelWithDebInfo, default RelWithDebInfo) and the caller's box id. Runs in a forked context; only the outcome returns.
Read before editing anything under docs/, and for the end-of-branch docs sync — generated feature and config pages, the en↔zh translation checker, the pixi commands driving them.
Read before running the codex CLI (GPT-6 astra) — the additional reviewer of the pr skill's self-review, plan attacks, debugging, scoped implementation. Only when codex is logged in and has quota.