Start here. This is the direct spoken answer to practice first.
Overview
Distinguishes unavailable conditions, known defects, and unstable tests while keeping lost coverage visible.
I skip when the test cannot meaningfully run in the current environment, such as a missing optional dependency or unsupported platform. I use xfail for a known behavior defect with a tracked reason, ideally in strict mode so an unexpected pass is visible. A flaky test is different: quarantine may protect delivery temporarily, but it needs an owner, issue, expiry, and visible lost coverage. None of these labels is a repair.