Store-Sort - shopping list into aisle order
Reorders a Trello shopping list to match how a supermarket lays out its store, prefixing a food-type emoji to every card so the list is fast to shop and easy to scan. Works for any store through a preset that defines the aisle order, and ships with a Tesco (UK) preset as the default. Built on the trello skill in this pack.
How it works
- Resolve the target board and list
- Load the store preset (aisle order) - default Tesco, see
references/tesco.md - Classify each card into a section and prefix the right emoji (see
references/emoji-reference.md) - Optionally add missing items and run a pantry-staples check
- Position every card in the preset's canonical order
- Verify the displayed order
Resolving the board and list
There are no hardcoded defaults - nothing personal is baked into this skill. If the user has not named a board and list, ask. Then resolve IDs:
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-boards.sh find "<board name>"
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-boards.sh lists <board-id>
If the user always sorts the same list, they can name it once ("the Shopping list on my Home board") and you resolve it each run - do not store personal board or list IDs in this skill.
Choosing a store preset
- Default - Tesco (UK): the canonical aisle order, position layout, and within-section sub-ordering live in
references/tesco.md. - Another store: ask the user for their store's layout (entrance to checkout), or start from the closest preset and adjust. A new preset can be saved as
references/<store>.mdmirroring the Tesco one.
Workflow
- Fetch current cards as JSON
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-cards.sh list-json <list-id> - Classify each card by section using the active preset and the emoji reference.
- Pantry-staples check (optional, see below) before adding new staples.
- Create any missing new cards (one Bash call per card; batch them in a single message):
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-cards.sh create <list-id> "🥫 Item name" "" - Rename existing cards to prepend the correct emoji if missing or wrong:
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-cards.sh update <card-id> name "🥫 Marmite" - Position every card in the preset's canonical order with explicit pos values:
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-cards.sh position <card-id> <pos> - Verify and show the final ordering grouped by section:
${CLAUDE_SKILL_DIR}/../trello/scripts/trello-cards.sh list <list-id> 50
Note: Trello sometimes auto-adjusts pos values (e.g. it picks 12500 instead of 12000). Always verify the displayed order afterwards, and only tweak individual cards with smaller position deltas if the order is actually wrong.
Quantity and naming conventions
- Lead with quantity where helpful:
🥔 1.5kg baby potatoes,🍋 7 lemons - Use
×for bottle/unit counts:🍷 2 × Rioja Crianza - Optional items: append
(optional) - Sentence-case the item name (no all-caps, no all-lowercase)
- Fix obvious typos in the user's input but flag the correction (e.g. "Pinot Noi" → "Pinot Noir")
Pantry-staples check (optional)
Before adding common staples to a list, ask the user whether they already have them - people usually do, and it saves a duplicate buy. Typical staples worth checking: cooking oils, salt, black pepper, common dried herbs and spices, honey, stock cubes, sugar, plain flour, soy sauce, balsamic vinegar, tea bags, tinned tomatoes. State the candidates explicitly and let the user say which to skip. Treat this list as a starting point and adapt it to the user.
Error recovery
- If
positionreturns a different pos than requested (e.g. 12000 → 12500), don't worry - Trello picks a value that fits the gap. Verify withlistand only fix if the order is wrong. - If a card creation fails, retry once; if it still fails, list it for the user to handle manually.