In this research, we study the multi-skill workforce scheduling and routing problem that exists in all service operations that provide services in customer premises. The problem originates from a real-life operational problem, faced by the electricity distribution companies on a daily basis, requiring efficient assignment of field service personnel to tasks. The problem aims to assign the tasks at different geographical locations with different priorities and skill level requirements to teams of technicians who have different skills. In this research, a mathematical model that forms the teams of personnel, assigns the tasks to the teams according to their skill requirements, and determines the daily routing schedule of the teams is developed. The model has two prioritized objectives. At the first priority level, the objective is to minimize the makespan of the tasks subject to the condition that each task is completed before any other task of lower priority. At the second priority level, the objective is to minimize total daily operational costs, including travel costs, overtime costs, and penalty costs of late tasks. A multi-phased heuristic is proposed for large-scale realistic problems. In the first phase of the heuristic, the teams are formed through a team building procedure. In the second phase, a greedy-based approach is applied to assign tasks to the teams in accordance with their skills and to identify the daily routes of teams. In the third phase, the solution is improved though local search techniques. The effectiveness of the heuristic is assessed using realistic problem instances.