branded-split

Installation
SKILL.md

Branded versus Non-branded Split

Measure how much of one property's search traffic is brand demand and how much is non-branded SEO, how each side is trending, and what share of the period's growth each side explains. The user's request may contain a property (a GSC site URL or a recognizable name), a date range, the brand name or a list of brand terms to save, or a focus such as "non-branded only for the client report".

Workflow

  1. Resolve the property. If the user's request or the conversation names a property, use it. Site URLs use GSC formats: sc-domain:example.com or https://www.example.com/. Otherwise call list_sites and pick the obvious match. If several plausible properties exist, ask the user which one before continuing.

  2. Anchor and windows. Call get_site_summary with days: 28, or with startDate/endDate when the user gave dates. Use the last 28 days compared with the previous period unless the user specifies dates.

    • Read current, previous and deltas, and keep range.startDate/range.endDate and comparison.startDate/comparison.endDate: the split tool only compares periods when both comparison dates are passed, so these four dates are what keep its comparison aligned with the anchor.
    • GSC data lags about 2 to 3 days: never treat the most recent 2 days as complete, and if a dip appears at the very edge of the range, say it is likely reporting lag, not a real drop.
  3. Is a brand filter defined? Call get_filter_options with siteUrl. This call reads configuration only and fetches no Search Console data.

    • Read brand.configured, brand.keywordCount and brand.skippedKeywords (saved keywords the filter could not compile).
    • When brand.configured is false, or the response carries emptyBecause, no branded keywords are saved: go to step 5 to propose a list before running the split, and say the split cannot run until it is saved.
Installs
2
First Seen
2 days ago