← HasDataCONTENT HISTORY

Update to HasData

Snapshot Nov 9, 2026 · 12:07 UTC · version 0.2.10

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save HasData and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Compare current Google organic results, examine search intent, or find a supplied domain in a bounded result set with HasData. Use when the user asks for SEO research backed by live SERPs.",
  "included_files": [],
  "name": "google-serp-research",
  "skill_md_contents": "---\nname: google-serp-research\ndescription: Compare current Google organic results, examine search intent, or find a supplied domain in a bounded result set with HasData. Use when the user asks for SEO research backed by live SERPs.\n---\n\n# Compare current Google results\n\nRead `../hasdata-research/SKILL.md` and `../hasdata-research/references/tool-contract.md` before tool calls. Their scope, security and credit limits apply.\n\n1. Identify the supplied keywords and requested location. For up to three queries, fetch one page per query. For larger keyword lists, agree a bounded request count before starting. Use Light for organic research, or the full SERP tool for explicitly requested device settings or additional features. Do not switch APIs after a paid response merely to make the output look fuller.\n2. Preserve exact query wording. Set a canonical location only if supplied or unambiguous. Leave other search options unset unless requested. Omit `start` on the first page.\n3. Check the response envelope. Record query, requested location, applied location if returned, tool used, observation time, request ID and organic count. Read returned position values rather than renumbering results into a different rank.\n4. If checking a domain, parse each URL's hostname. Match the exact hostname or its subdomains only, not strings found in the path or an unrelated hostname. Distinguish domain matches from an exact requested page URL. If absent, say it was not found in the fetched results, not that it has no ranking anywhere.\n5. For comparison, normalize URLs by removing only fragments and obvious tracking parameters. Preserve meaningful path and query differences. Show shared ranking pages across queries and separate different apparent intents. Similar results suggest overlap but do not prove cannibalization or that pages should be merged.\n6. Return the relevant observed URLs, positions and brief snippet-based intent summary. If recommending content changes, label them as research hypotheses. Reading owned pages requires additional calls within the agreed budget. Snippets alone cannot establish a content gap or justify rewriting an article.\n\nIf the user provides an earlier snapshot, compare compatible observations using the same query, location and API/device context. Without an earlier snapshot, do not invent movement or a ranking trend. Report incomplete/failed results separately from successful observations.\n"
}

SHA-256 of public snapshot: dc9ca25ccbbe807a6ac298e67907d0f1bc5c49f2c238dcc675aac71e3b6f2cc2