Goncalo Cruz has a plan to run SQL Agent jobs on the primary node in an availability group:
In SQL Availability Groups the SQL jobs have to be created in all replicas and you need to add logic at the beginning of each relevant job to make it execute on the primary database. (this only applies when the local replica is the primary for the database)
If you do not add the logic they will execute with success in the primary replica but they will fail in the secondary replica.
Read on for a process which keeps jobs from running except on the primary.