geo-content-planning

geo-content-planning is a skill for Claude Code, Codex from onvoyage-ai/gtm-engineer-skills. It costs 52 tokens per session (1,965 once invoked), scanned A, original, MIT.

A planning guide that turns existing brand information, keyword lists, and AI-search questions into an ordered content plan. GEO means making content easier for AI answer systems to find and cite.

In plain words
What is it for?
Use it to group keywords and questions, decide which pages to create, connect each page to its targets, and set the build order in plan.csv.
Why use it?
It prevents content planning from becoming disconnected from the research already completed or from producing pages with no clear target.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to group keywords and questions, decide which pages to create, connect each page to its targets, and set the build order in plan.csv.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning
About the project

GTM Engineer Skills is a collection of agent workflows that research brands and markets, plan searchable content, audit websites for visibility in AI-generated answers, and produce related marketing files or code changes. Marketing and growth operators use it to improve how websites are discovered, cited, and understood by search engines and AI assistants. The catalogue entries are the project's individual skills.

onvoyage-ai/gtm-engineer-skills · 1,301 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add onvoyage-ai/gtm-engineer-skills --skill geo-content-planning
Clone the repo
git clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for geo-content-planning

README.md
[![agentmods](https://agentmods.dev/badge/skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning/github.svg)](https://agentmods.dev/skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning)
Your own site
<a href="https://agentmods.dev/skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning"><img src="https://agentmods.dev/badge/skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for geo-content-planning

Your own site · 80×15
<a href="https://agentmods.dev/skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning"><img src="https://agentmods.dev/badge/skills/onvoyage-ai/gtm-engineer-skills/geo-content-planning.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,965 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00052 $0.01965
Opus 5 $0.00026 $0.00983
Sonnet 5 $0.00010 $0.00393
Haiku 4.5 $0.00005 $0.00197

Measured 12d ago against content hash 067ce10c007f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

geo-content-planning scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

geo-content-planning/SKILL.md · 126 lines

How it starts

The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.

GEO Content Planning — Produce plan.csv

You are a GEO content planner. Your job is to read the brand context and the prior research artifacts that already exist, then emit a strictly-formatted CSV that the next pipeline step can consume to build content.

This skill is planning only. Do not generate articles. Do not do new research — cluster what already exists.

Output contract: Your final response text IS the deliverable. It MUST be raw CSV matching plan.csv.schema.md exactly. No prose, no code fences, no explanation. The harness captures your final output, validates it, cross-references it against keywords.csv and prompts.csv, and fails the artifact if any referenced keyword or prompt does not exist in those files.

Required inputs: The harness injects these into your context automatically:

  • brand_dna.md — brand positioning, voice, audience
  • keywords.csv — SEO keyword targets (columns: keyword, volume, kd, intent, priority, cluster, is_pillar, ai_overview_present, source, notes)
  • prompts.csv — GEO prompt targets (columns: prompt, tier, citability, competition, priority, query_type, cluster, target_engines, brand_mention_mechanism, notes)

You MUST reference real entries from these files. Do not invent keywords or prompts.


Workflow

1. Read the inputs

From brand_dna.md: extract what the company sells, its audience, and top differentiators.

From keywords.csv: note the keywords grouped by cluster and sorted by priority (easy_win → target → content → hard). Focus on is_pillar=true rows — they're the anchors of each cluster.

From prompts.csv: focus on tier=buy and tier=solve rows with priority=easy_win or priority=target. These are where the brand can realistically get mentioned. De-emphasize tier=learn and skip priority=skip entirely.

2. Cluster into pages

Do NOT create one page per prompt. Group closely related prompts + keywords into a single page. A good page covers:

  • 1 main topic
  • 1–3 primary keywords (from keywords.csv)
  • 3–6 related GEO prompts (from prompts.csv)
  • One clear intent (buy / solve / learn)

Read the full file on GitHub · 126 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 126 lines · 52 tokens per session scan A 067ce10c007f

Subscribe to this mod's changes

geo-content-planning is a skill published in the GitHub repository onvoyage-ai/gtm-engineer-skills (1,301 stars, last pushed 3mo ago), licensed MIT. It adds 52 tokens to every session and 1,965 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

bytesagain-geo-seo

GEO SEO — Generative Engine Optimization reference. Complete guide for optimizing websites for AI search engines. Covers llms.txt spec, GEO checklist, automated scanning, AI bot tracking with nginx, AEO (Answer Engine Optimization) for getting cited by ChatGPT/Perplexity/Gemini, citation monitoring, and content…

bytesagain/ai-skills · 77 tokens

geo-optimizer-skill

Run geo audit first. It scores the site 0–100 across 8 categories and generates a prioritized action list.

Auriti-Labs/geo-optimizer-skill · 0 tokens

content-thicken

Evidence-driven blog driver. Takes ONE target from the fused search plus AI-answer content library, pulls the real questions it has to answer, drafts a thick long-form guide against a template contract, validates it deterministically, and stops at preview. Two modes, thicken an already-earning post IN PLACE (never…

Jasper0122/agent-seo-kit · 126 tokens

backlink-outreach

Find, evaluate, pitch and track natural backlink and content partnerships. Prospects come from the GEO citation data rather than a generic blog search: the targets are the pages an AI already cites when answering your category questions. Research runs on the Monid tool layer (web search and scrape, authority metrics…

Jasper0122/agent-seo-kit · 133 tokens

geo-monitor

Run and read the GEO pipeline, which measures whether AI answer engines mention, recommend and cite your site. Puts a fixed registry of real user questions to an answer engine through the Monid tool layer, detects the three signals plus competitors, and turns "a rival is named and we are not" into a tracked work…

Jasper0122/agent-seo-kit · 159 tokens

seo-intake

Run and read the SEO intake pipeline. Pulls the organic keyword set for your domain and for each competitor through the Monid tool layer, computes the gap locally, and routes every keyword to the one action that can help it (write-new / striking / build-depth / defend / noise). Use when asked to refresh the SEO queue…

Jasper0122/agent-seo-kit · 117 tokens