Two years ago, I wrote a post about using checklist templates in Omnifocus. It’s one of the most popular posts I’ve written on the site, but, honestly, I never really felt like having a folder of stalled projects that I could duplicate was all that great of a solution. Not only did they add visual clutter to an already complex system, but some of my more complex ones required fiddly applescripts.
Thankfully that’s all changed. With version 2.7, Omnifocus is finally bringing the TaskPaper support it first introduced on iOS to the Mac, and it’s allowed me to drastically improve my templates.
The folder of stalled projects has been replaced in favor of a new set up that uses Keyboard Maestro. Seriously, I can’t say it enough. Every day I find a new use for this app. If you haven’t bought it yet, go do it!
I’ve set up a hotkey to display a macro palette that displays a list of my templates while in Omnifocus. You could just as easily trigger this with a snippet. I just think the palette looks nice, and makes it look like I spent a lot more time making my templates than I actually did.
The beauty of TaskPaper support is that you can just copy and paste tasks in Omnifocus preserving all of the meta data like contexts and due dates, so the simplest of my templates (e.g. my packing list) do just that. They paste the TaskPaper template using an “Insert Text by Pasting” action. All I had to do was select the template project I had in Omnifocus, copy it, and paste it into the Keyboard Maestro action. Essentially these are just text snippets, so you could just as easily do this with a TextExpander snippet.
For the templates with fill-in variables, I just added an additional action to prompt for input and updated the template to include the variable tokens. Again, this is something you could also easily do with an app like TextExpander, which also supports fill-ins.
Of course, Keyboard Maestro’s incredible power actually inspired me to take a few of my templates a step further than just variables, and this is where I think it’d get a bit more complicated if you were trying to use TextExpander. Some of my project templates have action groups that are conditional (e.g. if x, also do y). My previous templates just included all the groups and I deleted them if I didn’t need them. With Keyboard Maestro, If, Then rules automatically add or remove the groups based on other variables of the template.