A computer-implemented method (600, 700, 800) for enabling user-robot collaboration, comprising: obtaining, by a collaborative framework for communicating and interacting with at least one robot, a composition of a robot capability and one or more user interaction capabilities, wherein the robot capability models at least one functionality of a robot (340, 380) for performing a type of task action based on a set of one or more parameters, and the one or more user interaction capabilities provide one or more interface modalities to a user by either requiring input commands or displaying feedback, wherein the composition is a serial composition or a parallel composition, wherein the serial composition represents connecting outputs of one capability into the inputs of another capability, and the parallel composition represents the union of two capabilities; specializing (616, 714, 716) the robot capability with an information kernel in dependence on a user demonstration that specifies one or more motion trajectories, wherein the information kernel encapsulates the set of one or more parameters, and wherein the one or more motion trajectories have been acquired through an immersive virtual reality environment in which a user can interact with an avatar of the robot to specify motion trajectories; providing (712, 714, 716) a robot capability element based on the robot capability, wherein the robot capability element is an instance of the robot capability; providing one or more interaction capability elements based on the one or more user interaction capabilities, wherein the one or more interaction capability elements are instances of the one or more user interaction capabilities; connecting (618, 800) the robot capability element to the one or more interaction capability elements; acquiring, by one or more user interfaces, UIs, (310, 370, 500) that are dependent on the one or more interaction capability elements, user input (510, 520, 530, 540) associated with the set of one or more parameters; and controlling, based on the user input and the information kernel, the at least one functionality of the robot via the robot capability element to perform a task action of the type of task action. obtaining, by a collaborative framework for communicating and interacting with at least one robot, a composition of a robot capability and one or more user interaction capabilities, wherein the robot capability models at least one functionality of a robot (340, 380) for performing a type of task action based on a set of one or more parameters, and the one or more user interaction capabilities provide one or more interface modalities to a user by either requiring input commands or displaying feedback, wherein the composition is a serial composition or a parallel composition, wherein the serial composition represents connecting outputs of one capability into the inputs of another capability, and the parallel composition represents the union of two capabilities; specializing (616, 714, 716) the robot capability with an information kernel in dependence on a user demonstration that specifies one or more motion trajectories, wherein the information kernel encapsulates the set of one or more parameters, and wherein the one or more motion trajectories have been acquired through an immersive virtual reality environment in which a user can interact with an avatar of the robot to specify motion trajectories; providing (712, 714, 716) a robot capability element based on the robot capability, wherein the robot capability element is an instance of the robot capability; providing one or more interaction capability elements based on the one or more user interaction capabilities, wherein the one or more interaction capability elements are instances of the one or more user interaction capabilities; connecting (618, 800) the robot capability element to the one or more interaction capability elements; acquiring, by one or more user interfaces, UIs, (310, 370, 500) that are dependent on the one or more interaction capability elements, user input (510, 520, 530, 540) associated with the set of one or more parameters; and controlling, based on the user input and the information kernel, the at least one functionality of the robot via the robot capability element to perform a task action of the type of task action.