OpenSEO is an open-source SEO platform for keyword research, rank tracking, competitor analysis, backlink analysis, site audits, and AI visibility work. It connects SEO data to AI agents through an MCP server and reusable agent skills, while allowing users to supply their own DataForSEO API key and self-host the tool. Catalogue add-ons guide agents through OpenSEO's SEO workflows.
Borrowing it
Nothing to install: this file belongs to every-app/open-seo. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/every-app/open-seo/main/.agents/skills/ai-prompt-research/SKILL.mdgit clone --depth 1 https://github.com/every-app/open-seoWrote 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.
[](https://agentmods.dev/skills/every-app/open-seo/ai-prompt-research)<a href="https://agentmods.dev/skills/every-app/open-seo/ai-prompt-research"><img src="https://agentmods.dev/badge/skills/every-app/open-seo/ai-prompt-research/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.
<a href="https://agentmods.dev/skills/every-app/open-seo/ai-prompt-research"><img src="https://agentmods.dev/badge/skills/every-app/open-seo/ai-prompt-research.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk warn
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00074 | $0.02173 |
| Opus 5.5 | $0.00030 | $0.00869 |
| Sonnet 5.5 | $0.00015 | $0.00435 |
| Haiku 4.5 | $0.00007 | $0.00217 |
Grade A, and why
ai-prompt-research 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI Prompt Research
Goal
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.
Project context
The project-context tools are free and shared with the app and other agents.
- External MCP clients: resolve the project with
list_projects, ask only if the match is ambiguous, then callget_project_context. In SAM, use the current project and context already injected into the conversation; SAM has noget_project_contexttool and needs no project selection or connection setup. - This workflow needs a brand, its website and a rough idea of what it sells. Reuse
business_overview, audience, competitors and key pages. Ifbusiness_overviewis empty, infer it from the site, confirm it in one question, and save it withupdate_project_context. - Read
get_ai_visibility_trackerto learn the saved topics and prompts. Prompts already tracked are markedtrackedin research results; do not present them as new ideas.brandMentionedmatches 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. - Check the research log for prompt research under 30 days old on the same keywords. Reuse it instead of paying again unless the user asks for fresh data.
- On finish, append one line with
update_project_context:{ updates: [{ appendResearchLog: { summary: "AI prompt research: <keywords>. Verdict: <conclusion>" } }] }.
OpenSEO MCP tools
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 citedsources(withownmarked),ownDomainCited,brandMentionedandtracked. 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, abrandMentionedflag forhighlightBrand, andfanOutQueries, 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_keywordsand, when connected, a boundedget_search_console_performanceread: free sources of head terms the business already cares about.
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.
- 10d ago First seen · 96 lines · 74 tokens per session scan A c674d1d7818e
ai-prompt-research is a skill published in the GitHub repository every-app/open-seo (23,850 stars, last pushed 3d ago), licensed MIT. It adds 74 tokens to every session and 2,173 once invoked, about $0.0003 per session on Opus 5.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-10-07.
Other skills, from other repositories
altorank
Run AltoRank through its hosted MCP server: readiness audits, Search Console, keyword research, and SEO drafts into a review queue.
setup-svelte-vitals
Set up svelte-vitals in a SvelteKit project: inspect what the project already uses, derive a svelte-vitals.config from its markuplint / eslint-plugin-check-file config and its actual directory conventions, measure each candidate rule before adopting it, and hand the remaining targets to svelte-vitals install. Use when…
wordstat-collector
A tool that collects search statistics from Yandex Wordstat, the Yandex service for researching what people search for. It returns search phrases and their frequencies for Russian-language market research.
improve-svelte
Survey a whole SvelteKit codebase as a senior Svelte/SvelteKit engineer, using svelte-vitals' scan as evidence, then produce a prioritized audit and self-contained implementation plans for other agents (or cheaper models) to execute. Read-only on source code — it plans improvements, it does not apply them. Use when…
seo-pipeline-llm
4-stage SEO content pipeline: keyword research → competitor scraping → SEO analysis → content creation. Outputs local files, no CMS integration.
seo-pipeline-bash
One-shot SEO content pipeline: scrape keywords from SERP and produce article markdown files via Browser Use SDK or DuckDuckGo fallback.