Use for any task in any domain — code in any language, architecture with no code at all, algorithms, schemas, APIs, configs, pipelines, infra, docs, and team processes — whenever tempted to add any new entity (wrapper, helper, interface, abstraction, dependency, service, job, cache, flag, guard, checklist, doc, or process step); on any simplify/refactor pass or over-engineering / premature-abstraction / YAGNI concern; and after any solution works, before calling it done.