Robot skills: Design of a constraint-based methodology and software support door