você pode fazer isso com o Google Agenda definindo um evento de repetição e restringir por dias e número de ocorrências:
use configurações como essa para a repetição:
Eelepularáfinaisdesemana(desdequevocênãoosselecionoupararepetir)vocêpodeverpelasdatasemnegritoquepulouofimdesemana
Quanto a pular feriados, você terá que escolhê-los manualmente quando definir os dias "repetir em:".