How many experts are needed to setup a robotic cell? Three. One for programming the robot and the sensors, one constructor of grippers and fixtures and one application expert for specifying the requirements on the product. To reduce the time and effort, the programming must be faster and simpler, ideally, the robot programming tools should make it possible for non-roboticists to instruct the robot while also simplify for the expert robot programmer. We developed a prototype for rapid programming and development of reusable robot programs for ABB robots, especially the dual-arm ABB YuMi. The tool uses a multi-modal approach where the operator instructs the robot using lead-through, a graphical user interface and optionally speech. The users built the reusable robot skills bottom-up by combining simple manipulation primitives for motions, localization, contact, synchronization and gripper actions and high-level parameters such as objects as parameters. When a skill is reused, the requirements will be checked automatically and the executable code is generated automatically for debugging and execution. In user studies, the programming times for experts were reduced by 80% and non-experts were able to rapidly learn the tool and successfully program the robot.