Prompt 1 — Claude web app (replicate the research session)
Search Google for "[keyword] site:reddit.com" and find the top 5 ranking Reddit threads. Then for each of these competitors: , , — do the same: search Google for "[competitor name] site:reddit.com" and find the top 3 Reddit threads per competitor. Once you have all the thread URLs, use the Ahrefs MCP to pull the organic keywords each thread is ranking for. Filter to keywords with monthly search volume above 100 that are relevant to the core topic. Then compile everything into a Google Sheet via the Google Drive MCP — one row per keyword, with columns for keyword, volume, keyword difficulty, position, source thread URL, and which competitor or seed topic it came from.
Prompt 2 — Slate workflow build prompt
Build me a Slate workflow that takes a seed keyword and a list of competitors as inputs, searches Google for Reddit threads mentioning each competitor using the site:reddit.com operator, scrapes those threads including comments, uses an LLM to extract commercial SEO keywords from the discussions, enriches every keyword with SEMrush volume and difficulty data, and exports the final list to a Google Sheet. The output should tell me which keyword came from which competitor so I can see patterns across the competitive set. Use my connected Google Sheets account for the export and my existing Slate Output spreadsheet.
Prompt 3 — Claude Code Build: Agentic Reddit Keyword Research
Build a Reddit keyword research CLI tool in Python. Start immediately by creating the project structure: main.py, scraper.py, analyzer.py, enricher.py, output.py, and a requirements.txt. Load all API keys from .env using python-dotenv: APIFY_API_KEY, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD, AHREFS_API_KEY, ANTHROPIC_API_KEY.
When main.py runs, it should first prompt the user for three things in the terminal: their seed keyword, up to three competitor names (comma-separated), and a one-sentence description of what their company does and who it's for. Store these as variables and move on immediately.
In scraper.py: use DataforSEO's Google Organic Search endpoint to run one search per query — one for the seed keyword and one per competitor — formatted as "[term]" site:reddit.com, US locale, pull top 5 results each. Filter to reddit.com URLs containing /comments/. Then use the Apify actor apidojo/reddit-scraper to scrape each URL — pull post title, body, top 15 comments sorted by score, and upvote count. Log each URL as it's scraped.
In analyzer.py: for each scraped thread, make a single Claude API call (model: claude-opus-4-5, max_tokens: 1500) with a structured prompt that passes the thread content and company description and asks Claude to return a JSON object with: relevant (true/false), keywords (array of up to 8 strings), pain_points (array of up to 3 strings), content_format (one of: comparison, listicle, faq, tool-roundup, guide), and company_relevance_score (1–10 integer). Parse the JSON response directly. Skip any thread where relevant is false. Log which threads are kept and which are skipped.
In enricher.py: collect all unique keywords across all threads. For each keyword, call the Ahrefs API keywords explorer endpoint to get volume and keyword difficulty. If a keyword returns no Ahrefs data, keep it in the output but leave those columns blank. Log each keyword as it's enriched.
In output.py: combine everything into a list of rows. Each row = one keyword with its volume, KD, content format, pain point summary (first item from the array), source competitor, company relevance score, and an opportunity score calculated as: (volume / 1000) * (1 - KD/100) * company_relevance_score. Sort by opportunity score descending. Write to output.csv in the project folder. Print a summary to terminal when done: total keywords found, top 5 by opportunity score.
Skip Google Sheets entirely — CSV only. Do not build any retry logic, async handling, or rate limiting in the first version. Build it to run once, top to bottom, and finish cleanly.