During the last decades, the methods for intuitive task level programming of robots have become a fundamental point of interest for industrial application. The paper in hand presents SkiROS (Skill-based Robot Operating System) a novel software architecture based on the skills paradigm. The skill paradigm has already been used and tested within the FP7 project TAPAS, and we are going to use it in several new FP7 projects (CARLOS, STAMINA, ACAT). It facilitates task-level programming of mobile manipulators by providing the robot with a set of movement primitives, skills and tasks. This hierarchy brings many advantages, where the most relevant is the separation of control in the layers of hardware abstraction(proxy), multi-sensory control(primitive), object-level abstraction (skill) and planning (task). The definition and the clear division in different abstraction levels allows the implementation of a flexible, highly modular system for the development of cognitive robot tasks