Local Content Strategy logo

Local Content Strategy

Community
garrettjsmith
local-content-strategy

Build a complete local content strategy from keyword research output. Use this skill when the user has completed keyword research and needs to organize keywords into concept clusters, assign each cluster to the right content vehicle (location page, GBP service, blog post, FAQ, near-me GBP signal), select geogrid tracking keywords, confirm GBP category and service additions, and design the internal linking architecture. Also trigger when the user asks "what content should I build", "how do I organize these keywords", "what pages do I need", "what should I track on geogrids", or provides a keyword list and asks what to do with it. This skill bridges keyword research and content brief production — it is the strategy layer between research and execution.

Overview

Publishergarrettjsmith
Repositorylocalseoskills
Skill namelocal-content-strategy
Stars
140
Forks
27
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by garrettjsmith on GitHub. Read the source before you install it.

Installation

Install the Local Content Strategy AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-content-strategy
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git /tmp/localseoskills
mkdir -p .claude/skills
cp -r /tmp/localseoskills/skills/local-content-strategy .claude/skills/local-content-strategy
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Local Content Strategy in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Local Content Strategy on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Local Content Strategy is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Local Content Strategy Skill

Purpose

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.

Position in the Workflow

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

Core Principle: Keywords Are the Input, Concepts Are What You Build

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.


Process

Step 1: Concept Clustering

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:

  • Geographic variants of the same term belong in the same cluster ("plumber Phoenix" + "plumber Scottsdale" + "plumber near me" are all the same concept at different geographic specificity levels)
  • Service variants belong together ("drain cleaning" + "clogged drain" + "drain backup" = one cluster)
  • A cluster should have one primary concept label — the plain-language name of the topic, not a keyword string
  • Clusters should be mutually exclusive — if a keyword could belong to two clusters, assign it to the one where it represents the core intent

Output per cluster:

  • Cluster name (plain language, not a keyword)
  • Primary keyword (highest volume, most representative)
  • Supporting keywords (variants, long-tail, geo-modified versions)
  • Search volume range across the cluster
  • User intent type (transactional, informational, navigational, near-me)
  • Competitive level (high/medium/low based on available data)

Step 2: Content Vehicle Assignment

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:

  • Cluster has clear transactional local intent
  • Primary keyword includes a city, neighborhood, or service area modifier
  • Search volume justifies a dedicated page (generally 50+ monthly searches)
  • The concept is specific enough to write genuinely unique content for each location

GBP service entry — assign when:

  • Cluster represents a specific service the business offers
  • Keyword has local service intent but lower volume (under 50 MSV)
  • The concept is a service variant rather than a primary service (e.g., "tankless water heater installation" vs. "water heater repair")
  • A dedicated page would be thin — better as a GBP service that expands category coverage

GBP category — assign when:

  • Cluster maps to a GBP secondary category the business should claim
  • Claiming the category expands query eligibility for the entire cluster
  • Note: this is a GBP action, not a content action

Blog post / FAQ content — assign when:

  • Cluster has informational intent (how-to, what-is, comparison, cost questions)
  • User is in the research phase before making a local service decision
  • Content could be cited in AI Overviews or answer PAA questions
  • No transactional local intent — this is awareness/consideration stage content

Near-me / GBP signal only — assign when:

  • Cluster contains near-me variants that can't be targeted with page content
  • These keywords are won through GBP prominence, proximity, and completeness
  • No content action needed — the GBP optimization work covers this cluster
  • Note this explicitly so clients understand why there's no page for these terms

Pillar page — assign when:

  • Cluster represents a broad primary topic the business should own completely
  • Volume and competition justify comprehensive long-form treatment
  • Multiple supporting clusters exist that would link to this as a hub
  • Typically the primary service category for the business

No action required — assign when:

  • Volume is negligible (under 10 MSV) and competition is low for a reason
  • Cluster represents a service the business doesn't offer
  • Keyword is navigational for a competitor

Step 3: Coverage Gap Analysis

Compare the content vehicle assignments against the business's current content inventory (if provided) or against what would be needed for complete coverage.

Identify:

  • Missing coverage — concept clusters with no current content vehicle
  • Thin coverage — clusters with a page that doesn't fully cover the concept
  • Duplicate coverage — multiple pages targeting the same cluster (cannibalization risk)
  • Misassigned coverage — content in the wrong vehicle (a full page for a term that should be GBP-only, or vice versa)

Step 4: Geogrid Tracking Keyword Selection

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:

  1. Clear local pack intent (not informational, not navigational)
  2. One keyword per distinct concept cluster (don't track five plumbing variants — pick one per concept)
  3. Competitive enough that current position matters (top 3 vs. position 8 changes lead volume significantly)
  4. Representative of the business's primary revenue services (track what makes the business money)
  5. Distinct geographic coverage (if the business has multiple service areas, select keywords that test coverage in each)

Output: ranked geogrid tracking list with reasoning per keyword selection.

Step 5: GBP Confirmation

Confirm the GBP actions that fall out of the concept map:

  • Secondary categories to add (each should correspond to a concept cluster)
  • Services to add to the GBP service menu (each should be a cluster with a GBP service assignment)
  • Attributes to claim (which attributes support which concept clusters)
  • Description keywords (which concept clusters should appear naturally in the business description)

Step 6: Internal Linking Architecture

Design the internal link structure that connects the content vehicles into a coherent topic cluster:

  • Hub page — the pillar page or primary location page that all supporting pages link to
  • Spoke pages — location pages and blog posts that link to the hub and to each other where topically relevant
  • GBP-to-website links — which pages should receive the GBP website link (usually the primary location page or homepage depending on the query)
  • Anchor text guidance — what concept-based anchor text to use for each internal link

Output Format

# 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]

Usage Notes

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.

Frequently asked questions

What does the Local Content Strategy AI skill do?

Build a complete local content strategy from keyword research output. Use this skill when the user has completed keyword research and needs to organize keywords into concept clusters, assign each cluster to the right content vehicle (location page, GBP service, blog post, FAQ, near-me GBP signal), select geogrid tracking keywords, confirm GBP category and service additions, and design the internal linking architecture. Also trigger when the user asks "what content should I build", "how do I organize these keywords", "what pages do I need", "what should I track on geogrids", or provides a ke...

Why use Local Content Strategy on TypingMind?

Because you install it once and use it with any model. Local Content Strategy is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Local Content Strategy in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-content-strategy. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Local Content Strategy?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Local Content Strategy?

As many as you like. As long as a model supports skills, you can use Local Content Strategy with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Local Content Strategy AI skill free?

Yes. It is published on GitHub by garrettjsmith under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