I Built an AI Agent That Watches My Competitors So I Never Publish Blind Again
And the 3-node pipeline that makes it fully hands-off.
You sit down to plan next week’s content.
Blank doc. Blinking cursor. That low-grade dread in your stomach because you’re pretty sure the coach two niches over already published the exact post you were planning.
So you check. You open their newsletter. Their LinkedIn. Their podcast. And now you feel behind. The content calendar you were about to fill stays empty.
The cursor wins again.
This is the core problem for every coach, consultant, agency owner, and service provider trying to publish consistently. You’re making content decisions with ZERO visibility into what the people around you are doing. You don’t know what competitors published this week. You can’t see which angles are played out, which ones nobody has touched, where the gaps are wide enough to own.
So you guess.
And guessing is why your publishing schedule keeps dying.
I built a system that ends this. Every Friday morning, a one-page brief lands in my inbox. What my competitors published. What they changed. What gaps exist in their coverage. What I should write next, and where I should be positioning my offers differently. Runs automatically. Costs about $0.10 a week. Took two hours to set up on a Saturday morning while my kids were still asleep.
Three steps. Full build below.
Step 1: Build your watchlist (30 minutes)
Two categories. Direct competitors and adjacent competitors.
Direct competitors sell what you sell to the people you sell it to. You know who they are. The coaches in your space. The consultants targeting your same buyer. The service providers whose names keep showing up in your DMs.
Adjacent competitors are more interesting.
They solve a similar problem with a different method, or they serve a slightly different audience with a similar offer. These are the ones that tell you where demand is MOVING. Direct competitors tell you where demand already sits.
Open a Google Sheet. Four columns: Name, URL, Content Channel, Monitoring Priority.
Five direct. Five adjacent. Ten total.
That’s it. I know you want to add more.
Don’t.
I’ve watched people build 40-competitor spreadsheets that never get opened after the first week. The spreadsheet sits in a browser tab behind Gmail, collecting digital dust while the person wonders why they feel overwhelmed. Ten competitors. Maximum. If you can’t stay disciplined on the watchlist, the rest of this system falls apart before it starts.
For each competitor, identify their PRIMARY content channel. The one where they put their best thinking. Newsletter. YouTube. LinkedIn. Podcast. Pick ONE per competitor. Everything else is repurposed noise.
Step 2: Set up automated collection AND analysis (90 minutes)
This is the step where most people would tell you to open Feedly, scan RSS feeds twice a week, copy interesting stuff into a Google Doc, then paste it into ChatGPT on Friday.
That’s not a system. That’s a chore list. And chore lists die by week three.
Collection and analysis belong in the SAME automated pipeline. Signals come in, get processed by Claude, and a finished brief lands in your inbox. You read one document on Friday morning.
That’s your only job.
The tool that makes this work is n8n. Free, self-hosted workflow automation. If you’ve never used it, the learning curve is about an hour. Worth every minute.
The pipeline is actually TWO workflows, not one. This is important.
Workflow 1 runs daily. It collects signals and stores them. Workflow 2 runs every Friday morning. It reads the stored signals, sends them to Claude, and delivers your brief.
Workflow 1 (daily collection):
RSS Read nodes pull your competitor feeds automatically. Substack feeds use the format yourcompetitor.substack.com/feed. YouTube channels have RSS feeds in their page source. WordPress blogs almost always have one at /feed. Set up one RSS node per competitor. n8n checks them daily.
Google Alerts get forwarded to a dedicated Gmail address or label. n8n pulls them via the Gmail node.
Visualping handles page monitoring. Set it on competitor pricing pages, feature pages, about pages, landing pages tied to their core offer. When something changes, Visualping sends an email notification. That email routes into n8n through the same Gmail node.
Every signal from all three sources gets written to a Google Sheet. One row per signal. Date, source, competitor name, content. The sheet is your holding tank. Signals accumulate there all week while you do absolutely nothing.
Workflow 2 (Friday analysis):
A scheduled trigger fires every Friday at 8 AM. It reads every row added to the Google Sheet in the last seven days, compiles them into a single text block, and sends the whole batch to Claude using n8n’s native Anthropic node. (You don’t need to build a raw HTTP request anymore. n8n has a built-in Claude node that handles the API key and prompt formatting for you.)
Your analysis prompt includes your content pillars, your audience profile, your positioning, and a competitor watchlist with notes on each player. Claude reads every signal from that week, cross-references against YOUR specific context, and outputs a competitive brief.
The brief lands in your inbox. Or a Slack channel. Or a Google Doc. Total cost per week: roughly $0.10 in API calls. Then the workflow clears the sheet for next week’s signals.
You never copy-paste anything. You never open Feedly. You never manually check a pricing page. Friday morning you open one document and it tells you what changed, what gaps exist, and what to publish next week.
The prompt skeleton I load into the Claude node:
“You are a competitive intelligence analyst for a [your niche] business. Here is the competitor watchlist: [loaded from a stored file]. Here are this week’s signals: [piped in from RSS + Gmail nodes].
Analyze for: 1. New content topics or angles I haven’t covered 2. Pricing, packaging, or positioning changes 3. Gaps in their coverage that align with my content pillars 4. Shifts in messaging, offers, or audience targeting
Output a one-page competitive brief with specific action items for next week’s content.”
I keep a competitor watchlist file that the Friday workflow references. Names, URLs, content channels, a short note on each competitor’s current positioning. Claude reads it every time the workflow runs. The briefs get sharper every week because the context file accumulates your notes and observations. By week four, it catches shifts you would have missed scanning feeds manually.
If n8n feels like too much on day one, start with the manual version. Dump your RSS reader and Google Alerts into a Claude Project on Friday, run the prompt by hand. But build toward the automated pipeline.
The manual version works. The automated version works WITHOUT you.
Step 3: The monthly debrief (15 minutes)
Once a month, zoom out.
Open your competitive brief archive. (You ARE saving those, right?) Look for patterns across four weeks.
Who published the most? Who changed direction? Who went quiet? Did anyone launch something new or change their pricing?
Now look at the weekly gaps. If the same gap keeps showing up week after week, nobody in your space wants to own that territory.
Take it.
Write one paragraph. What changed. What it means for you. What you’re doing about it. What you’re deliberately ignoring. Pin it at the top of your content planning doc. Read it before you plan anything for the month ahead.
Why you stopped publishing (and how to fix it)
You stopped publishing consistently because you lost conviction.
That feeling of “I KNOW this is the right topic for this week” dried up. And without it, the blank doc won every time. You’d open the calendar, stare at it, feel that familiar weight, close the laptop.
This system brings conviction back.
When you can see the whole board every Friday, content planning stops being a guessing game. You know what angles are overplayed because you watched four competitors cover them this month. The topics with zero coverage jump off the page because the gap showed up in your brief three weeks running. Your energy goes exactly where it should.
And it goes beyond content. When you see a competitor change their pricing or launch a new offer, you can respond in days instead of finding out six months later from a client who almost hired them instead.
Your calendar fills because you’re not sitting there wondering what to write. You already know.
Something I didn’t expect when I first built this: I stopped dreading Monday mornings. The anxiety about what to write, whether someone already said it better, whether I was wasting time on the wrong topics. Gone. Replaced by a one-page brief that tells me exactly where the openings are.
Maybe 30 minutes of active work per week once everything is wired up. Less time than you spend scrolling a competitor’s Instagram on a Tuesday night and feeling worse afterward.
Build it. Run it for 30 days.
Your content calendar will never be blank again.


The 10-competitor constraint is doing a lot of heavy lifting here. Every system like this I've seen abandoned had no scope limit. You add one more source, then three more, then it's 40 feeds and the weekly brief is too long to read. Limiting ruthlessly is what makes it actually run.
The interesting design question is what you do when a competitor moves off RSS to a format that's harder to scrape. Claude's analysis layer holds up well for summarization and gap identification - that's where the quality shows most.
Another gem of an article.