Building off the accepted answer from @Joris C., @Nakx asked me to make this an answer. I wanted to use it in a dplyr chain, and did so by slightly modifying:
%>% add_column(!!!cols[!names(cols) %in% names(.)])