plugins/social-and-lifestyle/skills/sorting-groceries/SKILL.md
Sort grocery lists by aisle order using store aisle sign photos. Build aisle maps from uploaded images, match items to aisles, and output optimized shopping routes. Use when users upload aisle sign photos, request grocery list sorting, want shopping trip optimization, need store layout mapping, or mention grocery list organization.
npx skillsauth add oaustegard/claude-skills sorting-groceriesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Sort a user's grocery list by aisle order so they can walk the store in one efficient pass, no backtracking.
Activate when user:
Two inputs are needed. Prompt for whichever is missing:
Read each uploaded aisle sign image. Extract:
Compile into a structured map:
Aisle 1: Bread, Bakery Items, Tortillas
Aisle 2: Cereal, Breakfast, Granola Bars
Aisle 3: Pasta, Sauces, Canned Goods
...
If an image is blurry or partially unreadable, note what was legible and flag uncertainty.
Grocery stores have perimeter sections without numbered aisles. Infer these from context or common knowledge when not covered by the uploaded signs:
| Zone | Typical items | |------|---------------| | Produce | Fresh fruits, vegetables, herbs, salad mixes | | Deli | Sliced meats, prepared foods, rotisserie chicken | | Bakery | Fresh bread, cakes, pastries (distinct from packaged bread aisle) | | Dairy | Milk, cheese, yogurt, butter, eggs | | Meat & Seafood | Fresh/frozen meat, poultry, fish | | Frozen | Frozen meals, ice cream, frozen vegetables |
Position perimeter zones in typical store flow: Produce → Deli/Bakery → Meat/Seafood → Dairy → Frozen (usually along the store's outer walls, counterclockwise from entrance).
If the user's aisle photos already include these sections, use the actual signage instead of defaults.
Extract every item from the user's list. Normalize:
Preserve the user's original wording alongside any normalized form.
For each grocery item, find the best aisle match:
Present the final list grouped by aisle in store-walk order:
🛒 Sorted Shopping List — [Store Name if known]
PRODUCE
□ bananas
□ baby spinach
□ 3 avocados
AISLE 1 — Bread, Bakery Items, Tortillas
□ whole wheat bread
□ flour tortillas
AISLE 2 — Cereal, Breakfast, Granola Bars
□ oatmeal
□ granola bars
AISLE 3 — Pasta, Sauces, Canned Goods
□ spaghetti
□ marinara sauce
□ canned black beans
...
DAIRY
□ 2% milk
□ shredded mozzarella
□ eggs (1 dozen)
⚠️ COULDN'T PLACE
□ birthday candles — not enough aisle info to determine location
□) so the list is easy to use on a phoneSome items legitimately live in multiple locations. When this occurs:
If the user mentions they shop at this store regularly:
📍 [Store Name] Aisle Map
Aisle 1: Bread, Bakery Items, Tortillas
Aisle 2: Cereal, Breakfast, Granola Bars
...
Produce | Deli/Bakery | Meat & Seafood | Dairy | Frozen
development
Write effective instructions for Claude: project instructions, standalone prompts, and skill content. Use when users need help writing prompts, setting up project instructions, choosing between instruction formats, or improving how they communicate with Claude. Covers writing principles, model-aware calibration, and format selection. For building and testing complete skills, use skill-creator instead.
data-ai
Discover and load skills on demand from /mnt/skills/user/. Use when you need a capability but don't know which skill provides it, when the boot-emitted skill list is names-only and you need a full description, or when you want to list the catalog. Verbs are list (names only), search (rank by name/description match against a query), and show (emit the full SKILL.md for a named skill).
documentation
Reads the visual content of slides, pages, and images the way a human would, not just their embedded text. Use when a PPTX or PDF has image slides, screenshots, charts, scanned figures, or flattened-to-image layouts that the built-in pptx/pdf skills read as empty; when asked to transcribe, describe, OCR, or extract what is shown in an image, slide deck, or document page; or when embedded-text extraction returned little or nothing from a visually rich file. Triggers on 'read this deck', 'what's on these slides', 'transcribe', 'OCR', 'extract text from image', 'describe this chart/diagram', .pptx/.pdf/.png/.jpg with visual content.
development
Portrait Mode for SVGs — foveated vectorization with 4-zone selective detail. Combines vision annotations, MediaPipe segmentation/landmarks, and optional saliency. Like phone portrait mode, but vectorized. Use when vectorizing a portrait or photo where subject detail should outrank background detail.