# Geo Content Planning

Reads existing brand DNA, keywords.csv, and prompts.csv, then produces a plan.csv, a...

- Repository: https://github.com/onvoyage-ai/gtm-engineer-skills (1345 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-11
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add onvoyage-ai/gtm-engineer-skills --skill geo-content-planning -g -a claude-code -y`
Codex: `npx skills add onvoyage-ai/gtm-engineer-skills --skill geo-content-planning -g -a codex -y`
Cursor: `npx skills add onvoyage-ai/gtm-engineer-skills --skill geo-content-planning -g -a cursor -y`
Gemini CLI: `npx skills add onvoyage-ai/gtm-engineer-skills --skill geo-content-planning -g -a gemini-cli -y`

## Description

Reads existing brand DNA, keywords.csv, and prompts.csv, then produces a plan.csv, a strictly-schema'd content architecture telling the next pipeline step which pages to create, for which keyword/prompt clusters, and in what build order.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

The rest: https://github.com/onvoyage-ai/gtm-engineer-skills/blob/HEAD/geo-content-planning/SKILL.md
