При загрузке Blizzard_TrainerUI переопределяем клики на кнопку "обучение" , после чего перебираем все доступные у тренера скилы , если скил зеленый (с флагом available) учим этот скил. Пара нажатий и все скилы выучены.
	PHP код:
	
local f = CreateFrame("frame")
local available = "available"
local OnClick = function(self, button)
    for i = 1, GetNumTrainerServices() do
        local serviceName, serviceSubText, serviceType, isExpanded = GetTrainerServiceInfo(i)
        if serviceType == available then
            BuyTrainerService(i)
        end
    end
end
f:SetScript("OnEvent", function(self, event, addon, ...)
    if addon~="Blizzard_TrainerUI" then return end
    _G["ClassTrainerTrainButton"]:SetScript("OnClick", OnClick)
    
end)
f:RegisterEvent("ADDON_LOADED")