analytics
Set up and configure analytics tracking with proper event taxonomy.
domain-research
Research a product name and domain with keyword demand + availability data. Use when the user says 'domain research', 'research a domain', 'check a domain', 'find a name', 'brainstorm domain', 'evaluate domain', 'is X.com available', or pitches a product/project and wants to pick a useful .com. Runs Google Trends trajectory, Ahrefs keyword validation, batch .com availability via RDAP, and returns a ranked shortlist.
Full skill instructions
Help the user pick a useful, descriptive .com for a new product by combining keyword demand data (Google Trends + Ahrefs) with batch availability checks (RDAP). Optimize for SEO-as-marketing, not brand-building.
These apply unless the user explicitly overrides them:
ai and llm are fine (widely understood). kb, pkb, pkm, kms and similar are not — spell them out.Ahrefs keyword research requires the user to be logged into Ahrefs in Brave. Before doing anything:
agent-browser --auto-connect get url (quick, cheap).https://app.ahrefs.com/dashboard and check the URL. If it redirects to /pricing or /login, Ahrefs is not logged in on this account's plan — tell the user and fall back: skip the Ahrefs step and use Google autocomplete + common-sense volume guesses instead. Google Trends does not require login.Session check is part of every run, even if the skill ran successfully earlier — sessions expire.
If the user hasn't already described the product in conversation, ask:
Infer the search terms if the user's description is clear enough. Don't over-ask — one round is usually enough.
Based on the product, identify 2-3 candidate head terms — the phrases people might search that the domain could anchor on. For a knowledge/PKM tool the pathways might be:
For other products, pick whatever pathways fit. Present 2-3 with trade-offs (volume, KD, conflict risk, typicality of phrasing). Ask the user which pathway to dig into, or offer to run all in parallel.
Before sinking time into detailed keyword research, validate direction. A term with >1000 monthly searches but a declining trend over 12 months is worse than a term with >100 and a 2x climb.
Google Trends supports side-by-side comparison of up to 5 terms. Use agent-browser:
# URL-encode the comma-separated query string; %2C = ","
agent-browser --auto-connect open "https://trends.google.com/trends/explore?q=term1%2Cterm2%2Cterm3&geo=US&date=today%2012-m"
agent-browser --auto-connect wait --load networkidle
agent-browser --auto-connect wait --text "Interest over time" --timeout 30000
agent-browser --auto-connect screenshot /tmp/trends.png
Read the screenshot visually to compare trajectory lines. Record for each pathway:
Also scroll to the "Related queries" section and screenshot "Rising" — this surfaces emerging phrasings the user might not have considered. Rising queries often make better domain bets than the head term itself.
If you need exact weekly data points, use the CSV export button. But a visual read of the chart is usually enough for naming decisions.
Important caveats to tell the user:
For each surviving pathway, visit https://ahrefs.com/keyword-generator/?country=us&input=<PHRASE> via agent-browser.
Extract the results dialog with:
Array.from(document.querySelectorAll("tr")).slice(0,12).map(r =>
Array.from(r.querySelectorAll("td,th")).map(c => c.innerText.trim().replace(/\s+/g," ")).join(" | ")
).join("\n")
Record volume (bucketed: <100, >100, >1000, >10000) and KD (Easy/Medium/Hard) for each head term. Also record a few adjacent phrases the user might target.
If Ahrefs returns "No keyword ideas," flag the term as invented/zero-volume.
Cloudflare challenges may appear — wait 5-10 seconds and re-check the page before concluding no data.
For each surviving pathway, generate ~10-15 descriptive .com candidate patterns. Apply baked-in preferences:
Good patterns:
<modifier><headterm>.com — e.g., aisecondbrain.com, livingsecondbrain.com, growingwiki.com<verb><headterm>.com — e.g., buildsecondbrain.com, ownyourwiki.com<headterm><suffix>.com — e.g., secondbrainapp.com (weak), secondbrainllm.com (dates)<differentiator>+<category>.com — e.g., compoundwiki.com, livingnotes.comAvoid patterns:
Add user-mentioned candidates to the list — never silently drop them. Also consider rising queries from Step 3 as candidate seeds.
Use rdap.org (follows redirects to the right registry) — NOT macOS whois, which falls back to IANA for unfamiliar TLDs and returns false-positives.
for d in <list>; do
c=$(curl -sL -o /dev/null -w "%{http_code}" "https://rdap.org/domain/$d" --max-time 8)
if [ "$c" = "404" ]; then echo "AVAIL $d"
elif [ "$c" = "200" ]; then echo "taken $d"
else echo "?$c $d" # 429 = rate limit, retry
fi
done
Parallelism: Start with xargs -P 6 for speed. Sequential retry (with sleep 0.4-0.6 between calls) for any that return 429.
429 handling: Collect all 429s and rerun them sequentially in a retry pass. Do not mark a domain taken based on a 429.
Big batch tip: Run in run_in_background: true and use Monitor with grep --line-buffered -E "^AVAIL" to stream hits as they arrive.
Group by pathway, rank by:
Present as a compact table. Include a "skip" list for weak available options so the user knows I evaluated them.
Always surface a top pick with one-sentence justification and a runner-up for comparison. Don't hedge with 10 equal options.
Before committing, offer: "Want me to run a market reality check on the top pick? Covers how buyers talk, who ranks for the head term, and signals from social."
If yes, run any combination of:
a. Buyer-language scan via last30days
Invoke the last30days skill with the head term as the query. It returns a synthesized report from Reddit, X, HN, YouTube, Bluesky, etc. Look specifically for:
Buyers' language on social often differs from how creators describe their own products — worth checking before committing to a name.
b. Competitor SERP scan
agent-browser --auto-connect open "https://www.google.com/search?q=<headterm>"
agent-browser --auto-connect screenshot /tmp/serp.png
Read the top 10 results. Note whether the SERP is:
Also check if the SERP has AI Overviews / featured snippets — those change the game.
c. Buyer-intent search
Quick X and Reddit searches for purchase intent:
# On X
agent-browser --auto-connect open "https://x.com/search?q=%22looking%20for%22%20<headterm>"
agent-browser --auto-connect open "https://x.com/search?q=%22recommend%22%20<headterm>"
# On Reddit via Google
agent-browser --auto-connect open "https://www.google.com/search?q=site%3Areddit.com+%22looking+for%22+<headterm>"
If the results are mostly "curious about" and "learning how" posts — low purchase intent. If they're "I've tried X, Y, Z — what else?" — high purchase intent. The latter is where money is.
Offer: "Want me to run a quick prior-art check on the top 2-3 (Google + USPTO + GitHub)?"
If yes:
agent-browser open "https://www.google.com/search?q=<name>" — scan results for existing products, books, active projectsagent-browser open "https://tmsearch.uspto.gov/" — search the phrase (US trademark only; global TM is out of scope for a quick pass)agent-browser open "https://github.com/search?q=<name>&type=repositories"Report anything that could cause friction: active products using the name, registered trademarks, GitHub projects with >1K stars.
After the user picks a direction (or passes on all of them), save a clip:
File: raw/clips/domain-research-<product-slug>-<YYYYMMDD>.md
---
title: "Domain research: <product description>"
source: conversation
created: YYYY-MM-DD
context: "Domain/naming research session"
tags:
- conversation
- domain-research
---
# Domain research: <product>
## Product
<one-sentence description>
## Pathways considered
- <pathway 1>: <head term volume + KD + Trends trajectory>
- <pathway 2>: ...
## Candidates evaluated
<compact table or list with availability + rationale>
## Market reality (if run)
<buyer language, SERP landscape, buyer intent>
## Decision
<what the user picked, or "still deciding" if unresolved>
## Rationale
<why — include the trade-offs that mattered>
Write the clip quietly — don't ask permission. The wiki-sweep will pick it up later.
After the clip is written, commit it.
git add raw/clips/domain-research-<product-slug>-<YYYYMMDD>.md
git commit -m "$(cat <<'EOF'
domain-research: capture <product> naming session
EOF
)"
Rules:
git add . or git add -A.--amend.whois for anything other than .com — it returns IANA TLD records for unfamiliar TLDs and you'll report taken domains as available or vice versa.Set up and configure analytics tracking with proper event taxonomy.
Set up, audit, and improve analytics tracking to measure marketing and product decisions.
Unified indexing and search across code repositories, documentation, research papers, datasets, local folders, Slack, and Google Drive.
Implements Manus-style file-based planning to organize and track progress on complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when asked to plan out, break down, or organize a multi-step project, research task, or any work requiring 5+ tool calls. Supports automatic session recovery after /clear.
firecrawl deep research
firecrawl research papers
firecrawl market research
firecrawl lead research
Research organization and collaboration through Google Workspace integration.
tavily research
Web search API for LLMs with real-time data access, content extraction, site crawling, and AI-powered research.
Universal AI-powered web scraper for any platform. Scrape data from Instagram, Facebook, TikTok, YouTube, LinkedIn, X/Twitter, Google Maps, Google Search, Google Trends, Reddit, Airbnb, Yelp, and 15+ more platforms. Use for lead generation, brand monitoring, competitor analysis, influencer discovery, trend research, content analytics, audience analysis, review analysis, SEO intelligence, recruitment, or any data extraction task.
Effortlessly Convert PDFs to JSON with PDFParser
Transform Data into Insights with Ajelix BI in Under a Minute
Turn Data into Actionable Insights with Flowpoint.ai
Data analysis and visualization solution.
Your Ultimate Assistant for Excel, SQL, Regex, and Scripting
Monitor LinkedIn Company Info Easily
Unlock Data Insights Effortlessly with Generative AI Analytics.
Seneca: The Minimalist's Choice for Note-Taking