Your whole feed,
diagnosed and fixed.
Google Merchant Center disapproves your products for reasons you never see. Say “diagnose my feed” to your coding agent: Feed Doctor reads every product’s status down to the machine issue codes, reasons about the root cause — one Markets or delivery-policy misconfiguration often explains hundreds of disapprovals — and fixes safely with your approval, every change a dry run first and backed up.
Proven on a live 745-product store

From a feed full of disapprovals to a plain fix list.
Read the feed, then fix it in order.
Diagnose
Say “diagnose my feed”. The agent pulls account and product statuses down to the machine issue codes, gathers evidence with read-only probes, and writes a report naming the cause behind each cluster of symptoms — not just the symptoms.
Fix safely
Targeted modules write to Shopify metafields and prices: identity, category, unit pricing, shipping labels, sale display. Each is a dry run first and backed up.
Verify
Re-run the diagnostic after the feed re-syncs and watch the disapproval counts fall. The order of operations that prevents a catalogue-wide wipeout is built in.
Eight fix modules, one config layer.
Every merchant-specific value lives in one JSON file — no script hardcodes a shop, brand or ID. Point it at your store and run.
Root-cause diagnosis
An agent routine, read-only evidence probes and a failure-pattern playbook, ending in a written diagnosis: cause, evidence, confidence, fix.
read-onlyIdentity & category
age group, gender, GTIN handling, and missing google_product_category filled from type and title.
metafieldsShipping & pricing
Tag-driven origin labels for delivery policies, real unit pricing, and clean .99 sale display.
feedContent & image policy
Reworks adult-content and healthcare false-positives; detects promotional-overlay images and swaps to a clean hero.
policyEverything to read and fix your feed.
Eight Python fix modules, a read-only diagnostic, and the agentic diagnosis layer: agent routine (SKILL.md), evidence probes and root-cause playbook.
A single config layer: shop, merchant ID, shipping-label rules and category map externalised.
The free review-syndication feed builder, with an n8n webhook that regenerates it live.
Two setup docs: the one-time Merchant API registration and the review-syndication walkthrough.
START_HERE, README, licence and disclaimer, with branded PDFs.
Approval status
Every product mapped to approved, pending or disapproved, by reason.
Free listings & ads
Identity, category and shipping fixes that unlock free Google Shopping listings.
Review stars
A self-hosted Google Product Reviews feed for star ratings at no recurring cost.
Order of operations
The sequence that fixes the feed without triggering a catalogue-wide disapproval.
Questions, answered.
Will it edit my live store?
Yes, but safely. Every fix module is a dry run by default — it shows the plan first. It writes a backup before changing anything and is safe to re-run. You add --apply only when the plan looks right.
Do I need a developer?
No. Open the folder in Claude Code and say “set this up for me” — it walks you through configuration and the one-time Merchant API setup one question at a time. It also runs straight from the command line.
How do the free review stars work?
It builds a valid Google Product Reviews feed from your existing reviews and self-hosts it. You apply to Google’s Product Ratings programme (a short, one-time approval), then register the feed URL. No monthly fee.
What do I need?
A Shopify Admin API token, a Google Merchant Center account with a service account added, and Python 3. The review-stars module also needs a reviews app and a webhook host. All setup is documented and scripted.