Simply to do what you want. Make sure each event is in it's own calendar. You know under Google make a calendar called class schedule and then make sure each event is listed under that. This will make it so Tasker only reads events from your classes and not anything else, unless it's in that specific calendar.
Under Tasker profile>state>app>calendar entry. Set the calendar to class schedule or whatever it's named (TO DO THIS MAKE SURE IT IS SYNCED TO YOUR PHONE FIRST. I made mine under my school account so I had to add the school account to my phone before this read, if you did so you will have to do the same).
Now your done. Make the task run silent mode and the exit run vibrate or just leave it out and it will automatically turn it to whatever it last was.
My setup will do a morning pull and get the next 5 classes off of my Google calendar using HTTP get and then set each one to a variable. As my class ends I make it so it changes the notification to show me my next class and the one after that (next 2 classes). But you won't need this since all you want is silent mode
My setup will do a morning pull and get the next 5 classes off of my Google calendar using HTTP get and then set each one to a variable. As my class ends I make it so it changes the notification to show me my next class and the one after that (next 2 classes). But you won't need this since all you want is silent mode