Install any skill in seconds. Free to start, no credit card required.
Get Started Free →onvoyage-ai/geo-content-planning
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.
Passed 14 of 23 test cases with the skill, and 3 of 23 without it.
and 13 more in the full report
12 fixed2 passed either way8 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
Create a plan.csv file from our current prompt targets and keywords. csv dataset. Assign all items to secondary priority levels since this is a background backlog build. Output only raw CSV starting with the header.
| Checked | Without skill | With skill |
|---|---|---|
| At least one page entry in the CSV uses p1 as its priority value | Missed | Passed |
The instructions your model reads when the skill loads.
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.mdexactly. No prose, no code fences, no explanation. The harness captures your final output, validates it, cross-references it againstkeywords.csvandprompts.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, audiencekeywords.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.
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.
Do NOT create one page per prompt. Group closely related prompts + keywords into a single page. A good page covers:
keywords.csv)prompts.csv)Good page clusters:
test cases passed, vs 3 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.