← SearchFitCONTENT HISTORY

Update to SearchFit

Snapshot Sep 30, 2026 · 23:00 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "keyword-competitor-research",
  "description": "Research keywords and competitors for a brand. Use for finding keyword ideas, tracking keywords, checking ranking history, comparing against competitors, or reviewing backlinks and referring domains. Do not use for AI assistant visibility, which belongs to ai-visibility-report, and do not use for writing articles.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 1866
    }
  ],
  "skill_md_contents": "---\nname: keyword-competitor-research\ndescription: Research keywords and competitors for a brand. Use for finding keyword ideas, tracking keywords, checking ranking history, comparing against competitors, or reviewing backlinks and referring domains. Do not use for AI assistant visibility, which belongs to ai-visibility-report, and do not use for writing articles.\n---\n\n# Keyword and competitor research\n\nFind the terms worth winning, track them, and see who else is winning them.\n\nEvery tool here is scoped to one brand and takes `brand_id`.\n\n## Step 1: resolve the brand\n\nCall `list_brands`. If more than one, ask which. Keep `brand_id` for every later call.\n\n## Step 2: see what is already tracked\n\nCall `list_keywords`. Start here so you extend the existing set rather than duplicating it.\n\nIf metrics look stale, `refresh_keyword_metrics` updates volume and difficulty.\n\n## Step 3: find new terms\n\nCall `discover_keywords`:\n\n- `seed` generates ideas around a term.\n- `location` scopes them to a market.\n- `limit` caps the count, maximum 50.\n\nPresent ideas with their volume and difficulty, and say which are realistic for the brand rather than listing the highest volume terms. A term the brand cannot rank for is not an opportunity.\n\nAdd the approved terms with `add_keywords`. Use `update_keyword` to adjust one, `delete_keyword` to drop one.\n\n## Step 4: track position over time\n\n`get_keyword_ranking_history` shows movement for a tracked keyword.\n\nOnly describe a trend when the history holds more than one point. A single measurement is a position, not a direction.\n\n## Step 5: compare against competitors\n\n- `list_competitors` for the current set, `add_competitor` and `remove_competitor` to change it.\n- `sync_competitor_metrics` to refresh their numbers before comparing.\n\nCompare like for like: the same keywords, the same location, the same dates. Say which are covered.\n\n## Step 6: authority\n\n`get_backlinks` and `get_referring_domains` show which sites link to the brand, and `sync_backlinks` refreshes them. Referring domains matter more than raw link count, because many links from one domain count for far less than links from many.\n\n## Reporting rules\n\n- Give volume and difficulty together. Volume alone reads as opportunity when it is often just competition.\n- Say when data was last synced. Stale numbers presented as current lead to bad decisions.\n- Never invent a number for a keyword that returned none. Say it returned none.\n- Do not name the third party data sources behind backlink or keyword metrics. Refer to the data, not the vendor.\n\n## Boundaries\n\n- `delete_keyword` and `remove_competitor` change what is measured over time and break comparability with earlier reports. Confirm first.\n- If the user wants an article for a keyword, hand off to the content-production skill.\n- If the user asks how they appear in AI assistant answers, that is the ai-visibility-report skill, and it is a different measurement entirely.\n"
}

SHA-256: e9dda818de33363183bf8c18c469ce1923fd6a1fd311595d28d10356069e5914