portfolio-overview

Installation
SKILL.md

Portfolio Overview

Produce a cross-property view of the account: which sites carry the traffic, which lost the most, how each client tag performs, and which property deserves the next deep dive. The user's request may contain a tag name, a number of days, a search type, a focus hint ("only client X", "which sites dropped"), or a tag or visibility instruction; honor it when present.

Workflow

  1. Inventory the account. Call get_account_info (no arguments), then list_sites (no arguments), and read:

    • from get_account_info: user, googleAccounts (each with email, isPrimary, scopes, connectedAt), subscription (plan, status, currentPeriodEnd, cancelAtPeriodEnd, or null), access.level and apiKey.scope, which tells you up front whether the writes in steps 6 and 7 will be refused. If the response carries warning, a read failed: relay it and do not tell the user to connect Google or subscribe on the strength of empty fields.
    • from list_sites: owned properties first, then shared ones, each by siteUrl. Each row carries siteUrl, tags, dataSource, permissionLevel, readable, activated and, when known, gscScope; a shared row adds sharedBy (the owner) and accessLevel (READ_ONLY or FULL).
    • the readiness flags: readable: false means the property is listed in Search Console but not verified, so every read of it fails until the user verifies it; activated: false means an owned property is neither on the dashboard nor synced, so the other tools refuse it and the portfolio tools leave it out. Count owned, shared, unreadable and not-activated properties for the account line.
    • the empty and error cases: if the list is empty, relay emptyBecause and nextStep; if the call errors with reason google_account_disconnected, relay its message (reconnecting Google on the Account page fixes it; re-authorizing this integration does not).
  2. Set the window. Use days: 28 unless the user asks for another length (1 to 180). The portfolio tools take no dates: they count days back from today minus 3 (the Search Console lag) and compare with the same-length window before it, and each response states the exact range and comparison dates, so quote those. GSC data lags about 2 to 3 days: never treat the most recent 2 days as complete, and if the newest days of a daily trend look low, say it is likely reporting lag, not a real drop. searchType defaults to web (also image, video, news, discover).

Installs
2
First Seen
2 days ago