Robot skills can be taught and recognized by a Programming-by-Demonstration technique where first a human operator demonstrates a set of reference skills. The operator's motions are then recorded by a data-capturing system and modeled via fuzzy clustering and a Takagi-Sugeno modeling technique. The resulting skill models use the time as input and the operator's actions as outputs. During the recognition phase, the robot recognizes which skill has been used by the operator in a novel demonstration. This is done by comparison between the time clusters of the test skill and those of the reference skills. Finally, the robot executes the recognized skill by using the corresponding reference skill model. Drastic differences between learned and real world conditions which occur during the execution of skills by the robot are eliminated by using the Broyden update formula for Jacobians. This method was extended for fuzzy models especially for time cluster models. After the online training of a skill model the updated model is used for further executions of the same skill by the robot.