Core Skill

Local Keyword Research — The Foundation Everything Else Builds On

Geo-modified keywords, intent classification, GBP service additions, competitor gaps, geogrid tracking recommendations. The research that makes every other workflow work.

Get on GitHub

The Local Keyword Research Skill: The Foundation Everything Else Builds On

Your client has been targeting “HVAC repair Dallas” for eighteen months. Rankings are mediocre. The GBP has one secondary category. The geogrid tracks three keywords someone chose because they sounded right.

You’re four months into the engagement before you realize: the highest-volume query in the market is “AC installation Dallas” — a concept the client has zero coverage for. The GBP doesn’t list it as a service. There’s no page for it. It doesn’t appear in the geogrid tracking.

You’ve been optimizing around the wrong concept cluster because nobody did the keyword research before the campaign started.

The GBP work was solid. The content was well-written. The technical setup was clean. None of it mattered because the foundation was assumptions instead of evidence.

The Shift

Keyword research runs first. Every time. Before the GBP audit, before the geogrid setup, before a single piece of content is planned.

The local-keyword-research skill produces the complete foundation: the geo-modified keyword set organized by intent, the GBP service and category additions that fall out of the research, the concept clusters ready to hand to local-content-strategy, the geogrid tracking keywords selected on evidence rather than assumption.

The campaign starts with a map instead of a guess.

What This Looks Like

Prompt: "Do keyword research for an HVAC company in Dallas TX.
Top 20 transactional keywords with volume and competition,
top 10 informational content keywords,
GBP service additions,
and keyword gaps vs. [competitor domain]."

Skills fired: dispatch → local-keyword-research + localseodata-tool
Data pulled: keyword_suggestions, search_volume, related_keywords,
             keywords_for_site, ai_keyword_data

═══════════════════════════════════════════════════════════════

LOCAL KEYWORD RESEARCH: HVAC — Dallas TX

═══════════════════════════════════════════════════════════════

TRANSACTIONAL KEYWORDS

Keyword                          | MSV  | Comp   | Intent    | Action
"ac installation dallas"         | 590  | HIGH   | Transact  | Location page
"hvac repair dallas"             | 480  | HIGH   | Transact  | Location page
"air conditioning company dallas"| 320  | HIGH   | Transact  | Location page
"furnace repair dallas tx"       | 210  | MEDIUM | Transact  | Location page
"ac repair dallas"               | 180  | HIGH   | Transact  | Location page
"hvac maintenance dallas"        | 140  | MEDIUM | Transact  | GBP service
"emergency ac repair dallas"     | 90   | MEDIUM | Transact  | Location page + GBP
"heating repair dallas"          | 85   | MEDIUM | Transact  | GBP service
"ac tune up dallas"              | 70   | LOW    | Transact  | GBP service
"hvac installation dallas tx"    | 65   | MEDIUM | Transact  | GBP service
[continues to 20...]

═══════════════════════════════════════════════════════════════

INFORMATIONAL / CONTENT KEYWORDS

Keyword                                      | MSV | Action
"how much does ac installation cost dallas"  | 480 | Blog/FAQ — AI Overview
"when should i replace my hvac system"       | 390 | Blog/FAQ — AI Overview
"how often should hvac be serviced"          | 260 | Blog/FAQ
"what size ac unit do i need"                | 210 | Blog/FAQ — AI Overview
"signs your ac is failing"                   | 170 | Blog/FAQ
"hvac warranty what's covered"               | 90  | Blog/FAQ
[continues to 10...]

═══════════════════════════════════════════════════════════════

GBP SERVICE ADDITIONS (add these today)

→ AC Installation
→ Furnace Repair
→ Emergency AC Repair
→ HVAC Maintenance
→ Air Quality Testing
→ Duct Cleaning
→ Heating System Installation
→ AC Tune-Up

═══════════════════════════════════════════════════════════════

GBP SECONDARY CATEGORIES (add these today)

→ "Air Conditioning Contractor" (if not primary)
→ "Furnace Repair Service"
→ "Heating Contractor"
→ "Indoor Air Quality Service"

═══════════════════════════════════════════════════════════════

COMPETITOR KEYWORD GAP

[Competitor domain] ranks for these keywords you don't:

"hvac financing dallas"          | 170/mo | MEDIUM
  Not in your coverage — consider adding financing page/content

"commercial hvac dallas"         | 140/mo | HIGH
  If you serve commercial, build coverage; if not, ignore

"same day ac repair dallas"      | 90/mo  | MEDIUM
  Urgency variant — add as GBP service, mention on emergency page

═══════════════════════════════════════════════════════════════

NEAR-ME NOTE

"hvac near me", "ac repair near me", "heating repair near me"
These are won through GBP signals — proximity + prominence + relevance.
No location page needed. Action: GBP optimization only.

═══════════════════════════════════════════════════════════════

GEOGRID TRACKING RECOMMENDATIONS

