| name | seo-geo-sources |
| description | SEO blog research workstation. Automates pre-writing source collection - AI visibility audits, competitor article analysis, user question mining, expert quote gathering, social media trend scanning, and data/statistics harvesting. Outputs structured Blog Writing Resources to Google Sheets. |
SEO/GEO Blog Sources Collector
The research phase of blog production. Before writing any SEO/GEO article, this skill systematically collects all the raw materials: competitive intelligence, user questions, expert quotes, hard data, social proof, and trend signals. Outputs everything to a structured Google Sheets template ready for the writing phase.
When to Use
- "Research sources for a blog about [keyword]"
- "Prepare blog writing resources for [topic]"
- "Do a competitive analysis for [keyword] before I write"
- "Find data, quotes, and user questions about [topic]"
Required Context (ask if not provided)
- Primary keyword(s): The target search query
- Blog title (if decided): Or the skill helps refine it
- Target audience: Who is this article for?
- Output sheet: Existing Blog Writing Resources sheet, or create new
Platform Integrations
| Platform | Usage |
|---|
| Google Search | SERP analysis, competitor articles, PAA questions |
| ChatGPT (Browser) | AI visibility check - what does ChatGPT cite? |
| Perplexity (Browser) | AI visibility check - what does Perplexity cite? |
| AnswerSocrates | User question mining |
| Twitter/X (Browser) | Viral content, expert opinions, trend signals |
| Reddit (Browser) | User pain points, authentic discussions |
| YouTube (Browser) | Video content trends, title format research |
| LinkedIn (Browser) | Expert quotes, industry insights |
| Google Sheets | Output: Blog Writing Resources template |
| Google Docs (optional) | Full research brief export |
Default Output Sheet
Spreadsheet ID: 1imXTbVhmDlg23ao9695Py1RZYnWxH3qyAiquSxvflxo
Safety Rules
- Read-only on all platforms - no posting, commenting, or engaging
- Wait 5-8 seconds between page loads on social platforms
- Maximum 20 Google searches per session
- Maximum 10 social media searches per platform per session
- Respect robots.txt - don't scrape blocked pages
Research Pipeline (6 Modules)
Module 1: AI Visibility Audit
Check if the topic/brand is cited by AI engines:
var page = await browser.newtab("https://chatgpt.com")
await page.wait({ waitTime: 3 })
await page.goto({ url: "https://perplexity.ai" })
Output fields:
- AI engines checked (ChatGPT, Perplexity, Google AI)
- Products/brands cited by each
- Is Sai/Simular mentioned? (Y/N)
- Citation gap analysis (what Sai does that nobody mentions)
Module 2: User Question Mining
Collect real questions people ask about this topic:
await page.goto({ url: "https://answersocrates.com/" })
await page.goto({ url: "https://www.reddit.com/search/?q=" + encodeURIComponent(keyword) + "&sort=relevance&t=year" })
Output fields:
- 15-20 user questions (become H2 heading candidates)
- Pain points from Reddit (authentic user frustrations)
- Question categories (definition, comparison, how-to, troubleshooting)
Module 3: Competitor Article Analysis
Deep-dive top SERP results:
for (var i = 0; i < 5; i++) {
var analysis = {
url: "...",
title: "...",
wordCount: 0,
h2Headings: [],
toolsCovered: [],
hasComparisonTable: false,
hasFAQ: false,
hasMethodology: false,
uniqueAngles: [],
weaknesses: []
}
}
Output fields:
- Top 5 competitor URLs with titles
- Common H2 patterns across competitors
- Tools/products every competitor mentions
- Content gaps (what nobody covers - our opportunity)
- Format analysis (table? FAQ? video embed? word count?)
Module 4: Data & Statistics Harvesting
Find hard numbers to cite in the article:
var dataQueries = [
keyword + " statistics 2025 2026",
keyword + " market size report",
keyword + " survey results",
keyword + " benchmark data"
]
Output fields:
- 8-12 citable statistics with sources
- Market size / growth data
- User adoption / usage numbers
- ROI / efficiency improvement data
- Source credibility rating (Gartner/Forrester = high, blog = low)
Module 5: Expert Quote Collection
Find quotable opinions from industry experts:
await page.goto({ url: "https://x.com/search?q=" + encodeURIComponent(keyword) + "&f=top" })
await page.goto({ url: "https://www.linkedin.com/search/results/content/?keywords=" + encodeURIComponent(keyword) })
Output fields:
- 5-8 expert quotes with full attribution
- Expert name, title, company, credentials
- The quote (verbatim or paraphrased)
- Source link (tweet/post URL)
Module 6: Social Media Trend Scan
Identify viral content and trending angles:
await page.goto({ url: "https://www.youtube.com/results?search_query=" + encodeURIComponent(keyword) + "&sp=CAMSAhAB" })
Output fields:
- Top 5 viral social posts with engagement data
- Viral hook formulas that worked
- Trending content angles
- Audience sentiment summary
- YouTube title patterns that get views
Output Format
Google Sheets Structure
Row for each keyword researched:
Column A: Target Audience / Segment
Column B: Primary Keywords
Column C: AI Visibility Report
Column D: User Questions (AnswerSocrates + PAA + Reddit)
Column E: SERP Intent Classification
Column F: Top Competitor Articles (URLs + analysis)
Column G: Statistics & Data Points
Column H: Expert Quotes
Column I: Social Media Trends
Column J: Recommended Blog Title
Column K: Recommended H2 Structure
Column L: Content Gaps (our unique angle)
Optional: Research Brief (Google Doc)
For complex articles, export a full research brief document:
var brief = await google.docs.createDocument({
title: "Research Brief: " + keyword + " - " + new Date().toISOString().slice(0,10)
})
Quality Checks
Before marking research complete: