Robot skills are motion or grasping primitives from which a complicated robot task consists. Skills can be directly learned and recognized by a technique named Programming-by-Demonstration. A human operator demonstrates a set of reference skills where his motions are recorded by a data-capturing system and modeled via fuzzy clustering and a Takagi-Sugeno modeling technique. The skill models use the time instants as input and the actions of the operator as outputs. In the recognition phase, the robot identifies the skill that has been shown by the operator in a novel test demonstration. The recognition is done by comparing of the time clusters of the test skill and the reference skills. Finally, using the corresponding reference skill model the robot executes the recognized skill. Skill models can be updated on-line where drastic differences between learned and real world conditions during the execution of skills by the robot are eliminated using the Broyden update formula. This method was extended for fuzzy models especially for time cluster models. The updated model is used for further executions of the same skill by the robot.