You could create a daily agent job with a separate step for each (monthly/weekly/daily) task then add a step to the front of each of those steps to test if the day matches the requirement of the next step. If it does not then raise an error and get the job to skip to the next validation step by setting the next step in the "On failure action".