parse-flyer-nofrills

Extract grocery deal data from No Frills flyer pages into normalized JSON records.

1|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/Joresti/grocery-hack --skill parse-flyer-nofrills
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: parse-flyer-nofrills
Source: https://github.com/Joresti/grocery-hack/tree/main/.claude/skills/parse-flyer-nofrills
Command: npx skills add https://github.com/Joresti/grocery-hack --skill parse-flyer-nofrills

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python3 backend/scripts/cdp.py, google-chrome (headed), CDP remote debugging, and includes references (resource) components.

What problem does it solve?

It turns a No Frills grocery flyer page into structured deal data so you can build a deal-first meal plan and shopping list without manual copy/paste.

Core Features & Use Cases

  • Scrapes structured flyer tiles using No Frills’ Loblaw Digital data-testid selectors and page-number pagination.
  • Detects drift and validates page structure early to avoid wasting time on a redesigned or partially loaded page.
  • Parses extracted products into normalized deal records (prices, units, categories, and deal conditions) and removes sponsored ad entries.
  • Use case: When you need this week’s chicken, produce, or pantry items priced by sale, you can extract all deals from the flyer grid view and feed them into your deal-matching and meal planning flow.

Quick Start

Use the parse-flyer-nofrills skill to extract deals from https://www.nofrills.ca/en/deals/flyer and output a normalized JSON array of sale items.

Frequently Asked Questions about parse-flyer-nofrills

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract grocery deals from the No Frills flyer into JSON?

Grocery deal extraction from the No Frills flyer involves parsing structured DOM product tiles across paginated URLs and outputting normalized JSON records with prices, units, categories, and deal conditions.

How do I normalize grocery flyer prices and units for meal planning?

Normalizing grocery flyer prices and units requires parsing extracted product tiles into structured deal records, removing sponsored ad entries, and standardizing category fields for downstream meal planning workflows.

Do I need a headed Chrome session with remote debugging for web scraping grocery flyers?

Yes, a headed Chrome session with CDP remote debugging is required for web scraping grocery flyers, as the extraction process relies on the python3 backend CDP script to interact with the dynamically loaded DOM elements.

Can I automate grocery deal validation and detect page structure drift?

You can automate grocery deal validation and detect page structure drift by using a scraper that checks specific data-testid selectors early, preventing wasted time on partially loaded or redesigned flyer pages.

What is the best way to handle pagination when scraping grocery flyer deal data?

The best way to handle pagination when scraping grocery flyer deal data is to follow the /en/deals/flyer?page=N URL pattern, iterating through page numbers to extract all available product tiles systematically.

Why does my grocery flyer web scraper return sponsored ad entries instead of valid deals?

Web scrapers return sponsored ad entries when they fail to deduplicate sponsored cards; proper extraction requires identifying and removing these entries to ensure only normalized deal records remain in the JSON output.