We show how techniques from various research areas – most notably hierarchical planning, dialog management, and interaction management – can be employed to realize individualized and situation-adaptive user assistance. We introduce a modular system architecture that is composed of domain-independent components implementing techniques from the respective areas. Systems based on this architecture – so-called Companion-Systems – can provide intelligent assistance in a broad variety of tasks. They provide a user- and situation-adapted sequence of instructions that show how achieve the respective task. Additional explanations are, like the instructions themselves, automatically derived based on a declarative model of the current task. These syst...