From local-seo-skills
Builds local content strategy from keyword research: clusters concepts, assigns vehicles (location pages, GBP, blogs, FAQs), selects geogrid trackers, confirms GBP category/services, designs internal linking.
npx claudepluginhub garrettjsmith/localseoskillsThis skill uses the workspace's default tool permissions.
Transform a keyword list into a complete local content architecture — organized concept clusters, content vehicle assignments, production priority order, geogrid tracking keyword selection, GBP optimization confirmations, and internal linking structure. This skill turns research into a plan.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Transform a keyword list into a complete local content architecture — organized concept clusters, content vehicle assignments, production priority order, geogrid tracking keyword selection, GBP optimization confirmations, and internal linking structure. This skill turns research into a plan.
local-keyword-research → [THIS SKILL] → local-content-briefs → local-landing-pages
Input: keyword list (from local-keyword-research or provided directly) Output: complete content strategy document ready to brief and execute
A keyword list tells you what people are searching for. A content strategy tells you what to build, where to build it, how deeply to cover each topic, and in what order. The two most common mistakes practitioners make with a keyword list: (1) trying to target each keyword individually instead of grouping related terms into concept clusters, and (2) defaulting to "write a page for this" when many keywords are won through GBP signals and don't need a page at all.
This skill does the organizing work that usually happens in a spreadsheet over several hours — automatically, with reasoning attached to every decision.
Group the keyword list into concept clusters. A concept cluster is a set of keywords that share the same underlying topic and user intent — they would all be served by the same piece of content or the same GBP optimization.
Clustering rules:
Output per cluster:
For each concept cluster, assign the right content vehicle. This is the most consequential decision in the strategy — the wrong vehicle means the content either doesn't rank or doesn't convert.
Content vehicle decision logic:
Location page — assign when:
GBP service entry — assign when:
GBP category — assign when:
Blog post / FAQ content — assign when:
Near-me / GBP signal only — assign when:
Pillar page — assign when:
No action required — assign when:
Compare the content vehicle assignments against the business's current content inventory (if provided) or against what would be needed for complete coverage.
Identify:
From the full concept map, select 3–5 keywords for geogrid tracking. These are not necessarily the highest-volume keywords — they are the keywords that best represent the business's concept coverage and for which geographic ranking variation is most meaningful.
Geogrid keyword selection criteria:
Output: ranked geogrid tracking list with reasoning per keyword selection.
Confirm the GBP actions that fall out of the concept map:
Design the internal link structure that connects the content vehicles into a coherent topic cluster:
# Local Content Strategy: [Business Name] — [Market]
## Concept Clusters (N total)
### Cluster 1: [Concept Name]
Primary keyword: [keyword] | MSV: [X]
Supporting keywords: [list]
Intent: [Transactional / Informational / Near-me]
Competition: [High / Medium / Low]
Content vehicle: [assignment]
Reasoning: [1-2 sentences explaining the assignment]
[repeat for all clusters]
---
## Content Vehicle Summary
### Location Pages to Build (N)
| Page | Primary Concept | Primary Keyword | Priority |
|------|----------------|-----------------|----------|
| [page slug] | [concept] | [keyword] | P1/P2/P3 |
### GBP Actions
Categories to add: [list]
Services to add: [list]
Attributes to confirm: [list]
### Blog / FAQ Content to Create (N)
| Topic | Primary Concept | Format | Priority |
|-------|----------------|--------|----------|
### Near-Me Clusters (GBP signal only, no content needed)
[list]
---
## Geogrid Tracking Keywords
1. [keyword] — reasoning: [why this represents the concept well for geogrid]
2. [keyword] — reasoning:
3. [keyword] — reasoning:
[4-5 total]
---
## Coverage Gaps (Priority Order)
1. [Gap description] — [impact on visibility if unaddressed]
2. [Gap description]
[continues]
---
## Internal Linking Architecture
Hub: [page] — receives links from all spokes
Spokes: [list of pages with their hub connection]
Cross-links: [relevant spoke-to-spoke connections]
---
## Production Priority Order
Phase 1 (immediate — GBP actions, no content needed):
[GBP changes that can be made today]
Phase 2 (first 30 days — high-impact content):
[Location pages and GBP services for primary concept clusters]
Phase 3 (30-90 days — supporting content):
[Blog/FAQ content, secondary location pages]
Phase 4 (ongoing):
[Long-tail content, content refresh, gap filling]
When keyword list is not provided: Run local-keyword-research first, then pass the output directly into this skill. The two skills chain naturally.
When business context is limited: Ask for: business type, primary services, locations served, and one or two competitors currently outranking them. This context improves cluster assignments significantly.
When client has existing content: Request a URL list or sitemap. The skill will audit current coverage against the concept map and identify gaps, duplicates, and misassigned pages before recommending new content builds.
Connection to local-content-briefs: This skill produces the strategy. The local-content-briefs skill takes each content vehicle assignment from this output and produces a full semantic content brief. The two skills are designed to chain: run local-content-strategy first, then run local-content-briefs for each piece identified.