This paper proposes a new strategy for making a knot with a general-purpose arm. The strategy is divided into four stages: First, a human-performed knotting action is analyzed to acquire some motion primitives. Second, based on these databases, the robot is taught to tie a knot. Third, key points on the stored trajectories are extracted. These key points are considered in a general case, and then used to implement the manipulation skills. Finally, knotting task is generated by synthesis of the manipulation skills. An overhand knot was made by the actual robot for the validity of the proposed method. This paper also describes a system for manipulating deformable objects (e.g. knotting a rope).