Use when a request concerns AEO/GEO demand research, AI-answer or generative-search query-corpus research, entity or source-landscape mapping, citation-source or competitor benchmarking, bilingual TR/EN research, missing-access planning, evidence freshness or classification, or pressure to treat unproven tactics as universal rules; do not use for page audits, content rewriting, technical SEO, schema, hreflang, implementation, or longitudinal visibility monitoring.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add oegeyilmaz9/seo-aeo-geo-ultimate --skill ai-search-research --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ai Search Research?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/oegeyilmaz9-ai-search-research)More formats (shields.io, HTML) on the badges page.
---
name: ai-search-research
description: Use when a request concerns AEO/GEO demand research, AI-answer or generative-search query-corpus research, entity or source-landscape mapping, citation-source or competitor benchmarking, bilingual TR/EN research, missing-access planning, evidence freshness or classification, or pressure to treat unproven tactics as universal rules; do not use for page audits, content rewriting, technical SEO, schema, hreflang, implementation, or longitudinal visibility monitoring.
---
# AI Search Research
Produce Research Pack `1.1.0` and a hash-bound `query-corpus.json` before any human summary. Research Pack `1.1.0` SHA-256-pins evidence, competitor observations, and ground-truth provenance; legacy `1.0.0` remains readable. Treat the Research Pack as authoritative for evidence and ground truth; treat the Query Corpus as authoritative for user needs, prompts, observed queries, executed subqueries, demand provenance, and page coverage.
## Procedure
1. Define scope, native locales, entities, ambiguities, audiences, journey stages, engines, and distinct surfaces. Cover every declared locale with native query objects; never force an undeclared locale. Select audiences from the request scope; do not force unrelated audiences. Keep Google AI Overview and AI Mode separate.
2. Read [evidence-policy.md](references/evidence-policy.md). Record every externally testable claim as one evidence record with one resolving `raw_evidence_ref` and matching `raw_evidence_sha256`; do not merge claims or omit explicit scope.
3. Read [capture-protocol.md](references/capture-protocol.md). Preserve raw observations inside the artifact bundle and use only bundle-relative references.
4. Write each Research Pack query for every declared locale as an independent native object with locale, intent, request-derived audience, journey stage, target entities, and engine/surface applicability. Use native orthography and script. Reject ASCII transliteration presented as native when the locale requires its native script or diacritics. Do not infer locale from language, translate mechanically, or apply heuristic language validation in the validator.
5. Expand those stable query IDs into `query-corpus.json`. Separate user needs, observed search queries, AI prompts, and only directly observed engine-executed subqueries. Preserve source, observation date, country/location, device, engine/surface, parent query, conversation turn, demand status, URL coverage, confidence, and limitations. Hash-pin the Research Pack and every local source/coverage evidence file; never invent demand or hidden fan-out queries.
6. Record a competitor observation only when a dated, SHA-256-pinned raw answer or result capture resolves locally and identifies engine, surface, locale, mentioned entities, and raw cited URLs. Treat source-landscape pages as evidence, not as competitor observations.
7. Record ground truth with stable fact IDs, SHA-256-pinned bundle-relative provenance, and validity windows.
8. Add one explicit gap for every inaccessible engine/surface/locale cell, ambiguity, missing evidence item, or stale input. Choose exactly one stable `gap_type` with the decision rules in the capture protocol; do not substitute prose synonyms. Use `null` only where the contract permits it and explain the limitation.
9. Reject guarantees, universal passage lengths, mandatory `llms.txt`, blanket crawler access, mass FAQ schema, and causal citation-lift claims unless current primary evidence supports that exact scoped statement. Retain an unproven tactic as `experimental` or `speculative` only when a valid evidence record supports that classification. When no evidence exists, do not retain a hypothesis; record only a `missing_evidence` gap with empty `related_claim_ids`.
10. Validate the Research Pack against `references/contracts/research-pack.schema.json`. Let `<suite-root>` mean `${CLAUDE_PLUGIN_ROOT}` in Claude Code. In Codex, read `.seo-suite-runtime.json` beside this `SKILL.md` when present and use its `suite_root` value; otherwise use the absolute repository checkout, then validate `query-corpus.json` with `python "<suite-root>/scripts/validate_query_corpus.py" validate-corpus <bundle>/query-corpus.json --bundle <bundle>`. Stop on missing fields, hash drift, absolute paths, unresolved raw references, stale current claims, or lock drift.
11. Hand direct-answer completeness, clarity, intent coverage, and extractability audits to `seo-aeo`; hand entity, evidence, source, citation, and documented engine-control audits to `seo-geo`. Route conventional performance to `seo-performance`, technical controls to `seo-technical`, content changes to `seo-content`, structured data to `seo-schema`, locale implementation to `seo-hreflang`, evidence-linked implementation planning to `seo-action-plan`, explicitly authorized implementation to `optimise-seo`, and AI trend measurement to `ai-visibility-monitor`.
Never invent sources, quotes, dates, model versions, observations, citations, rankings, referral data, metrics, or access. Never call an incomplete generic template complete or launch-ready.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!