View Single Post
I go with a Single Action List and repeating actions for staples, rather than trying to do a checklist like you described. Each action repeats (via Start again) at an interval that reflects how quickly we tend to use it up. One-off items I put on the list without repeats. If I notice I'm running low on something, I view the list showing remaining actions and make sure that the action is showing as available. If it looks like I'm going to run out in the next few days, I'll put a due date on as well.

I use just one project to cover all of the stores where I shop for groceries, but multiple contexts. I have an Errands : Grocery store which gets anything that I'm content to buy at any store, and then an Errands : Grocery store : XYZ nested underneath that gets anything I prefer to buy at XYZ. When I'm at XYZ, I buy what is shown in that context, then look at the Errands : Grocery store context and get anything else that is appropriate. I can also look at the whole Errands : Grocery store context tree and see if there's anything that is overdue and buy it (the theory being that maybe it is better to buy sandwich bread at the "wrong" place this week than to not have any bread to make my kid's lunch).