Shopping Lists
Track per-store shopping lists so the user can recall what they wanted when they're at that store. Use second-brain for shared vault conventions.
Tools
One file per store, at Shopping/[Store Name].md. The server derives the path from the store name.
| Need | Call |
|---|---|
| Create a store list | obsidian__note_create type="shopping" name="Home Depot" |
| Add or update an item | obsidian__checklist_set note="Home Depot" item="Wood screws" detail="2 inch" |
| Mark an item bought | obsidian__checklist_set note="Home Depot" item="Wood screws" checked=true |
| Read the list | obsidian__vault_read note="Home Depot" |
A store list is deliberately a flat list of checkboxes with no sections — obsidian__checklist_set needs a section argument only for notes that have sections, so keeping the file sectionless is what makes every later add a one-argument call.
obsidian__checklist_set adds the item if it is missing, merges new detail into the line if it is already there, and checks or unchecks it. It never removes a line, so a repeat capture is always safe.
Workflow
Adding an item ("add X to the Home Depot list", "I need to grab X next time I'm at Costco"):
obsidian__checklist_set note="Home Depot" item="Wood screws" detail="2 inch". Preserve the user's wording initem.- If the store has no list yet,
obsidian__note_create type="shopping" name="Home Depot"first, then add the item. - Merging is automatic: a repeat capture of the same item folds new detail into the existing line rather than adding a second one.
- If the item relates to a project, include the
[[Project Name]]wikilink in the item text.
Checking a list ("what do I need at Home Depot?"):
obsidian__vault_read note="Home Depot"and report the unchecked items.
Marking bought:
obsidian__checklist_set note="Home Depot" item="Wood screws" checked=true. A checked item stays on the list as the record that it was bought; nothing removes it.
No store specified:
- If the item clearly maps to a store the user already has a list for, use that list.
- Otherwise ask, or put it in
Inbox.mdif it's ambiguous between a shopping item and a task.
Boundaries
- Errands with deadlines ("buy X before Friday") also get a task in
Tasks.mdviatask-tracking, linking the store list if useful. - Trip/event expense tracking is out of scope here; capture to
Inbox.mdif the user asks for it. - Recurring staples: keep them in a separate note, e.g.
obsidian__note_create type="shopping" name="Costco Staples", and copy items across on request. Do not add a## Staplesheading to a store list — a store file with any section makessectionrequired on every laterobsidian__checklist_set, and a one-off purchase then gets filed into the staples list by mistake.