graph TD
Start[Start: Receive Category & Timeframe] --> Oracle[Oracle Ask Question]
Oracle --> ParseURLs[Parse URLs from Oracle Response]
ParseURLs --> ValidateURLs{Valid URLs Found?}
ValidateURLs -->|No| ErrorHandler[Handle Error: No Valid URLs]
ValidateURLs -->|Yes| InitCrawl[Initialize URL Crawling]
InitCrawl --> CrawlLoop[For Each Valid URL]
CrawlLoop --> Crawl[Crawl Amazon URL]
Crawl --> ExtractData[Extract Product Data]
ExtractData --> MoreURLs{More URLs?}
MoreURLs -->|Yes| CrawlLoop
MoreURLs -->|No| MergeData[Merge All Extracted Data]
MergeData --> FilterInit[Initialize Filtering]
FilterInit --> ReviewFilter[Filter: Remove <3 Reviews]
ReviewFilter --> PolicyFilter[Filter: Remove Policy Violations]
PolicyFilter --> ValidateOutput{Valid Listings Remain?}
ValidateOutput -->|No| ErrorHandler
ValidateOutput -->|Yes| FormatOutput[Format Final Output]
FormatOutput --> End[End: Return filtered-product-listings]
ErrorHandler --> End
subgraph Skills
Oracle
Crawl
FilterInit
end