Geo Fundamentals
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
Find the questions people ask about a market, how ChatGPT answers them, and which sites get cited in the answers.
$ npx skills add every-app/open-seo --skill ai-prompt-research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install every-app/open-seo ai-prompt-research --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/every-app/open-seo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ai-prompt-research .claude/skills/ai-prompt-research && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ai-prompt-research" agent skill from https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-research into .claude/skills/ai-prompt-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-prompt-research", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-researchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add every-app/open-seo --skill ai-prompt-research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install every-app/open-seo ai-prompt-research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/every-app/open-seo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ai-prompt-research .agents/skills/ai-prompt-research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ai-prompt-research" agent skill from https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-research into .agents/skills/ai-prompt-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-prompt-research", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add every-app/open-seo --skill ai-prompt-research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install every-app/open-seo ai-prompt-research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/every-app/open-seo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ai-prompt-research .cursor/skills/ai-prompt-research && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ai-prompt-research" agent skill from https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-research into .cursor/skills/ai-prompt-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-prompt-research", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/every-app/open-seo.git --path .agents/skills/ai-prompt-research--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add every-app/open-seo --skill ai-prompt-research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install every-app/open-seo ai-prompt-research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/every-app/open-seo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ai-prompt-research .gemini/skills/ai-prompt-research && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ai-prompt-research" agent skill from https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-research into .gemini/skills/ai-prompt-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-prompt-research", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install every-app/open-seo ai-prompt-researchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add every-app/open-seo --skill ai-prompt-research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/every-app/open-seo.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ai-prompt-research .github/skills/ai-prompt-research && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ai-prompt-research" agent skill from https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-research into .github/skills/ai-prompt-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-prompt-research", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add every-app/open-seo --skill ai-prompt-research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install every-app/open-seo ai-prompt-research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/every-app/open-seo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ai-prompt-research .opencode/skills/ai-prompt-research && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ai-prompt-research" agent skill from https://github.com/every-app/open-seo/tree/main/.agents/skills/ai-prompt-research into .opencode/skills/ai-prompt-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ai-prompt-research", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ai-prompt-researchFind the questions people ask about a market, how ChatGPT answers them, and which sites get cited in the answers.
AI Prompt Research is an agent skill from every-app/open-seo. Find the questions people ask about a market, how ChatGPT answers them, and which sites get cited in the answers. Use when the user asks what people ask AI about their niche, wants prompt ideas, or wants to know where their brand is missing before choosing prompts to track. Research only; it never saves tracking or starts answer collection.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO. It works with OpenAI. The repository describes itself as: Open source alternative to Semrush and Ahrefs. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 89e5a00. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
openseo.soFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
AI Prompt Research loads about 2.5k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 1,505 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from every-app/open-seo at commit 89e5a00, republished under its MIT licence (© every-app). 1,505 words, ~2,503 tokens.
.claude/skills/ai-prompt-research/SKILL.md (or your agent's skills folder).Answer "What are people asking ChatGPT about my market, and who gets cited when they do?" with the questions in DataForSEO's dataset, ChatGPT's answers to them, and the sites the answers rely on. Keyword research finds what people type into Google; this finds what they ask an AI assistant.
The deliverable is a short ranked list of prompt groups worth caring about, with where the brand already appears, where it is missing, and which domains own the citations. Tracking those prompts is a separate decision the user makes in Prompt Tracking.
The project-context tools are free and shared with the app and other agents.
list_projects, ask only if the match is ambiguous, then call get_project_context. In SAM, use the current project and context already injected into the conversation; SAM has no get_project_context tool and needs no project selection or connection setup.business_overview, audience, competitors and key pages. If business_overview is empty, infer it from the site, confirm it in one question, and save it with update_project_context.get_ai_visibility_tracker to learn the saved topics and prompts. Prompts already tracked are marked tracked in research results; do not present them as new ideas. brandMentioned matches the tracker's own brand, whose name is the project name; if the project is not named as people write the brand, treat brand mentions as unknown and say so.update_project_context: { updates: [{ appendResearchLog: { summary: "AI prompt research: <keywords>. Verdict: <conclusion>" } }] }.research_ai_visibility_prompts: questions about one keyword, matched in questions and answers and kept only when they ask the keyword phrase or cite sites that rank on Google for it or belong to the project or its competitors, with near-duplicates merged and the most common first. Each prompt has cited sources (with own marked), ownDomainCited, brandMentioned and tracked. One prompt search and one Google results lookup per keyword, cached for 24 hours. US English only. Requires a paid plan in hosted mode.explore_prompt: optional. Asks ChatGPT one prompt through its API and returns today's answer, citations, a brandMentioned flag for highlightBrand, and fanOutQueries, the web searches the model ran before answering. Charged at actual usage per uncached answer; cached answers are free for seven days. Requires a paid plan in hosted mode.list_saved_keywords and, when connected, a bounded get_search_console_performance read: free sources of head terms the business already cares about.Research uses usage credits. The questions come mostly from Google "People also ask" data, not logged ChatGPT prompts, and nobody can see how often a question is asked in ChatGPT. Never present a question as a real user prompt or attach a demand number to it.
Build 5–15 candidate head terms of one to three words: the product category, the main problems it solves, and the use cases the business names. Take them from project context, saved keywords and Search Console queries before inventing new ones. Exact long phrases return few prompts; "crm" beats "best crm for small agencies".
Pick the two to four terms that fit the business best. Name the ones you dropped and why in one line.
Call research_ai_visibility_prompts once per chosen term. Each call returns up to about 100 prompts with their sources, so keep to two or three terms unless the user asks for more, and summarize each result before the next call. Prompts about other meanings of the same words are filtered out, so an ambiguous or niche term can return only a few. If a term returns nothing, retry once with a shorter or broader form before dropping it.
If the market is not US English, say so before spending: research results cover US English questions and ChatGPT answers only. They can still suggest themes, but do not present them as the user's market.
Group the returned prompts by intent, not by wording:
Related terms return overlapping prompts: one prompt can contain the words of two researched terms and come back from both calls. Before grouping, merge the prompts from all calls by their normalized text (lowercase, trimmed, collapsed whitespace), keep one copy with its sources, and note which terms returned it.
Drop prompts that share the words but not the market, such as academic "keyword research paper" prompts for an SEO tool, and say how many you dropped. Count source domains by registrable domain: www.semrush.com, semrush.com and sv.semrush.com are one domain. Prompts with an empty sources list have no recorded citations; count them separately rather than as answers that cite nobody.
For each group, record the number of distinct prompts, how many cite the project's domain, how many mention the brand, and the three to five domains cited most often across its prompts. Choosing prompts usually matter most to a business, because the answer names products.
An opening is a group with many prompts where the brand is mentioned or cited in few of them. Rank openings by fit to what the business sells first, then group size. For the leading two or three, name:
That source mix is the useful finding. "Answers about X cite three list articles and a Reddit thread" tells the user where to show up; a single prompt does not.
Optionally check the leading opening against today's answer: ask once whether to spend a small amount of credit, then call explore_prompt with its most representative prompt, the default ChatGPT model and highlightBrand set to the brand. Report whether today's answer names the brand and cites the same kinds of sources as the recorded prompt, and list its fanOutQueries as the searches ChatGPT ran; they are candidate terms for keyword-research. One prompt is a spot check, not a measurement. If the call fails, such as no paid plan, skip it and say so.
Pick 10–20 neutral prompts across the openings and the groups where the brand already appears, so tracking shows both gains and losses. Keep each prompt's exact text. Offer to add them with Track selected on the app's Prompt Research page, which saves them under a topic without collecting answers. Do not save or start collection from this skill.
Deliver through the seo-report skill, saving with skill: "ai-prompt-research" and a title like "AI Prompt Research — Oct 2, 2026". If that skill is unavailable, return the same content in chat. Sections, in order:
h3 per leading opening with representative prompts, the brand's presence, and the cited domains with their source type.seo-report (URL https://openseo.so/docs/skills/ai-prompt-research, text "OpenSEO AI Prompt Research skill"), the keywords researched, the market (US English), the research date, any prompt checked with explore_prompt, and a note that the questions and answers come from DataForSEO's dataset, built mostly from Google "People also ask" questions, not logged ChatGPT prompts or OpenSEO's own collected answers.In chat, lead with one shareable line built from the evidence, for example: "ChatGPT's answers about AI meeting notes cite G2 and two Reddit threads, not your site." Then the report link.
ai-visibility-audit reads them. An explore_prompt spot check is one API answer, not a tracked observation.© every-app, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/ai-prompt-research of every-app/open-seo.
Open the folder on GitHubat commit 89e5a00
AI Prompt Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| AI Prompt Research this skillevery-app/open-seo | 23k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Geo Fundamentalswasp-lang/wasp | 19k | 9 repos | ~861 | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | Automated safety check: Notes | MIT | |
| SEO DataforseoAgriciDaniel/codex-seo | 799 | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Fire Your SEO Agencyleopard627/fire-your-seo-agency | 711 | — | ~1.1k | Automated safety check: Pass | MIT |
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
AgriciDaniel/codex-seo
Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.
leopard627/fire-your-seo-agency
SEO·AEO·GEO·LLMO·NEO(네이버) 다섯 레인을 진단하고 직접 구현하며, 인용되는 콘텐츠를 계속 생산하는 서브 블로그·콘텐츠 운영 파이프라인까지 세팅하는 스킬.
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
every-app/open-seo
Test a candidate OpenSEO skill end to end by running fresh, isolated Codex sessions against the local backend and scoring the reports they save.
every-app/open-seo
Create or update a skill in this repository the right way — canonical home in .agents/skills, internal-vs-public marking, symlink mirroring into .claude/skills, and public docs registration for…
every-app/open-seo
Remove AI writing patterns from prose so it reads like a person wrote it.
every-app/open-seo
Triage OpenSEO production errors in Cloudflare Workers Observability — verified query recipes, counting gotchas, and a known-noise filter list applied automatically.
every-app/open-seo
Log genuine, recurring repository friction to .agents/PAPERCUTS.md — confusing setup, a flaky repo command or script, a misleading in-repo error, stale generated files, or a non-obvious gotcha that…
every-app/open-seo
Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior.
Works with
Categories
Find the questions people ask about a market, how ChatGPT answers them, and which sites get cited in the answers. AI Prompt Research is an agent skill from every-app/open-seo. Find the questions people ask about a market, how ChatGPT answers them, and which sites get cited in the answers.
AI Prompt Research fits situations like: the user asks what people ask AI about their niche; wants prompt ideas; wants to know where their brand is missing before choosing prompts to track.
Run `npx skills add every-app/open-seo --skill ai-prompt-research -a claude-code`. Or copy the skill folder (.agents/skills/ai-prompt-research in every-app/open-seo) into .claude/skills/ai-prompt-research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add every-app/open-seo --skill ai-prompt-research -a codex`. Or copy the skill folder (.agents/skills/ai-prompt-research in every-app/open-seo) into .agents/skills/ai-prompt-research in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add every-app/open-seo --skill ai-prompt-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-prompt-research, .gemini/skills/ai-prompt-research, .github/skills/ai-prompt-research and .opencode/skills/ai-prompt-research in your project.
SKILL.md names no scripts, command-line tools or credentials: AI Prompt Research is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: openseo.so; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
AI Prompt Research is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with AI Prompt Research: Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars) and SEO Dataforseo (AgriciDaniel/codex-seo, 799 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
every-app (a GitHub organization) maintains it in every-app/open-seo, which has 22,922 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 2026.
Source: every-app/open-seo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.