Track these 4 keywords:

1. "hvac repair dallas"
   Primary concept, highest general revenue impact.
   Track on 7x7 grid, 1mi spacing, centered on business.

2. "ac installation dallas"
   Distinct high-value job type, different from repair.
   Seasonal peak in spring — track year-round for baseline.

3. "furnace repair dallas tx"
   Winter revenue concept, distinct from AC.
   Seasonal peak Nov-Feb.

4. "emergency ac repair dallas"
   Urgent leads, highest conversion rate.
   Geographic spread matters — emergencies across service area.

═══════════════════════════════════════════════════════════════

That’s the output. Not a list of keywords to think about — a complete foundation with every decision made: what to build, what to add to GBP, what to track, what competitors have that you don’t.

What This Skill Covers

Geo-modified keyword generation across city, neighborhood, and service-area levels. The full matrix of service terms × geographic modifiers, filtered to what actually has search volume.

Intent classification for every keyword. Transactional, informational, near-me, navigational — each classification determines what content vehicle serves that keyword. The classification is shown in the output so you know why each recommendation is made.

Volume and competition data via LocalSEOData. Monthly search volume calibrated for local markets (50 MSV in a specific city is meaningful), competition level based on who’s ranking.

GBP service and category additions directly from the research. Every service-specific keyword cluster produces a GBP service recommendation. Categories that expand query eligibility are identified.

Competitor keyword gap analysis via keywords_for_site. What competitors rank for that you don’t. The gap reveals concept coverage they’ve built — concepts you might need to build coverage for.

AI search keyword identification via ai_keyword_data. Question-format and conversational queries that generate AI Overviews. High-value opportunities for content that appears in both traditional and AI-mediated search.

Geogrid tracking recommendations with reasoning. Not arbitrary keyword selection — keywords selected because they represent distinct concept clusters, primary revenue services, and different intent types worth tracking separately.

Near-me keyword handling. Explicitly flagged as “GBP signal only — no page needed.” The output explains why: near-me intent is answered by the map pack based on proximity, not by page content.

Who Uses This and When

First step of every new client engagement. Before GBP audit, before content planning, before geogrid setup. The keyword research produces the foundation everything else builds on.

Quarterly refresh for active campaigns. Markets shift. New competitors appear. Search patterns change. Keyword research that’s current produces strategy that’s relevant.

When a client’s rankings plateau despite technical work. If the GBP is optimized, citations are clean, content exists — and rankings aren’t moving — the problem might be the keyword foundation. You might be optimizing for the wrong concepts.

Any time someone asks “what keywords should we be targeting?” That’s the trigger. The skill produces the answer with evidence and actions.

The Workflow This Starts

local-keyword-research (this skill)

    Produces: keyword foundation with intent, GBP actions, gaps

local-content-strategy

    Produces: concept clusters, page assignments, production priority

local-content-briefs

    Produces: what each content piece must contain

local-landing-pages / execution

    Produces: actual content

local-seo-audit

    Measures: coverage gaps, performance, what to build next

Keyword research is step one. The output feeds directly into content strategy. Content strategy feeds into briefs. Briefs feed into execution. The workflow chains because the skills were designed to chain.

Cost of Absence

Without this skill, keyword selection is intuition.

GBP categories are guesses — someone picked what felt right without checking what queries those categories actually surface for.

Geogrid tracks whatever seemed important — three keywords chosen in a meeting, never validated against actual search demand.

Content targets whatever the client mentioned — pages built for concepts that don’t match how customers actually search.

The campaign runs for months before someone notices the highest-volume concept in the market isn’t covered at all.

With this skill, every subsequent workflow starts from evidence:

  • GBP categories match the concept clusters customers search for
  • Geogrid tracks keywords that represent actual revenue opportunities
  • Content strategy builds coverage for concepts with proven demand
  • Competitive analysis shows gaps worth closing vs. gaps that don’t matter

The foundation is solid. Everything built on it works better.

What Comes Next

After the keyword research runs:

Immediate (today): Add the GBP services and categories from the output. This takes 30 minutes and expands query eligibility immediately. No content required.

This week: Run local-content-strategy against the keyword output. Get the concept clusters, page assignments, and production priority.

First 30 days: Build content for the highest-priority concept clusters. The strategy output tells you which ones.

Ongoing: Quarterly keyword research refresh. Check for new opportunities, emerging competitors, shifts in the market.

The First Prompt

"Do local keyword research for [business type] in [city].
Give me:
- Top 20 transactional keywords with volume, competition, and intent
- Top 10 informational/content keywords
- GBP service and category additions
- Keyword gaps vs. [competitor domain]
- Geogrid tracking keyword recommendations"

The foundation is built. Everything else can follow.

Skill Documentation

For technical details on how this skill works, what data it pulls, and complete prompt reference, see the full skill documentation.

All 36 skills. Free. Open source. Get on GitHub →