Five AI agents. One cron trigger. A fully autonomous pipeline that researches keywords, writes articles, publishes to production, and syndicates for backlinks, three times a week.
A cron job fires Mon/Wed/Fri at 2pm. Claude Code runs the skill chain, each agent passes its output to the next. No human touches the process between trigger and live post.
Click any agent to expand it. Each section shows what it does, what tools it uses, and what it passes to the next agent.
This agent scans our competitive landscape to find content opportunities we're missing. It discovers competitors, compares keyword profiles, scores each gap by volume, difficulty, and intent, then passes the top opportunities to the next agent.
intersections: false to find keywords they have that we don'tTakes the scored keyword list from Agent 01 and makes the editorial decision: which topic do we write about today? It analyzes the SERP, expands the keyword set, researches current data, plans internal links, and builds a detailed outline.
Must fit BA's wheelhouse: lead gen, quiz funnels, email marketing, automation, AI tools
Connects to 3+ existing posts for internal link opportunities
Prefers underrepresented categories to keep the blog diverse
CPC > $2 preferred. AI automation topics get a +15 bonus.
The heaviest agent in the pipeline. It takes the outline and research from Agent 02, writes the full article following Brothers Automate brand voice, then runs a multi-pass humanisation process to strip AI writing patterns.
3 Tavily queries for statistics, examples, and best practices. Extracts 3-5 citable stats and 1-2 real case studies.
Follows the outline section by section. Applies brand voice rules, internal links, and CTA weaving throughout.
15 rules to strip AI patterns. Word kills, phrase kills, structure fixes, and voice injections.
Wraps in Astro-compatible Markdown with frontmatter: title, description, date, category, author, tags.
This agent is the gatekeeper. It runs pre-flight validation on the finished article, handles category config updates if needed, commits to the git repo, and pushes to main, which triggers an automatic Vercel deployment.
src/content/blog/config.ts enum, or gets added if new and pre-approvedgit fetch origin && git pull origin main, sync with remotesrc/content/blog/[slug].mdgit add the new post (and config.ts if category was expanded)git commit with structured message including keyword datagit push origin main → Vercel auto-deploysgit pull --rebase. If rebase fails, saves the post to a backup directory and aborts, no data is lost.The final agent. It takes the published post, reformats it for Dev.to, checks for duplicates, publishes via API with the canonical URL pointing back to our site, and updates the backlink tracker.
src/content/blog/[slug].mdcanonical_url set to our postbacklink-tracker.json with the new syndication recordWhen Dev.to publishes our article with a canonical_url pointing to brothersautomate.com, Google knows our site is the original source. We get the backlink authority without duplicate content penalties. Free SEO.
macOS cron job triggers Claude Code in headless mode with OAuth token auth. Max 50 turns per run.
DataForSEO MCP server, 9 API endpoints for competitor analysis, keyword research, and SERP data.
Tavily search for current statistics, examples, and People Also Ask questions.
Git push to main branch auto-deploys via Vercel. Astro static site generation. Zero-downtime.
Dev.to REST API with canonical URLs. Backlink tracker JSON for deduplication.
Full run logs with timestamps. 30-day retention. Every agent action is traceable.
Every stage has fallback logic. The pipeline is designed to fail safely, no bad content reaches production.
Falls back to a seed list of 5 known competitors in our space.
Agent proposes from a pre-approved list. New categories are added to config.ts automatically.
Publisher agent aborts immediately. No overwrite, no data loss.
Retries with rebase. If that fails, saves post to backup directory and aborts cleanly.
Waits 30 seconds, retries once. If still blocked, aborts syndication, post is still live on our site.
Checks backlink tracker before publishing. Duplicate posts are caught and skipped.