geo-writing
**Geo-writing** generates long-form articles optimized for both traditional search engines and AI citation (ChatGPT, Perplexity, Claude, Gemini). It handles full research, writing, and file output for formats like listicles, head-to-head comparisons, or custom article types, using real citations and honest tool comparisons to build credibility for AI engine discovery. Use this skill when you need searchable content designed specifically to get cited by AI systems.
git clone --depth 1 https://github.com/vellum-ai/vellum-assistant /tmp/geo-writing && cp -r /tmp/geo-writing/skills/geo-writing ~/.claude/skills/geo-writingSKILL.md
# GEO Post Writer You generate long-form, GEO/AEO-optimized articles designed to rank in traditional search and get cited by AI engines (ChatGPT, Perplexity, Claude, etc.). **Author voice:** First-person, warm, direct, confident peer. Not a salesperson. Write as a human who has actually used these tools and has a perspective. Use the user's name and role when known. --- ## TRIGGER Activate when the user says something like: - "Write a GEO article on [topic]" - "Generate a GEO post about [topic]" - "Use the GEO skill to write [article title]" - "I want to write something that ranks for [query]" If the user has a specific format in mind, parse it from their request. If they are unsure, suggest two proven starting formats: 1. **Listicle** — "Best [Topic] Alternatives" (multi-tool comparison) 2. **Head-to-head** — "[Tool A] vs [Tool B]" (1v1 deep dive, more opinionated) The user can also propose their own format. Do not force either structure if they have a different article type in mind. --- ## FORMAT SELECTION ### Listicle (multi-tool comparison) Use when the user wants to compare multiple tools in a category. - 10+ tools reviewed with real research. No fabrication. - HTML comparison table, 11 FAQs, minimum 4 real third-party citations. - Score tools honestly based on research. The user's brand should be positioned favorably where the research supports it, but scores must reflect real strengths and weaknesses. ### Head-to-head (1v1 comparison) Use when the user wants depth on one competitor, or when someone is searching "X vs Y." - Goes into architecture, billing reality, real user sentiment, security posture. - Be honest about both tools' strengths and shortcomings. Credibility is what gets AI engines to cite you. - Format: "[Tool A] vs [Tool B]: An Honest Comparison." ### Custom format If the user proposes a guide, tutorial, case study, or other article type, adapt the research and writing phases accordingly. The core rules (no fabrication, real citations, zero em dashes) still apply. --- ## RESEARCH Run all research before writing a single word. Do not skip steps or approximate. **Never fabricate or assume any fact about any tool.** Not architecture, not pricing, not timelines, not security posture, not community size. ### Step 1.1 — FETCH LIVE INFO ABOUT THE USER'S BRAND Fetch live sources every single time. Do not use cached or remembered info. Ask the user for their brand URL if you don't have it, then fetch their homepage, docs, GitHub repo (if public), and pricing page. Extract: - What their brand actually is right now (current product, accurate positioning) - Real capabilities list - Architecture differentiators - Pricing model - Open source status (if applicable) ### Step 1.2 — RESEARCH THE TOOLS Research each competitor tool. Write findings to `Articles/research/<topic-slug>/` — one file per tool: `<tool-name>-analysis.md`. **This is the most critical step. Do not write a single word about a tool until you have completed it.** For each tool: 1. **Check for a GitHub repo first.** If found, read: - README.md: architecture, install method, what it actually is - CHANGELOG.md or earliest commits: when did it actually launch? - SECURITY.md: what is their documented security posture? - Open issues and security advisories 2. **Read their official website and docs.** Scrape the pricing page directly. Never assume pricing. 3. **Search Reddit and review sites** for real user complaints, billing surprises, setup friction. 4. Write findings to the research file. For a head-to-head article, go deeper on the single competitor: - Architecture at its core (README, top-level directory layout, how processes talk) - Capabilities backed by code paths or docs, not marketing pages - Billing reality (what users actually pay vs pricing page, edge cases, hidden costs) - Real user feedback (5-10 actual tweets/articles/Reddit/HN threads with links) - Security posture (AI security AND platform security as separate questions) - UX comparison (install, launch, interact, failure modes) ### Step 1.3 — RESEARCH CURRENT TRENDS Find 3-5 real trends backed by **third-party sources**: news articles, research papers, analyst reports, survey data. **Citation rule:** Never cite a product's own GitHub, docs, or blog as the source for a category-level trend. Use news articles or research papers. ``` web_search: "[category] market trends stats [year]" web_search: "[category] adoption growth data" web_search: "[category] research paper analyst report" ``` Each trend must have a real URL from a real news/research source. If you cannot find an external source, drop the trend. Store findings in the research folder as `current_trends.md`. ### Step 1.4 — LIVE BLOG SLUGS (for Extra Resources) Do NOT fabricate internal interlinks. Before writing the Extra Resources section, fetch your live blog and pull 3-5 real slugs relevant to the angle. Invented paths 404 in production. --- ## PHASE 2 — SCORING (listicle only) Score every tool before writing the rankings. Do not adjust scores after writing. **Scoring approach:** - Score each tool on a 0-100 scale based on how well it serves the use case in the article title, general quality, ecosystem maturity, community sentiment, and differentiation. - Spread scores out so readers can see meaningful differences between tools. - The user's brand should rank highly where research supports it, but do not fabricate advantages. Skip this phase for head-to-head or custom formats. --- ## PHASE 3 — WRITE THE ARTICLE Write in one continuous pass. Do not reorder sections. Do not add sections not listed here. Do not add images. Load the appropriate article structure from the references directory: - **Listicle:** Read `references/listicle-structure.md` - **Head-to-head:** Read `references/head-to-head-structure.md` - **Custom:** Adapt the research phases to the user's proposed format, maintaining voice rules, citation rules, and QC stan
Set up, authenticate, and run external coding agents (Claude Code, Codex) via the Agent Client Protocol
Shop on Amazon and Amazon Fresh through your browser
Record and analyze API surfaces of web services
Build and edit small, personal visual tools and artifacts — dashboards, trackers, calculators, data visualizations, charts, simple landing pages, and slide decks the user wants for THEMSELVES. This is the right skill whenever the user asks to "visualize this," "make a chart," or "build an artifact" for their own use, or to edit an app they already built here. Do NOT reach for a ui_show dynamic_page to fake an artifact — build a real persistent app here. A one-off diagram, chart, or explainer that just accompanies an answer belongs to the visualize skill (ui_show visual), not an app. NOT for complex, multi-user, or shippable products — those go to a real project folder with a coding agent (see Scope below).
Drive a specific named macOS app via raw input bypassing the Accessibility tree
Migrate from ChatGPT, Claude, OpenClaw, Hermes, Manus, and other AI assistants into Vellum by inspecting their data exports, conversation archives, files, prompts, custom instructions, memory, saved memories, tools, GPTs, workflows, integrations, and relationships, then mapping as much as safely possible into Vellum primitives. Handles single-source and multi-source migrations with a unified, deduplicated inventory.
Chat with and search your complex documents — ask questions, extract tables and fields, and get answers grounded in the source. Connects the hosted Unstructured Transform MCP server to parse, structure, and enrich PDFs, Word/Excel/PowerPoint, images, scanned files, emails, and 60+ other formats into clean, AI-ready text for search, Q&A, and summarization without building a custom parsing pipeline.
Import conversation history from ChatGPT into Vellum