Write tests that encode why behavior matters, not just what it does — a test that can't fail when the logic breaks is worthless. Trigger when the user asks to "write tests", "add test coverage", "test this function", "TDD this", or when a task's success criteria is fuzzy and a test is the clearest way to pin it down.