{"id":"6712f54c-89d9-41f0-ab42-f5b73cc58356","entityType":"agent","slug":"clawhub-aaron-he-zhu-performance-monitor","name":"Performance Monitor","canonicalUrl":"https://www.xpersona.co/agent/clawhub-aaron-he-zhu-performance-monitor","canonicalPath":"/agent/clawhub-aaron-he-zhu-performance-monitor","generatedAt":"2026-10-10T11:00:23.701Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":null},"description":"Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/c...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:performance-monitor","sourceUrl":"https://clawhub.ai/aaron-he-zhu/performance-monitor","homepage":"https://clawhub.ai/aaron-he-zhu/skills/performance-monitor","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/aaron-he-zhu/performance-monitor","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/aaron-he-zhu/skills/performance-monitor","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Performance Monitor technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":null},"stars":null,"forks":null,"downloads":1575,"packageName":null,"latestVersion":"19.0.0","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T07:59:12.756Z","lastCrawledAt":"2026-10-10T07:59:12.756Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T07:59:12.756Z","lastVerifiedAt":null,"highlights":[{"version":"19.0.0","createdAt":"2026-07-24T14:59:24.930Z","changelog":"**Skill performance-monitor v19.0.0** - Major cleanup: removed legacy documentation and outdated reference files. - Added `distribution-manifest.json` to improve distribution management. - Updated SKILL.md: incremented version to 19.0.0 and refreshed metadata. - Documentation is now leaner—only current, canonical contract and usage notes retained.","fileCount":9,"zipByteSize":19218},{"version":"18.0.0","createdAt":"2026-07-13T05:48:20.331Z","changelog":"**performance-monitor v18.0.0** - Added 6 new documentation and reference files, including new alert and report templates and KPI/threshold guides. - Updated main skill documentation for clarity and file structure; adjusted the description of dependencies, scope, and context paths. - Changed primary discipline \"phase\" from \"monitor\" to \"evaluate\" in metadata. - Removed superseded documentation file (skill-card.md). - Minor updates to scope guard and internal path references for consistency.","fileCount":14,"zipByteSize":34908},{"version":"17.0.0","createdAt":"2026-07-11T16:00:54.152Z","changelog":"## performance-monitor 17.0.0 - Bumped version to 17.0.0. - Updated SKILL.md: metadata version updated, minor copy changes may be present. - Removed skill-card.md file.","fileCount":8,"zipByteSize":18256},{"version":"16.0.0","createdAt":"2026-07-06T02:56:47.874Z","changelog":"Version 16.0.0 - Bump version from 14.0.0 to 16.0.0 in metadata and relevant fields. - No functional logic or instruction changes; documentation updated for versioning only.","fileCount":8,"zipByteSize":18215},{"version":"14.0.0","createdAt":"2026-07-05T08:39:41.772Z","changelog":"performance-monitor 14.0.0 - Changed internal slug from \"aaron-performance-monitor\" to \"performance-monitor\". - Updated version metadata to 14.0.0. - Removed skill-card.md; SKILL.md is now the single documentation source. - No changes to skill features or contract—documentation, naming, and metadata only.","fileCount":8,"zipByteSize":18223},{"version":"13.0.0","createdAt":"2026-07-04T15:42:05.487Z","changelog":"- Major upgrade: unified performance monitoring and alerting in one skill with two selectable modes (`report` and `alert`). - `report` mode: generates comprehensive, source-tagged SEO dashboards with multi-metric period-over-period comparisons and prioritized next actions. - `alert` mode: configures monitoring alerts for rankings, traffic, technical issues, backlinks, competitor movement, and AI visibility changes, including triggers, thresholds, and delivery routing. - Clearly separates reporting (what happened) from alerting (notify on change) based on request intent, with decision gates to prompt when context is ambiguous. - Does not compute or veto core content or domain scores—only reports/watches preproduced insights. - Output for both modes includes a handoff summary for downstream monitoring and memory integration.","fileCount":8,"zipByteSize":18365}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:performance-monitor","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:performance-monitor` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/aaron-he-zhu/performance-monitor before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T11:00:23.697Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-performance-monitor/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":null},"readme":"Skill: Performance Monitor\n\nOwner: aaron-he-zhu\n\nSummary: Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/c...\n\nTags: latest:19.0.0\n\nVersion history:\n\nv19.0.0 | 2026-07-24T14:59:24.930Z | auto\n\n**Skill performance-monitor v19.0.0**\n\n- Major cleanup: removed legacy documentation and outdated reference files.\n- Added `distribution-manifest.json` to improve distribution management.\n- Updated SKILL.md: incremented version to 19.0.0 and refreshed metadata.\n- Documentation is now leaner—only current, canonical contract and usage notes retained.\n\nv18.0.0 | 2026-07-13T05:48:20.331Z | auto\n\n**performance-monitor v18.0.0**\n\n- Added 6 new documentation and reference files, including new alert and report templates and KPI/threshold guides.\n- Updated main skill documentation for clarity and file structure; adjusted the description of dependencies, scope, and context paths.\n- Changed primary discipline \"phase\" from \"monitor\" to \"evaluate\" in metadata.\n- Removed superseded documentation file (skill-card.md).\n- Minor updates to scope guard and internal path references for consistency.\n\nv17.0.0 | 2026-07-11T16:00:54.152Z | auto\n\n## performance-monitor 17.0.0\n\n- Bumped version to 17.0.0.\n- Updated SKILL.md: metadata version updated, minor copy changes may be present.\n- Removed skill-card.md file.\n\nv16.0.0 | 2026-07-06T02:56:47.874Z | auto\n\nVersion 16.0.0\n\n- Bump version from 14.0.0 to 16.0.0 in metadata and relevant fields.\n- No functional logic or instruction changes; documentation updated for versioning only.\n\nv14.0.0 | 2026-07-05T08:39:41.772Z | auto\n\nperformance-monitor 14.0.0\n\n- Changed internal slug from \"aaron-performance-monitor\" to \"performance-monitor\".\n- Updated version metadata to 14.0.0.\n- Removed skill-card.md; SKILL.md is now the single documentation source.\n- No changes to skill features or contract—documentation, naming, and metadata only.\n\nv13.0.0 | 2026-07-04T15:42:05.487Z | auto\n\n- Major upgrade: unified performance monitoring and alerting in one skill with two selectable modes (`report` and `alert`).\n- `report` mode: generates comprehensive, source-tagged SEO dashboards with multi-metric period-over-period comparisons and prioritized next actions.\n- `alert` mode: configures monitoring alerts for rankings, traffic, technical issues, backlinks, competitor movement, and AI visibility changes, including triggers, thresholds, and delivery routing.\n- Clearly separates reporting (what happened) from alerting (notify on change) based on request intent, with decision gates to prompt when context is ambiguous.\n- Does not compute or veto core content or domain scores—only reports/watches preproduced insights.\n- Output for both modes includes a handoff summary for downstream monitoring and memory integration.\n\nArchive index:\n\nArchive v19.0.0: 9 files, 19218 bytes\n\nFiles: distribution-manifest.json (1952b), references/alert-configuration-templates.md (4662b), references/alert-threshold-guide.md (3453b), references/kpi-definitions.md (6667b), references/report-output-templates.md (2540b), references/report-templates.md (4975b), skill-card.md (2630b), SKILL.md (15979b), _meta.json (139b)\n\nFile v19.0.0:SKILL.md\n\n---\nname: performance-monitor\nslug: performance-monitor\ndisplayName: \"Performance Monitor · SEO报告\"\nsummary: \"SEO报告/绩效仪表盘/SEO预警/排名监控\"\ndescription: 'Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/content dashboards, and alert configures threshold notifications for future ranking, traffic, technical, backlink, competitor, and AI-visibility changes. Not for raw position-by-position deltas — use rank-tracker. SEO报告/绩效仪表盘/SEO预警/排名监控'\nversion: \"19.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when generating multi-metric SEO/GEO performance reports, traffic summaries, stakeholder dashboards, SEO报告, 流量报告, 月报, 周报, 汇报给老板 (mode: report), OR when setting up monitoring alerts for rankings, traffic, backlinks, technical issues, competitor moves, or AI visibility changes, SEO预警, 排名监控 (mode: alert). Not for raw position-by-position ranking deltas — use rank-tracker.\"\nargument-hint: \"<domain> [--mode report|alert] [date range | metric]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"19.0.0\", \"discipline\": \"seo-geo\", \"phase\": \"evaluate\", \"geo-relevance\": \"medium\", \"hermes\": {\"tags\": [\"marketing\", \"seo-geo\", \"evaluate\"], \"category\": \"seo-geo\"}, \"openclaw\": {\"emoji\": \"🔍\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Performance Monitor\n\nOne monitor skill, two modes. **`report`** builds a stakeholder-facing multi-metric snapshot of what already happened (traffic, rankings, GEO/AI, authority, backlinks, content) and turns period-over-period deltas into prioritized recommendations. **`alert`** configures forward-looking threshold and anomaly notifications so a drop in rankings, traffic, technical health, backlinks, competitor position, or AI citations fires before someone eyeballs it. Pick the mode from intent: past-tense reporting → `report`; future-tense \"tell me when\" → `alert`.\n\n**Mode set:** `report` (multi-metric snapshot) · `alert` (forward thresholds/anomalies). Default when unstated: infer from verb tense (see Decision Gates).\n\n**Scope guard — what this skill does NOT do:** it does not compute the CORE-EEAT content score or run its vetoes (T04/C01/R10) — that gate is [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md); it does not compute the CITE domain score or run its vetoes (T03/T05/T09) — that gate is [domain-authority-auditor](../domain-authority-auditor/SKILL.md). This skill *reports* those scores when a gate has already produced them and *watches* them for change; it never scores. Raw position-by-position ranking deltas belong to [rank-tracker](../rank-tracker/SKILL.md).\n\n## Quick Start\n\n```text\n# report mode\nCreate an SEO performance report for [domain] for [time period]\nGenerate an executive summary of SEO performance for [month/quarter]\nCreate a GEO visibility report for [domain]\n\n# alert mode\nSet up SEO monitoring alerts for [domain]\nCreate ranking drop alerts for my top 20 keywords\nAlert me when AI citations for [domain] drop\n```\n\nShortest valid invocation: `performance-monitor <domain>` (mode inferred). Output: **report** returns a metric-table → what-changed → why → next-action dashboard with every figure source-tagged; **alert** returns an alert-config summary with named triggers, thresholds, priorities, and delivery routing. Both emit a handoff summary ready for `memory/monitoring/`.\n\n## Skill Contract\n\n**Expected output**: mode `report` → a delta-based multi-metric report/dashboard; mode `alert` → an alert configuration summary. Both include the standard handoff summary for `memory/monitoring/`.\n\n- **Reads**: prior baselines and current performance data. `report` reads current + prior-period metrics across traffic/rankings/authority/content, report audience, and date range. `alert` reads baselines, critical keywords/metrics to watch, normal volatility, and delivery preferences. Plus any user-provided or tool data.\n- **Writes**: a user-facing monitoring deliverable plus a reusable summary storable under `memory/monitoring/`.\n- **Promotes**: significant changes, confirmed anomalies, durable thresholds, and follow-up actions; pending decisions go to `memory/open-loops.md` (never directly to `decisions.md`).\n- **Done when**:\n  - `report`: each in-scope section (traffic, rankings, GEO, authority, backlinks, content) is present or marked \"Not yet evaluated\"; every metric is source-tagged and compared to the prior period; recommendations carry owner, priority, and expected impact.\n  - `alert`: each chosen alert category has a named trigger, threshold, and priority; a Critical/High/Medium/Low response plan and delivery routing are defined; thresholds are tuned to the metric's stated normal volatility.\n- **Primary next skill**: see [Next Best Skill](#next-best-skill) — the two modes hand off to each other.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md). Name the active mode (`report` / `alert`) in the Objective line.\n\n## Data Sources\n\nAll integrations optional (see [CONNECTORS.md](../../../CONNECTORS.md)). Tier 1 (keyless) works for both modes; keyed tools are opt-in Tier 2/3.\n\n- **report**: with tools connected, aggregates traffic from ~~analytics, search data from ~~search console, rankings/backlinks from ~~SEO tool, and AI visibility from ~~AI monitor. Without tools, ask the user for analytics exports, Search Console data, ranking data, and KPIs.\n- **alert**: with tools, monitor real-time feeds from ~~SEO tool, ~~search console, and ~~web crawler. Without tools, ask for baselines, critical keywords, delivery preferences, and historical data.\n\n**Zero-dependency measurement loop** (both modes): every reported change or fired alert should come from a computed delta, not an eyeballed estimate. Store each period's KPIs and let the ledger compute movement: `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py\" record <domain> --source monitor --data '{\"sessions\": ..., \"clicks\": ..., ...}'`, then `ledger.py diff <domain> --source monitor` for the period delta and `ledger.py trend <domain> --source monitor --field <kpi>` for the trend line. Label every figure Measured / User-provided / Estimated, and attribute outcome movement against a control rather than to the latest change — see [references/measurement-protocol.md](../../../references/measurement-protocol.md). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\n## Decision Gates\n\n**Stop and ask the user when:**\n- **Mode ambiguous** — the request fits neither past-tense (\"report on last month\") nor future-tense (\"tell me when X drops\"). Offer: (1) `report` a snapshot now, (2) `alert` for ongoing monitoring, (3) both.\n- **report**: no reporting period or comparison period can be determined and none is in context — offer (1) last 30 days vs prior 30, (2) last calendar month vs prior month, (3) a custom range. A period comparison is required, not optional.\n- **alert**: no baseline or normal-volatility reference exists for the metrics to watch — thresholds would be arbitrary. Offer (1) supply recent baseline data, (2) use the Alert Threshold Quick Reference defaults and label them Estimated, (3) cancel.\n\n**Continue silently (never stop for):**\n- A report section's source data is missing — mark that section \"Not yet evaluated\" and proceed; do not fabricate the metric.\n- Audience not stated (report) — default to the executive template and note the assumption.\n- Delivery channel not stated (alert) — default to the channel in context (or email) and note it.\n- An alert category the user did not mention — leave it unconfigured; do not add alerts they did not request.\n\n## Instructions\n\n**Step 0 — Select mode.** Read `--mode` if given. Otherwise infer: past-tense / \"how did we do\" / \"月报\" → `report`; future-tense / \"tell me when\" / \"预警\" → `alert`. If neither fits, use the mode-ambiguous gate above.\n\n### Mode: report\n\nUse [Report Output Templates](references/report-output-templates.md) and cover:\n\n1. **Define Report Parameters** — domain, period, comparison period, report type, audience, focus areas, data freshness.\n2. **Executive Summary** — overall rating, wins, watch areas, required actions, metrics-at-a-glance (traffic, rankings, conversions, DA/authority, AI citations), and SEO ROI; tag each metric Measured / User-provided / Estimated.\n3. **Organic Traffic** — sessions, users, pageviews, engagement/bounce, trend, source/device split, top pages, each figure source-tagged.\n4. **Keyword Rankings** — position ranges, distribution change, top improvements/declines, SERP features. For raw position-by-position deltas, defer to [rank-tracker](../rank-tracker/SKILL.md) rather than recomputing here.\n5. **GEO / AI Performance** — AI citation overview, citations by topic, GEO wins, optimization opportunities.\n6. **Domain Authority (CITE)** — include CITE dimension scores and veto status **when a gate has already produced them**; otherwise mark \"Not yet evaluated.\" Do not compute CITE here.\n7. **Content Quality (CORE-EEAT)** — include average scores and trends **when already produced**; otherwise mark \"Not yet evaluated.\" Do not compute CORE-EEAT here.\n8. **Backlinks** — link-profile summary, acquisition trend, notable links, competitive position.\n9. **Content Performance** — publishing summary, top content, content needing attention, content ROI.\n10. **Recommendations** — immediate/short-term/long-term actions with priority, owner, expected impact, next-period goals.\n11. **Compile Full Report** — table of contents, appendix, data sources, methodology, glossary.\n\n### Mode: alert\n\nUse [Alert Configuration Templates](references/alert-configuration-templates.md) and:\n\n1. **Define Alert Categories** — choose from rankings, traffic, technical, backlinks, competitors, GEO / AI, and brand.\n2. **Configure Alert Rules by Category** — define trigger condition, threshold, alert name, and priority for each relevant rule; tie each threshold to a stated baseline and label that baseline Measured / User-provided / Estimated.\n3. **Define Alert Response Plans** — map Critical / High / Medium / Low to response time and next actions.\n4. **Set Up Alert Delivery** — channels, routing, cooldowns, maintenance windows, escalation paths.\n5. **Create Alert Summary** — output category counts, the critical playbook, and a weekly review checklist as the deliverable.\n\n### Shared discipline (both modes)\n\nLabel every metric **Measured** (tool/export), **User-provided**, or **Estimated** (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it. Separate an **observed change** from a **plausible explanation** (corroborate before stating a cause), an **optimization opportunity**, and **follow-up** needing crawl/SERP/rank/audit — never report an unverified explanation as a confirmed cause.\n\n## Alert Threshold Quick Reference\n\n| Metric | Warning | Critical | Frequency |\n|--------|---------|----------|-----------|\n| Organic traffic | -15% WoW | -30% WoW | Daily |\n| Keyword positions | >3 position drop | >5 position drop | Daily |\n| Pages indexed | -5% change | -20% change | Weekly |\n| Crawl errors | >10 new/day | >50 new/day | Daily |\n| Core Web Vitals | \"Needs Improvement\" | \"Poor\" | Weekly |\n| Backlinks lost | >5% in 1 week | >15% in 1 week | Weekly |\n| AI citation loss | Any key query | >20% queries | Weekly |\n| Security issues | Any detected | Any detected | Daily |\n\n**Steep-decline trigger (always on):** if organic traffic OR aggregate keyword rank falls **>30%** below its trailing baseline (default: prior 28-day median for the same weekday band), fire a Critical alert regardless of category. Use a trailing median, not a single prior day, so one noisy data point does not trip it. Label the baseline Measured / User-provided / Estimated.\n\n## Reading Deltas Against a Control\n\nA reported delta or a fired alert is only evidence if it beats a control over a **fixed readback window** set before the change — a raw before/after on a confounded outcome is a story, not proof. Attach the decision protocol from [references/measurement-protocol.md §Cross-discipline decision protocol](../../../references/measurement-protocol.md):\n\n- **Readback window** — pick the window for the change type up front (content refresh 7/14/28/56 days; new content 14/28/56/90; technical fix daily ×7 then 28; AEO/GEO surfacing weekly) and do not react to noise inside it. A fired alert opens a readback window, not an instant verdict — confirm the drop holds before declaring an incident.\n- **Required readback fields** — record: change · owner · baseline window · candidate window · sources · primary + secondary metric · winner · caveats · decision · next-patch · next-readback date.\n- **Decision** — mark each change **Promote** (beats control on the primary metric past the bar), **Keep-testing** (trending, not yet significant), **Rollback** (loses by the same bar), or **Unproven** (everything else). Report delta-vs-control, not raw delta.\n\n## Example\n\n- **report**: an executive summary with overall status, metrics-at-a-glance for traffic/rankings/conversions/authority/AI citations, SEO ROI, and immediate/month/quarter actions with owners and dates.\n- **alert**: a keyword alert matrix with Critical vs High thresholds, a response plan for drops, and notification routing to email + Slack.\n\n## Save Results\n\nAsk \"Save these results?\" If yes, write to `memory/monitoring/` using filename `YYYY-MM-DD-<topic>.md` — see [skill-contract.md §Save Results Template](../../../references/skill-contract.md). This is a non-auditor skill: ask before writing memory and hand off veto-like risks to the relevant auditor gate rather than appending veto markers itself.\n\n## Reference Materials\n\n- [Report Output Templates](references/report-output-templates.md) — compact starter blocks for all 11 report sections (report mode)\n- [KPI Definitions](references/kpi-definitions.md) — SEO/GEO metric definitions with benchmarks, thresholds, trend analysis, attribution guidance\n- [Report Templates by Audience](references/report-templates.md) — copy-ready templates for executive, marketing, technical, and client audiences\n- [Alert Configuration Templates](references/alert-configuration-templates.md) — full category tables, thresholds, response-plan templates (alert mode)\n- [Alert Threshold Guide](references/alert-threshold-guide.md) — threshold setting, fatigue prevention, escalation paths, response playbooks\n- [Measurement & Attribution Protocol](../../../references/measurement-protocol.md) — readback windows, required fields, and the promote / keep-testing / rollback / unproven decision rule\n\n## Next Best Skill\n\nMode-conditional, then terminal:\n\n- After **report** — a change needs ongoing monitoring → run this skill in `alert` mode. A section marked \"Not yet evaluated\" for authority → [domain-authority-auditor](../domain-authority-auditor/SKILL.md); for content quality → [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md). One-off report with no action → Terminal.\n- After **alert** — a reporting cadence is requested → run this skill in `report` mode. Standalone alert setup → Terminal.\n\nTermination: the visited-set and `max-depth: 3` rules from [skill-contract.md §Termination rules](../../../references/skill-contract.md) apply. Do not re-enter a mode already run in this chain (report→alert→report is a visited-set stop); if routing is ambiguous, present the options and stop instead of auto-following.\n\nFile v19.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"performance-monitor\",\n  \"version\": \"19.0.0\",\n  \"publishedAt\": 1784905164930\n}\n\nFile v19.0.0:references/alert-configuration-templates.md\n\n# Alert Configuration Templates\n\nCompact alert thresholds and response plans for SEO/GEO monitoring.\n\n## 1. Alert Thresholds\n\n| Area | Alert | Condition | Priority |\n|------|-------|-----------|----------|\n| Rankings | Critical drop | Top 3 keyword drops 5+ positions | Critical |\n| Rankings | Top 10 loss | Top 10 keyword drops out of top 10 | High |\n| Rankings | Moderate drop | Any keyword drops 10+ positions | Medium |\n| Rankings | Competitor overtake | Competitor passes you for key term | Medium |\n| Rankings | Positive movement | New Top 3, page 1 entry, 10+ position climb | Positive |\n| SERP features | Snippet lost / won | Featured snippet ownership changes | High / Positive |\n| SERP features | AI Overview change | Appears or disappears | Medium |\n| Traffic | Traffic crash | Day-over-day decline >=50% | Critical |\n| Traffic | Significant drop | Week-over-week decline >=30% | High |\n| Traffic | Moderate decline | Month-over-month decline >=20% | Medium |\n| Traffic | Trend warning | 3 consecutive weeks decline | Medium |\n| Conversions | Conversion drop | Organic conversions down 30%+ | Critical |\n| Conversions | CVR decline | Conversion rate drops 20%+ | High |\n| Technical | Site down | HTTP 5xx errors | Critical |\n| Technical | SSL expiry | Certificate expires in 14 days | Critical |\n| Technical | Robots.txt block | Important pages blocked | Critical |\n| Technical | Index drop | Important pages drop from index | Critical |\n| Technical | Crawl/index/CWV/mobile issue | Error spike 50%+, 10% index drop, CWV poor, mobile errors | High |\n| Technical | New 404 pages | 404 errors on important pages | Medium |\n| Technical | Redirect chains | 3+ redirect hops | Medium |\n| Security | Manual action / malware | GSC warning or flagged issue | Critical |\n| Backlinks | High-value link lost | DA 70+ link removed | High |\n| Backlinks | High-value link gained | New DA 70+ link | Positive |\n| Backlinks | Multiple lost links | 10+ links lost in a day | Medium |\n| Backlinks | Toxic / negative SEO | Spam pattern or toxic score +20% | High |\n| Competitors | Competitor content/backlink move | New content/update or high-DA link | Info |\n| GEO | Citation lost/won | AI citation ownership changes | Medium / Positive |\n| GEO | Citation rate drop | AI citation rate drops 20%+ | High |\n| Brand | Negative mention / rating drop | Sentiment or rating deterioration | High |\n| Brand | Unlinked mention | Brand mention without link | Opportunity |\n\n## 2. Page-Level Traffic Rules\n\n| Page Type | Alert Condition | Priority |\n|-----------|-----------------|----------|\n| Homepage | 20%+ decline | Critical |\n| Top 10 pages | 30%+ decline | High |\n| Conversion pages | 25%+ decline | High |\n| Blog posts | 40%+ decline | Medium |\n\n## 3. Response Plans\n\n| Priority | Response Time | Immediate Actions |\n|----------|---------------|-------------------|\n| Critical | Within 1 hour | Confirm data, check server/GSC/indexing, assign owner, start incident log |\n| High | Same day | Diagnose cause, compare competitors/SERP, create recovery plan |\n| Medium | Within 48 hours | Investigate trend, batch with related alerts, schedule fix |\n| Low / Info | Weekly review | Document, tag trend, no interruption |\n| Positive | Weekly review | Record win and identify repeatable driver |\n\n| Alert Type | First Checks |\n|------------|--------------|\n| Site down | Server, DNS, CDN, deploy status |\n| Traffic crash | Algorithm update, GSC errors, analytics tag, competitors |\n| Manual action | GSC message, affected URLs, remediation path |\n| Critical rank drop | Indexing, SERP change, page changes, competitor movement |\n| Backlink loss | Source page status, relationship owner, outreach path |\n| CWV failure | Template, script, image, hosting, field data |\n\n## 4. Notification Setup\n\n| Priority | Channels | Frequency | Escalation |\n|----------|----------|-----------|------------|\n| Critical | Email + SMS + Slack | Immediate | No response in 1hr -> Director |\n| High | Email + Slack | Immediate | No response in 4hr -> Manager |\n| Medium | Email + Slack | Daily digest | No response in 24hr -> Lead |\n| Low / Positive | Email | Weekly digest | None |\n\n| Role | Critical | High | Medium | Low |\n|------|----------|------|--------|-----|\n| SEO Manager | Yes | Yes | Yes | Yes |\n| Dev Team | Yes | Tech only | No | No |\n| Marketing Lead | Yes | Yes | No | No |\n| Executive | Yes | No | No | No |\n\n## 5. Suppression Rules\n\n- Suppress duplicate alerts for 24 hours.\n- Suppress known maintenance windows.\n- Batch low-priority alerts into digests.\n- Require source timestamp and metric source on every alert.\n- Mark unresolved alerts with owner, status, and next check time.\n\nFile v19.0.0:references/alert-threshold-guide.md\n\n# Alert Threshold Guide\n\n## Severity Levels\n\n**Standard Deviation method**: Info (1 SD), Warning (1.5 SD), Critical (2 SD), Emergency (3 SD) from baseline mean.\n\n## Thresholds by Metric Category\n\n### Traffic\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| Organic sessions (WoW) | -15% | -30% | -50% |\n| Organic sessions (DoD) | -25% weekday | -40% | Site appears down |\n| Non-brand sessions (WoW) | -20% | -35% | -50% |\n| Organic conversions (WoW) | -20% | -40% | -60% |\n| Top 10 page traffic (WoW) | -25% | -40% | -60% |\n\n### Rankings\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Tier 1 keyword position | Drop >= 3 | Drop >= 5 |\n| Tier 2 keyword position | Drop >= 5 | Drop >= 10 |\n| Tier 3 keyword position | Drop >= 10 | Off page 3 |\n| Average position (all) | +2.0 worsening | +5.0 worsening |\n| Keywords in top 10 | -10% count | -20% count |\n| Brand keyword | Any drop from #1 | Below #3 |\n| Featured snippet | Any loss | 3+ losses |\n\n### Technical\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| New 4xx errors | >5/day | >20/day | >100/day |\n| New 5xx errors | >1/day | >5/day | >20/day |\n| Crawl rate change | -30% baseline | -60% baseline | Near-zero |\n| Index coverage drop | -5% | -15% | -30% |\n| Server response time | >500ms | >1000ms | >2000ms |\n| LCP (mobile) | Needs Improvement | Poor | >6s |\n| CLS | >0.1 | >0.25 | >0.5 |\n| INP | >200ms | >500ms | >1000ms |\n\n### Backlinks\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Referring domains lost (weekly) | >5% total | >15% total |\n| High-authority link lost (DR 60+) | Any loss | 3+ in one week |\n| Toxic link spike | >10/week | >50/week |\n| Exact match anchor % | Reaches 20% | Reaches 30% |\n\n### GEO / AI Visibility\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| AI citation rate | Drops 10+ pp | Below 10% |\n| Key query citation lost | Any Tier 1 | 3+ Tier 1 queries |\n| Citation position | Worsens by 2+ | Dropped entirely |\n\n## Alert Routing\n\n| Priority | Channel | Escalation |\n|----------|---------|------------|\n| P0 Emergency | SMS + Phone + Slack #emergencies | PagerDuty on-call |\n| P1 Urgent | Slack #alerts + Email | SMS if unacknowledged in 4h |\n| P2 Important | Email + Slack #daily | Auto-escalate to P1 after 1 week |\n| P3 Monitor | Weekly digest | Auto-escalate to P2 after 1 month |\n\n## Suppression Rules\n\n| Rule | Configuration |\n|------|--------------|\n| Duplicate cooldown | No re-alert same metric for 24h |\n| Maintenance window | Suppress non-security alerts |\n| Weekend adjustment | Increase traffic thresholds +20% |\n| Recovery auto-close | Close if metric normalizes within 48h |\n| Batch related | Group multiple ranking drops into one alert |\n\n## Threshold Tuning\n\n| Signal | Action |\n|--------|--------|\n| >30% false positives | Widen thresholds by 0.5 SD |\n| Missed real problem | Tighten the specific threshold |\n| Seasonal change | Adjust baselines for known patterns |\n| Major site change | Re-establish baseline (2-4 week observation) |\n| After algorithm update | Stabilize 2-4 weeks, then recalibrate |\n\n### Site Maturity Guidelines\n\n| Stage | Approach |\n|-------|----------|\n| New (0-6mo) | Wide thresholds, few alerts |\n| Growing (6-18mo) | Moderate thresholds, expand coverage |\n| Established (18mo+) | Tight thresholds, comprehensive |\n| Post-migration | Reset to wide, re-tighten over 4-8 weeks |\n\nFile v19.0.0:references/kpi-definitions.md\n\n# SEO/GEO KPI Definitions\n\nUse these definitions when building recurring performance reports. Always show source, date range, comparison period, and whether the metric is brand, non-brand, or blended.\n\n## KPI Matrix\n\n| Category | KPI | Formula / source | Good | Warning / action trigger |\n|----------|-----|------------------|------|--------------------------|\n| Organic search | Organic sessions | Count sessions where medium = `organic`; analytics platform | Growing MoM; 3-10% MoM is healthy | Decline >10% MoM without seasonal cause; split brand vs non-brand |\n| Organic search | Organic CTR | Organic clicks / impressions x 100; Search Console | >3% overall | <1.5% or declining; stable position + low CTR means title/meta issue |\n| Organic search | Average position | Sum of positions / keyword count; Search Console or SEO tool | <20 for tracked keywords; improving | >30 or worsening; pair with top 10/top 20 distribution |\n| Organic search | Keyword visibility | Sum of estimated CTR at position x monthly volume | Growing | Declining 3+ consecutive weeks |\n| Organic search | Pages indexed | Valid indexed pages in Search Console | Close to intended indexable pages | Drop without intent; submitted/indexed gap; indexed > intended |\n| Organic search | Organic CVR | Organic conversions / organic sessions x 100 | >2% lead gen; >1% e-commerce | <0.5% or declining while traffic grows |\n| Organic search | Non-brand share | Non-brand organic sessions / total organic sessions x 100 | >50% | <30%, indicating brand dependency |\n| GEO / AI | AI citation rate | Cited queries / monitored AI-answer queries x 100 | >20% | <5% or declining |\n| GEO / AI | AI citation position | Sum citation positions / citation count | Top 3 average | Not cited or consistently 5+ |\n| GEO / AI | AI answer coverage | Topics with AI answers / target topics x 100 | Growing | Declining coverage |\n| GEO / AI | Brand mention in AI | AI responses containing brand name | Growing for authority topics | Zero mentions on priority topics |\n| Authority | Domain Rating / Authority | Tool-specific 0-100 logarithmic link score | Growing and competitive | Flat while competitors grow |\n| Authority | Referring domains | Distinct root domains linking | Growing MoM | Net loss for 2+ months |\n| Authority | Backlink growth rate | New backlinks - lost backlinks | Positive and steady | Negative 2+ months or spam-like spike |\n| Authority | Toxic link ratio | Toxic backlinks / total backlinks x 100 | <5% | 5-10% warning; >10% critical, review before disavow |\n| Technical | Crawl budget utilization | Useful pages crawled / total pages crawled x 100 | >80% useful/indexable | High crawl of non-indexable or low-value pages |\n| Technical | Index coverage rate | Indexed pages / submitted pages x 100 | >90% for curated sitemap | <80% or declining |\n| Content | Content efficiency | Organic sessions per piece / cost per piece | Improving | Flat or declining after refresh window |\n| Content | Content decay rate | Pages with >20% traffic decline over 6 months / pages with traffic | <20% | >30% |\n| Business | Organic revenue/session | Organic revenue / organic sessions | Stable or growing | Declining while traffic grows |\n| Competitive | Share of voice | Your visibility / total competitor visibility x 100 | Growing in core topics | Declining 3+ consecutive months |\n| Competitive | Keyword overlap | Shared top-20 keywords / your tracked keywords x 100 | Expected for direct competitors | New high-overlap competitor = emerging threat |\n| ROI | SEO ROI | (Organic revenue - SEO investment) / investment x 100 | >200% annually | <100% after 12+ months |\n| ROI | Organic traffic value | Sum monthly organic clicks x CPC | Growing; exceeds SEO investment | Value compression or shrinking gap vs spend |\n\n## Benchmarks\n\n### CTR by Position\n\n| Position | Typical CTR |\n|----------|-------------|\n| #1 | 25-35% |\n| #2 | 12-18% |\n| #3 | 8-13% |\n| #4-5 | 4-8% |\n| #6-10 | 2-5% |\n| #11-20 | 0.5-2% |\n\n### Organic Conversion Rate by Industry\n\n| Industry | Typical range |\n|----------|---------------|\n| SaaS | 2-5% |\n| E-commerce | 1-3% |\n| Finance | 3-6% |\n| Healthcare | 2-4% |\n| B2B services | 2-5% |\n| Media | 0.5-2% |\n\n### Domain Authority Maturity\n\n| Stage | Typical range |\n|-------|---------------|\n| New, 0-6 months | 0-15 |\n| Early growth, 6-18 months | 15-30 |\n| Established, 18-36 months | 25-50 |\n| Mature, 3+ years | 40-70+ |\n| Industry leader | 70-90+ |\n\n### Core Web Vitals\n\n| Metric | Good | Needs improvement | Poor |\n|--------|------|-------------------|------|\n| LCP | <=2.5s | 2.5-4.0s | >4.0s |\n| CLS | <=0.1 | 0.1-0.25 | >0.25 |\n| INP | <=200ms | 200-500ms | >500ms |\n\n## Summary Tables\n\n| Organic metric | Good | Warning | Source |\n|----------------|------|---------|--------|\n| Organic sessions | Growing MoM | >10% decline | Analytics |\n| Keyword visibility | >60% in top 100 | <40% | SEO tool |\n| Average position | <20 | >30 | Search Console |\n| Organic CTR | >3% | <1.5% | Search Console |\n| Pages indexed | Near intended indexable set | Dropping/gap | Search Console |\n| Organic CVR | >2% lead gen | <0.5% | Analytics |\n| Non-brand share | >50% | <30% | Analytics |\n\n| GEO metric | Good | Warning | Source |\n|------------|------|---------|--------|\n| AI citation rate | >20% | <5% | AI monitor |\n| AI citation position | Top 3 | Not cited / 5+ | AI monitor |\n| AI answer coverage | Growing | Declining | AI monitor |\n| Brand mention in AI | Growing | Zero | AI monitor |\n\n## Trend Interpretation\n\n| Pattern | Likely cause | Action |\n|---------|--------------|--------|\n| Steady growth | Strategy working | Continue; optimize high performers |\n| Sudden spike then drop | Viral content or algorithm volatility | Investigate source; replicate only if durable |\n| Gradual decline | Content decay, competition, technical debt | Run content + technical audit |\n| Flat line | Plateau | Expand topics, links, or formats |\n| Seasonal pattern | Demand cycle | Compare YoY and plan calendar around peaks |\n\n## Period Comparison Guide\n\n| Comparison | Best for | Limitation |\n|------------|----------|------------|\n| WoW | Sudden changes | Noisy; weekday effects |\n| MoM | Operating trends | Seasonal bias |\n| YoY | Seasonality control | Can hide recent trajectory |\n| Rolling 30-day | Noise smoothing | Lags real changes |\n\n## Interpretation Notes\n\n- Segment brand vs non-brand before drawing SEO conclusions.\n- Pair position with CTR and SERP-feature context; AI Overview/PAA can steal clicks.\n- Treat average position as directional, not a standalone success metric.\n- Measure ROI over 12+ months because SEO compounds.\n- Document every benchmark source and date in the report.\n\nFile v19.0.0:references/report-output-templates.md\n\n# Performance Report Output Templates\n\nUse one reporting shape: metric table -> what changed -> why it matters -> next action.\n\n## Shared Conventions\n\n| Item | Rule |\n|------|------|\n| Status | `On track`, `Watch`, `Off track`, or `N/A` |\n| Delta | Show absolute and percentage change when possible |\n| Audience | Executive = trends + actions; Technical = causes + owners |\n| Missing inputs | Mark `Not yet evaluated` and point to the next-best skill |\n\n## Report Configuration\n\nDomain, period, comparison, data freshness, report type, Audience, focus, source/date for each imported data set.\n\n## Executive Summary\n\n```markdown\n# SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Prepared**: [date]\n\n**Overall performance**: [Excellent/Good/Needs Attention/Critical]\n\n| Metric | Current | Previous | Change | Target | Status |\n|--------|---------|----------|--------|--------|--------|\n| Organic Traffic | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Keywords Top 10 | [X] | [Y] | [+/-Z] | [T] | [status] |\n| Organic Conversions | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Domain Authority / CITE | [X] | [Y] | [+/-Z] | [T] | [status] |\n| AI Citations | [X] | [Y] | [+/-Z%] | [T] | [status] |\n\nWins: [bullets] | Watch areas: [bullets] | Action required: [bullets]\n```\n\n## Section Templates\n\n| Section | Required fields |\n|---------|-----------------|\n| Organic Traffic | sessions, users, pageviews, bounce rate, top pages, device split, why it moved, next action |\n| Keyword Rankings | position buckets, top improvements, declines, SERP features, traffic impact |\n| GEO / AI Visibility | queries with AI answer, your citations, citation rate, wins, gaps |\n| Domain Authority (CITE Score) | CITE score, C/I/T/E dimensions, veto status, `Not yet evaluated` fallback |\n| Content Quality (CORE-EEAT) | pages audited, average CORE-EEAT/GEO/SEO, veto IDs, dimension trends |\n| Backlinks | total backlinks, referring domains, average authority, notable links, toxic risk |\n| Content Performance | new articles, updates, top performers, declining pages, refresh actions |\n| Recommendations | horizon, priority, action, expected impact, owner |\n\n## Full Report Skeleton\n\n```markdown\n# [Company] SEO & GEO Performance Report - [Month/Quarter] [Year]\n## Executive Summary\n## Organic Traffic\n## Keyword Rankings\n## GEO / AI Visibility\n## Domain Authority (CITE Score)\n## Content Quality (CORE-EEAT)\n## Backlinks\n## Content Performance\n## Recommendations & Next Steps\n## Appendix: data sources, methodology, missing inputs\n```\n\nFile v19.0.0:references/report-templates.md\n\n# SEO/GEO Report Templates\n\nCopy-ready report skeletons for executive, marketing, technical, and client audiences. Use placeholders, not sample numbers, unless user data is available.\n\n## 1. Executive Report\n\nFor C-suite/VP reporting. Keep to 1 page and lead with business impact.\n\n```markdown\n# SEO & GEO Performance Summary\n**Period**: [Month Year] | **Audience**: [Audience] | **Prepared by**: [Name]\n\n## Performance At A Glance\n| KPI | Current | Prior | MoM/QoQ | YoY | Target | Status |\n|-----|---------|-------|---------|-----|--------|--------|\n| Organic revenue | [$] | [$] | [%] | [%] | [$] | [status] |\n| Organic sessions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Keywords in Top 10 | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| Organic conversions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Domain Rating / Authority | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| AI citations | [X] | [X] | [%] | N/A | [X] | [status] |\n\n## Competitive Position\n**Share of voice**: [rank] of [N] tracked competitors ([change]).\n\n| Rank | Competitor | Visibility Share | Change |\n|------|------------|------------------|--------|\n| [1] | [domain] | [%] | [+/-] |\n\n## Wins, Risks, And Ask\n- Wins: [business win], [SEO/GEO win], [authority/content win]\n- Risks: [risk + mitigation/owner], [risk + mitigation/owner]\n- Investment / ROI: [spend] -> [organic revenue/value] -> [ROI]\n- Ask for next period: [decision/budget/resource] by [date]\n```\n\n## 2. Marketing Report\n\nFor marketing managers, content teams, and channel leads.\n\n```markdown\n# Monthly SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Comparison**: [prior period + prior year]\n\n| Area | Metric | Current | Prior | Change | YoY | Action |\n|------|--------|---------|-------|--------|-----|--------|\n| Traffic | Organic sessions / users | [X] | [X] | [%] | [%] | [action] |\n| Engagement | Bounce or engagement rate / duration | [value] | [value] | [change] | [change] | [action] |\n| Rankings | #1 / Top 3 / Top 10 / 11-50 | [counts] | [counts] | [+/-] | [+/-] | [action] |\n| Content | Top pages / conversions | [values] | [values] | [change] | [change] | [action] |\n| GEO | AI Overview queries / citations / citation rate | [values] | [values] | [change] | N/A | [action] |\n| Authority | Referring domains / new links / avg new DR | [values] | [values] | [change] | [change] | [action] |\n\n## Keyword Movers\n| Keyword | Volume | Old -> New | Change | Action |\n|---------|--------|------------|--------|--------|\n| [keyword] | [X] | [X -> Y] | [+/-] | [action] |\n\n## Action Items\n| Priority | Action | Owner | Deadline | Expected Impact |\n|----------|--------|-------|----------|-----------------|\n| P0/P1/P2 | [action] | [owner] | [date] | [impact] |\n```\n\n## 3. Technical Report\n\nFor engineering teams and technical stakeholders. Add business impact only for prioritization.\n\n```markdown\n# Technical SEO Health Report\n**Domain**: [domain] | **Period**: [date range] | **Data freshness**: [timestamp]\n\n| Area | Metric | Current | Prior | Change | Status | Action |\n|------|--------|---------|-------|--------|--------|--------|\n| Crawl | Pages crawled / avg response time | [values] | [values] | [change] | [status] | [action] |\n| Indexation | Valid indexed / excluded errors | [values] | [values] | [change] | [status] | [action] |\n| CWV | LCP / CLS / INP | [values] | [values] | [change] | [status] | [action] |\n| Errors | 404 / 5xx / redirect chains | [counts] | [counts] | [change] | [status] | [action] |\n| Schema | Valid / warning / error pages | [counts] | [counts] | [change] | [status] | [action] |\n\n## Technical Debt Tracker\n| Item | Priority | Effort | Owner | Deadline | Status |\n|------|----------|--------|-------|----------|--------|\n| [issue] | P0/P1/P2 | L/M/H | [owner] | [date] | [status] |\n```\n\n## 4. Assembly Rules\n\n| Audience | Include | Exclude |\n|----------|---------|---------|\n| CEO / Board | Executive summary, KPI status, ROI, risks, asks | Technical debugging detail |\n| VP Marketing | Executive + marketing sections | Deep crawl/schema logs |\n| Marketing Manager | Full marketing report | Engineering-only detail |\n| Engineering Lead | Technical report + P0/P1 context | Keyword/revenue overload |\n| Client / Agency | Executive + marketing + actions | Internal cost data |\n\n### Data Freshness Requirements\n\n| Report Type | Maximum Data Age |\n|-------------|------------------|\n| Executive monthly | 3 days after period end |\n| Marketing weekly | 1 day after period end |\n| Technical | Real-time where possible |\n| Quarterly review | 5 days after quarter end |\n\n### Delivery Checklist\n\n- [ ] All data sources verified and dated\n- [ ] Period-over-period comparisons included\n- [ ] Authority metric included when reporting performance at a glance\n- [ ] AI citation / GEO metric included when in scope\n- [ ] Action items are specific, assigned, and time-bound\n- [ ] Report tailored to audience level\n- [ ] External benchmarks cited with source and date\n\nFile v19.0.0:skill-card.md\n\n## Description:\n\nGenerates SEO and GEO performance reports or configures monitoring alerts for rankings, traffic, authority, backlinks, technical health, competitor movement, and AI visibility.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aaron-he-zhu](https://clawhub.ai/user/aaron-he-zhu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nMarketing, SEO, and growth teams use this skill to create source-tagged performance dashboards, executive SEO/GEO summaries, and threshold-based monitoring plans. It is intended for reporting on measured or user-provided metrics and for configuring alerts around future traffic, ranking, technical, backlink, competitor, and AI-visibility changes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: A documented ledger command could become command injection if an agent builds a shell string from a user-supplied domain.\n\nMitigation: Validate domains and pass command arguments as structured values instead of constructing shell strings.\n\nRisk: The skill may connect analytics, search, SEO, crawler, notification, or memory storage integrations.\n\nMitigation: Enable integrations only when needed and after explicit user approval.\n\n## Reference(s):\n\n- [Performance Monitor ClawHub Page](https://clawhub.ai/aaron-he-zhu/skills/performance-monitor)\n- [Publisher Profile](https://clawhub.ai/user/aaron-he-zhu)\n- [Project Homepage](https://github.com/aaron-he-zhu/aaron-marketing-skills)\n- [Alert Configuration Templates](references/alert-configuration-templates.md)\n- [Alert Threshold Guide](references/alert-threshold-guide.md)\n- [SEO/GEO KPI Definitions](references/kpi-definitions.md)\n- [Performance Report Output Templates](references/report-output-templates.md)\n- [SEO/GEO Report Templates](references/report-templates.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown report or alert configuration summary with source-tagged metrics and optional shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Report mode emits a delta-based dashboard and handoff summary; alert mode emits named triggers, thresholds, priorities, routing, and response plans.]\n\n## Skill Version(s):\n\n19.0.0 (source: server release metadata and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v19.0.0:distribution-manifest.json\n\n{\n  \"capabilities\": [\n    \"inline-delivery\",\n    \"canonical-state-read\"\n  ],\n  \"capability_ceiling\": \"lite\",\n  \"catalog_sha256\": \"6f0256cf52710f2916ecebaea0f3110c9313099ec4a69a11cac72ba9b2f3b940\",\n  \"files\": [\n    {\n      \"bytes\": 15979,\n      \"mode\": \"0644\",\n      \"path\": \"SKILL.md\",\n      \"sha256\": \"6d7ebfc9b3e9ab19ee6c3fd406fa5af651aa7d3a20d5ae427c39b367a5550978\"\n    },\n    {\n      \"bytes\": 4662,\n      \"mode\": \"0644\",\n      \"path\": \"references/alert-configuration-templates.md\",\n      \"sha256\": \"850131d944128ab040204f5fb5554ac8b8f16f16aa345569c7b48a903ee62bdf\"\n    },\n    {\n      \"bytes\": 3453,\n      \"mode\": \"0644\",\n      \"path\": \"references/alert-threshold-guide.md\",\n      \"sha256\": \"2f5f240e3f7537111df434fc3142377e6fdc67c2cadfa6e065239a8d99babc44\"\n    },\n    {\n      \"bytes\": 6667,\n      \"mode\": \"0644\",\n      \"path\": \"references/kpi-definitions.md\",\n      \"sha256\": \"74d71ac579c3112f211b86d8b831f568eddd6b2d11ffbd81db6442e682fdf1b6\"\n    },\n    {\n      \"bytes\": 2540,\n      \"mode\": \"0644\",\n      \"path\": \"references/report-output-templates.md\",\n      \"sha256\": \"fc1e28a722c99c43f9142541551789234170bf8ccaf1499d2fdea1eb5e731151\"\n    },\n    {\n      \"bytes\": 4975,\n      \"mode\": \"0644\",\n      \"path\": \"references/report-templates.md\",\n      \"sha256\": \"cb515fc2ed257b62bb5d348f126638abdea754c4b8050e0ce42297c5ae78efad\"\n    }\n  ],\n  \"files_sha256\": \"a9db5ebec611a7699549656b2bfb70b0238c4d53b8e2021e502407d71afa9b9c\",\n  \"hash_algorithm\": \"sha256\",\n  \"kind\": \"standalone-skill\",\n  \"manifest_excludes\": [\n    \"distribution-manifest.json\"\n  ],\n  \"manifest_path\": \"distribution-manifest.json\",\n  \"package_ceiling\": {\n    \"max_bytes\": 1000000,\n    \"max_files\": 64\n  },\n  \"profile\": \"lite\",\n  \"profile_definition_sha256\": \"4598e1f7bba667ef928ea2a60a6252ad9348086e9eecab29437db442df2a568e\",\n  \"schema_version\": \"1.1\",\n  \"source\": {\n    \"commit\": \"f552620c278afddcb25d09637a0cfcc1ce48faf4\",\n    \"repository\": \"aaron-he-zhu/aaron-marketing-skills\"\n  }\n}\n\nArchive v18.0.0: 14 files, 34908 bytes\n\nFiles: references/alert-configuration-templates 2.md (4662b), references/alert-configuration-templates.md (4662b), references/alert-threshold-guide 2.md (3453b), references/alert-threshold-guide.md (3453b), references/kpi-definitions 2.md (6667b), references/kpi-definitions.md (6667b), references/report-output-templates 2.md (2540b), references/report-output-templates.md (2540b), references/report-templates 2.md (4975b), references/report-templates.md (4975b), SKILL 2.md (15979b), skill-card.md (2935b), SKILL.md (15979b), _meta.json (139b)\n\nFile v18.0.0:SKILL.md\n\n---\nname: performance-monitor\nslug: performance-monitor\ndisplayName: \"Performance Monitor · SEO报告\"\nsummary: \"SEO报告/绩效仪表盘/SEO预警/排名监控\"\ndescription: 'Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/content dashboards, and alert configures threshold notifications for future ranking, traffic, technical, backlink, competitor, and AI-visibility changes. Not for raw position-by-position deltas — use rank-tracker. SEO报告/绩效仪表盘/SEO预警/排名监控'\nversion: \"18.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when generating multi-metric SEO/GEO performance reports, traffic summaries, stakeholder dashboards, SEO报告, 流量报告, 月报, 周报, 汇报给老板 (mode: report), OR when setting up monitoring alerts for rankings, traffic, backlinks, technical issues, competitor moves, or AI visibility changes, SEO预警, 排名监控 (mode: alert). Not for raw position-by-position ranking deltas — use rank-tracker.\"\nargument-hint: \"<domain> [--mode report|alert] [date range | metric]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"18.0.0\", \"discipline\": \"seo-geo\", \"phase\": \"evaluate\", \"geo-relevance\": \"medium\", \"hermes\": {\"tags\": [\"marketing\", \"seo-geo\", \"evaluate\"], \"category\": \"seo-geo\"}, \"openclaw\": {\"emoji\": \"🔍\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Performance Monitor\n\nOne monitor skill, two modes. **`report`** builds a stakeholder-facing multi-metric snapshot of what already happened (traffic, rankings, GEO/AI, authority, backlinks, content) and turns period-over-period deltas into prioritized recommendations. **`alert`** configures forward-looking threshold and anomaly notifications so a drop in rankings, traffic, technical health, backlinks, competitor position, or AI citations fires before someone eyeballs it. Pick the mode from intent: past-tense reporting → `report`; future-tense \"tell me when\" → `alert`.\n\n**Mode set:** `report` (multi-metric snapshot) · `alert` (forward thresholds/anomalies). Default when unstated: infer from verb tense (see Decision Gates).\n\n**Scope guard — what this skill does NOT do:** it does not compute the CORE-EEAT content score or run its vetoes (T04/C01/R10) — that gate is [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md); it does not compute the CITE domain score or run its vetoes (T03/T05/T09) — that gate is [domain-authority-auditor](../domain-authority-auditor/SKILL.md). This skill *reports* those scores when a gate has already produced them and *watches* them for change; it never scores. Raw position-by-position ranking deltas belong to [rank-tracker](../rank-tracker/SKILL.md).\n\n## Quick Start\n\n```text\n# report mode\nCreate an SEO performance report for [domain] for [time period]\nGenerate an executive summary of SEO performance for [month/quarter]\nCreate a GEO visibility report for [domain]\n\n# alert mode\nSet up SEO monitoring alerts for [domain]\nCreate ranking drop alerts for my top 20 keywords\nAlert me when AI citations for [domain] drop\n```\n\nShortest valid invocation: `performance-monitor <domain>` (mode inferred). Output: **report** returns a metric-table → what-changed → why → next-action dashboard with every figure source-tagged; **alert** returns an alert-config summary with named triggers, thresholds, priorities, and delivery routing. Both emit a handoff summary ready for `memory/monitoring/`.\n\n## Skill Contract\n\n**Expected output**: mode `report` → a delta-based multi-metric report/dashboard; mode `alert` → an alert configuration summary. Both include the standard handoff summary for `memory/monitoring/`.\n\n- **Reads**: prior baselines and current performance data. `report` reads current + prior-period metrics across traffic/rankings/authority/content, report audience, and date range. `alert` reads baselines, critical keywords/metrics to watch, normal volatility, and delivery preferences. Plus any user-provided or tool data.\n- **Writes**: a user-facing monitoring deliverable plus a reusable summary storable under `memory/monitoring/`.\n- **Promotes**: significant changes, confirmed anomalies, durable thresholds, and follow-up actions; pending decisions go to `memory/open-loops.md` (never directly to `decisions.md`).\n- **Done when**:\n  - `report`: each in-scope section (traffic, rankings, GEO, authority, backlinks, content) is present or marked \"Not yet evaluated\"; every metric is source-tagged and compared to the prior period; recommendations carry owner, priority, and expected impact.\n  - `alert`: each chosen alert category has a named trigger, threshold, and priority; a Critical/High/Medium/Low response plan and delivery routing are defined; thresholds are tuned to the metric's stated normal volatility.\n- **Primary next skill**: see [Next Best Skill](#next-best-skill) — the two modes hand off to each other.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md). Name the active mode (`report` / `alert`) in the Objective line.\n\n## Data Sources\n\nAll integrations optional (see [CONNECTORS.md](../../../CONNECTORS.md)). Tier 1 (keyless) works for both modes; keyed tools are opt-in Tier 2/3.\n\n- **report**: with tools connected, aggregates traffic from ~~analytics, search data from ~~search console, rankings/backlinks from ~~SEO tool, and AI visibility from ~~AI monitor. Without tools, ask the user for analytics exports, Search Console data, ranking data, and KPIs.\n- **alert**: with tools, monitor real-time feeds from ~~SEO tool, ~~search console, and ~~web crawler. Without tools, ask for baselines, critical keywords, delivery preferences, and historical data.\n\n**Zero-dependency measurement loop** (both modes): every reported change or fired alert should come from a computed delta, not an eyeballed estimate. Store each period's KPIs and let the ledger compute movement: `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py\" record <domain> --source monitor --data '{\"sessions\": ..., \"clicks\": ..., ...}'`, then `ledger.py diff <domain> --source monitor` for the period delta and `ledger.py trend <domain> --source monitor --field <kpi>` for the trend line. Label every figure Measured / User-provided / Estimated, and attribute outcome movement against a control rather than to the latest change — see [references/measurement-protocol.md](../../../references/measurement-protocol.md). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\n## Decision Gates\n\n**Stop and ask the user when:**\n- **Mode ambiguous** — the request fits neither past-tense (\"report on last month\") nor future-tense (\"tell me when X drops\"). Offer: (1) `report` a snapshot now, (2) `alert` for ongoing monitoring, (3) both.\n- **report**: no reporting period or comparison period can be determined and none is in context — offer (1) last 30 days vs prior 30, (2) last calendar month vs prior month, (3) a custom range. A period comparison is required, not optional.\n- **alert**: no baseline or normal-volatility reference exists for the metrics to watch — thresholds would be arbitrary. Offer (1) supply recent baseline data, (2) use the Alert Threshold Quick Reference defaults and label them Estimated, (3) cancel.\n\n**Continue silently (never stop for):**\n- A report section's source data is missing — mark that section \"Not yet evaluated\" and proceed; do not fabricate the metric.\n- Audience not stated (report) — default to the executive template and note the assumption.\n- Delivery channel not stated (alert) — default to the channel in context (or email) and note it.\n- An alert category the user did not mention — leave it unconfigured; do not add alerts they did not request.\n\n## Instructions\n\n**Step 0 — Select mode.** Read `--mode` if given. Otherwise infer: past-tense / \"how did we do\" / \"月报\" → `report`; future-tense / \"tell me when\" / \"预警\" → `alert`. If neither fits, use the mode-ambiguous gate above.\n\n### Mode: report\n\nUse [Report Output Templates](references/report-output-templates.md) and cover:\n\n1. **Define Report Parameters** — domain, period, comparison period, report type, audience, focus areas, data freshness.\n2. **Executive Summary** — overall rating, wins, watch areas, required actions, metrics-at-a-glance (traffic, rankings, conversions, DA/authority, AI citations), and SEO ROI; tag each metric Measured / User-provided / Estimated.\n3. **Organic Traffic** — sessions, users, pageviews, engagement/bounce, trend, source/device split, top pages, each figure source-tagged.\n4. **Keyword Rankings** — position ranges, distribution change, top improvements/declines, SERP features. For raw position-by-position deltas, defer to [rank-tracker](../rank-tracker/SKILL.md) rather than recomputing here.\n5. **GEO / AI Performance** — AI citation overview, citations by topic, GEO wins, optimization opportunities.\n6. **Domain Authority (CITE)** — include CITE dimension scores and veto status **when a gate has already produced them**; otherwise mark \"Not yet evaluated.\" Do not compute CITE here.\n7. **Content Quality (CORE-EEAT)** — include average scores and trends **when already produced**; otherwise mark \"Not yet evaluated.\" Do not compute CORE-EEAT here.\n8. **Backlinks** — link-profile summary, acquisition trend, notable links, competitive position.\n9. **Content Performance** — publishing summary, top content, content needing attention, content ROI.\n10. **Recommendations** — immediate/short-term/long-term actions with priority, owner, expected impact, next-period goals.\n11. **Compile Full Report** — table of contents, appendix, data sources, methodology, glossary.\n\n### Mode: alert\n\nUse [Alert Configuration Templates](references/alert-configuration-templates.md) and:\n\n1. **Define Alert Categories** — choose from rankings, traffic, technical, backlinks, competitors, GEO / AI, and brand.\n2. **Configure Alert Rules by Category** — define trigger condition, threshold, alert name, and priority for each relevant rule; tie each threshold to a stated baseline and label that baseline Measured / User-provided / Estimated.\n3. **Define Alert Response Plans** — map Critical / High / Medium / Low to response time and next actions.\n4. **Set Up Alert Delivery** — channels, routing, cooldowns, maintenance windows, escalation paths.\n5. **Create Alert Summary** — output category counts, the critical playbook, and a weekly review checklist as the deliverable.\n\n### Shared discipline (both modes)\n\nLabel every metric **Measured** (tool/export), **User-provided**, or **Estimated** (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it. Separate an **observed change** from a **plausible explanation** (corroborate before stating a cause), an **optimization opportunity**, and **follow-up** needing crawl/SERP/rank/audit — never report an unverified explanation as a confirmed cause.\n\n## Alert Threshold Quick Reference\n\n| Metric | Warning | Critical | Frequency |\n|--------|---------|----------|-----------|\n| Organic traffic | -15% WoW | -30% WoW | Daily |\n| Keyword positions | >3 position drop | >5 position drop | Daily |\n| Pages indexed | -5% change | -20% change | Weekly |\n| Crawl errors | >10 new/day | >50 new/day | Daily |\n| Core Web Vitals | \"Needs Improvement\" | \"Poor\" | Weekly |\n| Backlinks lost | >5% in 1 week | >15% in 1 week | Weekly |\n| AI citation loss | Any key query | >20% queries | Weekly |\n| Security issues | Any detected | Any detected | Daily |\n\n**Steep-decline trigger (always on):** if organic traffic OR aggregate keyword rank falls **>30%** below its trailing baseline (default: prior 28-day median for the same weekday band), fire a Critical alert regardless of category. Use a trailing median, not a single prior day, so one noisy data point does not trip it. Label the baseline Measured / User-provided / Estimated.\n\n## Reading Deltas Against a Control\n\nA reported delta or a fired alert is only evidence if it beats a control over a **fixed readback window** set before the change — a raw before/after on a confounded outcome is a story, not proof. Attach the decision protocol from [references/measurement-protocol.md §Cross-discipline decision protocol](../../../references/measurement-protocol.md):\n\n- **Readback window** — pick the window for the change type up front (content refresh 7/14/28/56 days; new content 14/28/56/90; technical fix daily ×7 then 28; AEO/GEO surfacing weekly) and do not react to noise inside it. A fired alert opens a readback window, not an instant verdict — confirm the drop holds before declaring an incident.\n- **Required readback fields** — record: change · owner · baseline window · candidate window · sources · primary + secondary metric · winner · caveats · decision · next-patch · next-readback date.\n- **Decision** — mark each change **Promote** (beats control on the primary metric past the bar), **Keep-testing** (trending, not yet significant), **Rollback** (loses by the same bar), or **Unproven** (everything else). Report delta-vs-control, not raw delta.\n\n## Example\n\n- **report**: an executive summary with overall status, metrics-at-a-glance for traffic/rankings/conversions/authority/AI citations, SEO ROI, and immediate/month/quarter actions with owners and dates.\n- **alert**: a keyword alert matrix with Critical vs High thresholds, a response plan for drops, and notification routing to email + Slack.\n\n## Save Results\n\nAsk \"Save these results?\" If yes, write to `memory/monitoring/` using filename `YYYY-MM-DD-<topic>.md` — see [skill-contract.md §Save Results Template](../../../references/skill-contract.md). This is a non-auditor skill: ask before writing memory and hand off veto-like risks to the relevant auditor gate rather than appending veto markers itself.\n\n## Reference Materials\n\n- [Report Output Templates](references/report-output-templates.md) — compact starter blocks for all 11 report sections (report mode)\n- [KPI Definitions](references/kpi-definitions.md) — SEO/GEO metric definitions with benchmarks, thresholds, trend analysis, attribution guidance\n- [Report Templates by Audience](references/report-templates.md) — copy-ready templates for executive, marketing, technical, and client audiences\n- [Alert Configuration Templates](references/alert-configuration-templates.md) — full category tables, thresholds, response-plan templates (alert mode)\n- [Alert Threshold Guide](references/alert-threshold-guide.md) — threshold setting, fatigue prevention, escalation paths, response playbooks\n- [Measurement & Attribution Protocol](../../../references/measurement-protocol.md) — readback windows, required fields, and the promote / keep-testing / rollback / unproven decision rule\n\n## Next Best Skill\n\nMode-conditional, then terminal:\n\n- After **report** — a change needs ongoing monitoring → run this skill in `alert` mode. A section marked \"Not yet evaluated\" for authority → [domain-authority-auditor](../domain-authority-auditor/SKILL.md); for content quality → [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md). One-off report with no action → Terminal.\n- After **alert** — a reporting cadence is requested → run this skill in `report` mode. Standalone alert setup → Terminal.\n\nTermination: the visited-set and `max-depth: 3` rules from [skill-contract.md §Termination rules](../../../references/skill-contract.md) apply. Do not re-enter a mode already run in this chain (report→alert→report is a visited-set stop); if routing is ambiguous, present the options and stop instead of auto-following.\n\nFile v18.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"performance-monitor\",\n  \"version\": \"18.0.0\",\n  \"publishedAt\": 1783921700331\n}\n\nFile v18.0.0:references/alert-configuration-templates 2.md\n\n# Alert Configuration Templates\n\nCompact alert thresholds and response plans for SEO/GEO monitoring.\n\n## 1. Alert Thresholds\n\n| Area | Alert | Condition | Priority |\n|------|-------|-----------|----------|\n| Rankings | Critical drop | Top 3 keyword drops 5+ positions | Critical |\n| Rankings | Top 10 loss | Top 10 keyword drops out of top 10 | High |\n| Rankings | Moderate drop | Any keyword drops 10+ positions | Medium |\n| Rankings | Competitor overtake | Competitor passes you for key term | Medium |\n| Rankings | Positive movement | New Top 3, page 1 entry, 10+ position climb | Positive |\n| SERP features | Snippet lost / won | Featured snippet ownership changes | High / Positive |\n| SERP features | AI Overview change | Appears or disappears | Medium |\n| Traffic | Traffic crash | Day-over-day decline >=50% | Critical |\n| Traffic | Significant drop | Week-over-week decline >=30% | High |\n| Traffic | Moderate decline | Month-over-month decline >=20% | Medium |\n| Traffic | Trend warning | 3 consecutive weeks decline | Medium |\n| Conversions | Conversion drop | Organic conversions down 30%+ | Critical |\n| Conversions | CVR decline | Conversion rate drops 20%+ | High |\n| Technical | Site down | HTTP 5xx errors | Critical |\n| Technical | SSL expiry | Certificate expires in 14 days | Critical |\n| Technical | Robots.txt block | Important pages blocked | Critical |\n| Technical | Index drop | Important pages drop from index | Critical |\n| Technical | Crawl/index/CWV/mobile issue | Error spike 50%+, 10% index drop, CWV poor, mobile errors | High |\n| Technical | New 404 pages | 404 errors on important pages | Medium |\n| Technical | Redirect chains | 3+ redirect hops | Medium |\n| Security | Manual action / malware | GSC warning or flagged issue | Critical |\n| Backlinks | High-value link lost | DA 70+ link removed | High |\n| Backlinks | High-value link gained | New DA 70+ link | Positive |\n| Backlinks | Multiple lost links | 10+ links lost in a day | Medium |\n| Backlinks | Toxic / negative SEO | Spam pattern or toxic score +20% | High |\n| Competitors | Competitor content/backlink move | New content/update or high-DA link | Info |\n| GEO | Citation lost/won | AI citation ownership changes | Medium / Positive |\n| GEO | Citation rate drop | AI citation rate drops 20%+ | High |\n| Brand | Negative mention / rating drop | Sentiment or rating deterioration | High |\n| Brand | Unlinked mention | Brand mention without link | Opportunity |\n\n## 2. Page-Level Traffic Rules\n\n| Page Type | Alert Condition | Priority |\n|-----------|-----------------|----------|\n| Homepage | 20%+ decline | Critical |\n| Top 10 pages | 30%+ decline | High |\n| Conversion pages | 25%+ decline | High |\n| Blog posts | 40%+ decline | Medium |\n\n## 3. Response Plans\n\n| Priority | Response Time | Immediate Actions |\n|----------|---------------|-------------------|\n| Critical | Within 1 hour | Confirm data, check server/GSC/indexing, assign owner, start incident log |\n| High | Same day | Diagnose cause, compare competitors/SERP, create recovery plan |\n| Medium | Within 48 hours | Investigate trend, batch with related alerts, schedule fix |\n| Low / Info | Weekly review | Document, tag trend, no interruption |\n| Positive | Weekly review | Record win and identify repeatable driver |\n\n| Alert Type | First Checks |\n|------------|--------------|\n| Site down | Server, DNS, CDN, deploy status |\n| Traffic crash | Algorithm update, GSC errors, analytics tag, competitors |\n| Manual action | GSC message, affected URLs, remediation path |\n| Critical rank drop | Indexing, SERP change, page changes, competitor movement |\n| Backlink loss | Source page status, relationship owner, outreach path |\n| CWV failure | Template, script, image, hosting, field data |\n\n## 4. Notification Setup\n\n| Priority | Channels | Frequency | Escalation |\n|----------|----------|-----------|------------|\n| Critical | Email + SMS + Slack | Immediate | No response in 1hr -> Director |\n| High | Email + Slack | Immediate | No response in 4hr -> Manager |\n| Medium | Email + Slack | Daily digest | No response in 24hr -> Lead |\n| Low / Positive | Email | Weekly digest | None |\n\n| Role | Critical | High | Medium | Low |\n|------|----------|------|--------|-----|\n| SEO Manager | Yes | Yes | Yes | Yes |\n| Dev Team | Yes | Tech only | No | No |\n| Marketing Lead | Yes | Yes | No | No |\n| Executive | Yes | No | No | No |\n\n## 5. Suppression Rules\n\n- Suppress duplicate alerts for 24 hours.\n- Suppress known maintenance windows.\n- Batch low-priority alerts into digests.\n- Require source timestamp and metric source on every alert.\n- Mark unresolved alerts with owner, status, and next check time.\n\nFile v18.0.0:references/alert-configuration-templates.md\n\n# Alert Configuration Templates\n\nCompact alert thresholds and response plans for SEO/GEO monitoring.\n\n## 1. Alert Thresholds\n\n| Area | Alert | Condition | Priority |\n|------|-------|-----------|----------|\n| Rankings | Critical drop | Top 3 keyword drops 5+ positions | Critical |\n| Rankings | Top 10 loss | Top 10 keyword drops out of top 10 | High |\n| Rankings | Moderate drop | Any keyword drops 10+ positions | Medium |\n| Rankings | Competitor overtake | Competitor passes you for key term | Medium |\n| Rankings | Positive movement | New Top 3, page 1 entry, 10+ position climb | Positive |\n| SERP features | Snippet lost / won | Featured snippet ownership changes | High / Positive |\n| SERP features | AI Overview change | Appears or disappears | Medium |\n| Traffic | Traffic crash | Day-over-day decline >=50% | Critical |\n| Traffic | Significant drop | Week-over-week decline >=30% | High |\n| Traffic | Moderate decline | Month-over-month decline >=20% | Medium |\n| Traffic | Trend warning | 3 consecutive weeks decline | Medium |\n| Conversions | Conversion drop | Organic conversions down 30%+ | Critical |\n| Conversions | CVR decline | Conversion rate drops 20%+ | High |\n| Technical | Site down | HTTP 5xx errors | Critical |\n| Technical | SSL expiry | Certificate expires in 14 days | Critical |\n| Technical | Robots.txt block | Important pages blocked | Critical |\n| Technical | Index drop | Important pages drop from index | Critical |\n| Technical | Crawl/index/CWV/mobile issue | Error spike 50%+, 10% index drop, CWV poor, mobile errors | High |\n| Technical | New 404 pages | 404 errors on important pages | Medium |\n| Technical | Redirect chains | 3+ redirect hops | Medium |\n| Security | Manual action / malware | GSC warning or flagged issue | Critical |\n| Backlinks | High-value link lost | DA 70+ link removed | High |\n| Backlinks | High-value link gained | New DA 70+ link | Positive |\n| Backlinks | Multiple lost links | 10+ links lost in a day | Medium |\n| Backlinks | Toxic / negative SEO | Spam pattern or toxic score +20% | High |\n| Competitors | Competitor content/backlink move | New content/update or high-DA link | Info |\n| GEO | Citation lost/won | AI citation ownership changes | Medium / Positive |\n| GEO | Citation rate drop | AI citation rate drops 20%+ | High |\n| Brand | Negative mention / rating drop | Sentiment or rating deterioration | High |\n| Brand | Unlinked mention | Brand mention without link | Opportunity |\n\n## 2. Page-Level Traffic Rules\n\n| Page Type | Alert Condition | Priority |\n|-----------|-----------------|----------|\n| Homepage | 20%+ decline | Critical |\n| Top 10 pages | 30%+ decline | High |\n| Conversion pages | 25%+ decline | High |\n| Blog posts | 40%+ decline | Medium |\n\n## 3. Response Plans\n\n| Priority | Response Time | Immediate Actions |\n|----------|---------------|-------------------|\n| Critical | Within 1 hour | Confirm data, check server/GSC/indexing, assign owner, start incident log |\n| High | Same day | Diagnose cause, compare competitors/SERP, create recovery plan |\n| Medium | Within 48 hours | Investigate trend, batch with related alerts, schedule fix |\n| Low / Info | Weekly review | Document, tag trend, no interruption |\n| Positive | Weekly review | Record win and identify repeatable driver |\n\n| Alert Type | First Checks |\n|------------|--------------|\n| Site down | Server, DNS, CDN, deploy status |\n| Traffic crash | Algorithm update, GSC errors, analytics tag, competitors |\n| Manual action | GSC message, affected URLs, remediation path |\n| Critical rank drop | Indexing, SERP change, page changes, competitor movement |\n| Backlink loss | Source page status, relationship owner, outreach path |\n| CWV failure | Template, script, image, hosting, field data |\n\n## 4. Notification Setup\n\n| Priority | Channels | Frequency | Escalation |\n|----------|----------|-----------|------------|\n| Critical | Email + SMS + Slack | Immediate | No response in 1hr -> Director |\n| High | Email + Slack | Immediate | No response in 4hr -> Manager |\n| Medium | Email + Slack | Daily digest | No response in 24hr -> Lead |\n| Low / Positive | Email | Weekly digest | None |\n\n| Role | Critical | High | Medium | Low |\n|------|----------|------|--------|-----|\n| SEO Manager | Yes | Yes | Yes | Yes |\n| Dev Team | Yes | Tech only | No | No |\n| Marketing Lead | Yes | Yes | No | No |\n| Executive | Yes | No | No | No |\n\n## 5. Suppression Rules\n\n- Suppress duplicate alerts for 24 hours.\n- Suppress known maintenance windows.\n- Batch low-priority alerts into digests.\n- Require source timestamp and metric source on every alert.\n- Mark unresolved alerts with owner, status, and next check time.\n\nFile v18.0.0:references/alert-threshold-guide 2.md\n\n# Alert Threshold Guide\n\n## Severity Levels\n\n**Standard Deviation method**: Info (1 SD), Warning (1.5 SD), Critical (2 SD), Emergency (3 SD) from baseline mean.\n\n## Thresholds by Metric Category\n\n### Traffic\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| Organic sessions (WoW) | -15% | -30% | -50% |\n| Organic sessions (DoD) | -25% weekday | -40% | Site appears down |\n| Non-brand sessions (WoW) | -20% | -35% | -50% |\n| Organic conversions (WoW) | -20% | -40% | -60% |\n| Top 10 page traffic (WoW) | -25% | -40% | -60% |\n\n### Rankings\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Tier 1 keyword position | Drop >= 3 | Drop >= 5 |\n| Tier 2 keyword position | Drop >= 5 | Drop >= 10 |\n| Tier 3 keyword position | Drop >= 10 | Off page 3 |\n| Average position (all) | +2.0 worsening | +5.0 worsening |\n| Keywords in top 10 | -10% count | -20% count |\n| Brand keyword | Any drop from #1 | Below #3 |\n| Featured snippet | Any loss | 3+ losses |\n\n### Technical\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| New 4xx errors | >5/day | >20/day | >100/day |\n| New 5xx errors | >1/day | >5/day | >20/day |\n| Crawl rate change | -30% baseline | -60% baseline | Near-zero |\n| Index coverage drop | -5% | -15% | -30% |\n| Server response time | >500ms | >1000ms | >2000ms |\n| LCP (mobile) | Needs Improvement | Poor | >6s |\n| CLS | >0.1 | >0.25 | >0.5 |\n| INP | >200ms | >500ms | >1000ms |\n\n### Backlinks\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Referring domains lost (weekly) | >5% total | >15% total |\n| High-authority link lost (DR 60+) | Any loss | 3+ in one week |\n| Toxic link spike | >10/week | >50/week |\n| Exact match anchor % | Reaches 20% | Reaches 30% |\n\n### GEO / AI Visibility\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| AI citation rate | Drops 10+ pp | Below 10% |\n| Key query citation lost | Any Tier 1 | 3+ Tier 1 queries |\n| Citation position | Worsens by 2+ | Dropped entirely |\n\n## Alert Routing\n\n| Priority | Channel | Escalation |\n|----------|---------|------------|\n| P0 Emergency | SMS + Phone + Slack #emergencies | PagerDuty on-call |\n| P1 Urgent | Slack #alerts + Email | SMS if unacknowledged in 4h |\n| P2 Important | Email + Slack #daily | Auto-escalate to P1 after 1 week |\n| P3 Monitor | Weekly digest | Auto-escalate to P2 after 1 month |\n\n## Suppression Rules\n\n| Rule | Configuration |\n|------|--------------|\n| Duplicate cooldown | No re-alert same metric for 24h |\n| Maintenance window | Suppress non-security alerts |\n| Weekend adjustment | Increase traffic thresholds +20% |\n| Recovery auto-close | Close if metric normalizes within 48h |\n| Batch related | Group multiple ranking drops into one alert |\n\n## Threshold Tuning\n\n| Signal | Action |\n|--------|--------|\n| >30% false positives | Widen thresholds by 0.5 SD |\n| Missed real problem | Tighten the specific threshold |\n| Seasonal change | Adjust baselines for known patterns |\n| Major site change | Re-establish baseline (2-4 week observation) |\n| After algorithm update | Stabilize 2-4 weeks, then recalibrate |\n\n### Site Maturity Guidelines\n\n| Stage | Approach |\n|-------|----------|\n| New (0-6mo) | Wide thresholds, few alerts |\n| Growing (6-18mo) | Moderate thresholds, expand coverage |\n| Established (18mo+) | Tight thresholds, comprehensive |\n| Post-migration | Reset to wide, re-tighten over 4-8 weeks |\n\nFile v18.0.0:references/alert-threshold-guide.md\n\n# Alert Threshold Guide\n\n## Severity Levels\n\n**Standard Deviation method**: Info (1 SD), Warning (1.5 SD), Critical (2 SD), Emergency (3 SD) from baseline mean.\n\n## Thresholds by Metric Category\n\n### Traffic\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| Organic sessions (WoW) | -15% | -30% | -50% |\n| Organic sessions (DoD) | -25% weekday | -40% | Site appears down |\n| Non-brand sessions (WoW) | -20% | -35% | -50% |\n| Organic conversions (WoW) | -20% | -40% | -60% |\n| Top 10 page traffic (WoW) | -25% | -40% | -60% |\n\n### Rankings\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Tier 1 keyword position | Drop >= 3 | Drop >= 5 |\n| Tier 2 keyword position | Drop >= 5 | Drop >= 10 |\n| Tier 3 keyword position | Drop >= 10 | Off page 3 |\n| Average position (all) | +2.0 worsening | +5.0 worsening |\n| Keywords in top 10 | -10% count | -20% count |\n| Brand keyword | Any drop from #1 | Below #3 |\n| Featured snippet | Any loss | 3+ losses |\n\n### Technical\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| New 4xx errors | >5/day | >20/day | >100/day |\n| New 5xx errors | >1/day | >5/day | >20/day |\n| Crawl rate change | -30% baseline | -60% baseline | Near-zero |\n| Index coverage drop | -5% | -15% | -30% |\n| Server response time | >500ms | >1000ms | >2000ms |\n| LCP (mobile) | Needs Improvement | Poor | >6s |\n| CLS | >0.1 | >0.25 | >0.5 |\n| INP | >200ms | >500ms | >1000ms |\n\n### Backlinks\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Referring domains lost (weekly) | >5% total | >15% total |\n| High-authority link lost (DR 60+) | Any loss | 3+ in one week |\n| Toxic link spike | >10/week | >50/week |\n| Exact match anchor % | Reaches 20% | Reaches 30% |\n\n### GEO / AI Visibility\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| AI citation rate | Drops 10+ pp | Below 10% |\n| Key query citation lost | Any Tier 1 | 3+ Tier 1 queries |\n| Citation position | Worsens by 2+ | Dropped entirely |\n\n## Alert Routing\n\n| Priority | Channel | Escalation |\n|----------|---------|------------|\n| P0 Emergency | SMS + Phone + Slack #emergencies | PagerDuty on-call |\n| P1 Urgent | Slack #alerts + Email | SMS if unacknowledged in 4h |\n| P2 Important | Email + Slack #daily | Auto-escalate to P1 after 1 week |\n| P3 Monitor | Weekly digest | Auto-escalate to P2 after 1 month |\n\n## Suppression Rules\n\n| Rule | Configuration |\n|------|--------------|\n| Duplicate cooldown | No re-alert same metric for 24h |\n| Maintenance window | Suppress non-security alerts |\n| Weekend adjustment | Increase traffic thresholds +20% |\n| Recovery auto-close | Close if metric normalizes within 48h |\n| Batch related | Group multiple ranking drops into one alert |\n\n## Threshold Tuning\n\n| Signal | Action |\n|--------|--------|\n| >30% false positives | Widen thresholds by 0.5 SD |\n| Missed real problem | Tighten the specific threshold |\n| Seasonal change | Adjust baselines for known patterns |\n| Major site change | Re-establish baseline (2-4 week observation) |\n| After algorithm update | Stabilize 2-4 weeks, then recalibrate |\n\n### Site Maturity Guidelines\n\n| Stage | Approach |\n|-------|----------|\n| New (0-6mo) | Wide thresholds, few alerts |\n| Growing (6-18mo) | Moderate thresholds, expand coverage |\n| Established (18mo+) | Tight thresholds, comprehensive |\n| Post-migration | Reset to wide, re-tighten over 4-8 weeks |\n\nFile v18.0.0:references/kpi-definitions 2.md\n\n# SEO/GEO KPI Definitions\n\nUse these definitions when building recurring performance reports. Always show source, date range, comparison period, and whether the metric is brand, non-brand, or blended.\n\n## KPI Matrix\n\n| Category | KPI | Formula / source | Good | Warning / action trigger |\n|----------|-----|------------------|------|--------------------------|\n| Organic search | Organic sessions | Count sessions where medium = `organic`; analytics platform | Growing MoM; 3-10% MoM is healthy | Decline >10% MoM without seasonal cause; split brand vs non-brand |\n| Organic search | Organic CTR | Organic clicks / impressions x 100; Search Console | >3% overall | <1.5% or declining; stable position + low CTR means title/meta issue |\n| Organic search | Average position | Sum of positions / keyword count; Search Console or SEO tool | <20 for tracked keywords; improving | >30 or worsening; pair with top 10/top 20 distribution |\n| Organic search | Keyword visibility | Sum of estimated CTR at position x monthly volume | Growing | Declining 3+ consecutive weeks |\n| Organic search | Pages indexed | Valid indexed pages in Search Console | Close to intended indexable pages | Drop without intent; submitted/indexed gap; indexed > intended |\n| Organic search | Organic CVR | Organic conversions / organic sessions x 100 | >2% lead gen; >1% e-commerce | <0.5% or declining while traffic grows |\n| Organic search | Non-brand share | Non-brand organic sessions / total organic sessions x 100 | >50% | <30%, indicating brand dependency |\n| GEO / AI | AI citation rate | Cited queries / monitored AI-answer queries x 100 | >20% | <5% or declining |\n| GEO / AI | AI citation position | Sum citation positions / citation count | Top 3 average | Not cited or consistently 5+ |\n| GEO / AI | AI answer coverage | Topics with AI answers / target topics x 100 | Growing | Declining coverage |\n| GEO / AI | Brand mention in AI | AI responses containing brand name | Growing for authority topics | Zero mentions on priority topics |\n| Authority | Domain Rating / Authority | Tool-specific 0-100 logarithmic link score | Growing and competitive | Flat while competitors grow |\n| Authority | Referring domains | Distinct root domains linking | Growing MoM | Net loss for 2+ months |\n| Authority | Backlink growth rate | New backlinks - lost backlinks | Positive and steady | Negative 2+ months or spam-like spike |\n| Authority | Toxic link ratio | Toxic backlinks / total backlinks x 100 | <5% | 5-10% warning; >10% critical, review before disavow |\n| Technical | Crawl budget utilization | Useful pages crawled / total pages crawled x 100 | >80% useful/indexable | High crawl of non-indexable or low-value pages |\n| Technical | Index coverage rate | Indexed pages / submitted pages x 100 | >90% for curated sitemap | <80% or declining |\n| Content | Content efficiency | Organic sessions per piece / cost per piece | Improving | Flat or declining after refresh window |\n| Content | Content decay rate | Pages with >20% traffic decline over 6 months / pages with traffic | <20% | >30% |\n| Business | Organic revenue/session | Organic revenue / organic sessions | Stable or growing | Declining while traffic grows |\n| Competitive | Share of voice | Your visibility / total competitor visibility x 100 | Growing in core topics | Declining 3+ consecutive months |\n| Competitive | Keyword overlap | Shared top-20 keywords / your tracked keywords x 100 | Expected for direct competitors | New high-overlap competitor = emerging threat |\n| ROI | SEO ROI | (Organic revenue - SEO investment) / investment x 100 | >200% annually | <100% after 12+ months |\n| ROI | Organic traffic value | Sum monthly organic clicks x CPC | Growing; exceeds SEO investment | Value compression or shrinking gap vs spend |\n\n## Benchmarks\n\n### CTR by Position\n\n| Position | Typical CTR |\n|----------|-------------|\n| #1 | 25-35% |\n| #2 | 12-18% |\n| #3 | 8-13% |\n| #4-5 | 4-8% |\n| #6-10 | 2-5% |\n| #11-20 | 0.5-2% |\n\n### Organic Conversion Rate by Industry\n\n| Industry | Typical range |\n|----------|---------------|\n| SaaS | 2-5% |\n| E-commerce | 1-3% |\n| Finance | 3-6% |\n| Healthcare | 2-4% |\n| B2B services | 2-5% |\n| Media | 0.5-2% |\n\n### Domain Authority Maturity\n\n| Stage | Typical range |\n|-------|---------------|\n| New, 0-6 months | 0-15 |\n| Early growth, 6-18 months | 15-30 |\n| Established, 18-36 months | 25-50 |\n| Mature, 3+ years | 40-70+ |\n| Industry leader | 70-90+ |\n\n### Core Web Vitals\n\n| Metric | Good | Needs improvement | Poor |\n|--------|------|-------------------|------|\n| LCP | <=2.5s | 2.5-4.0s | >4.0s |\n| CLS | <=0.1 | 0.1-0.25 | >0.25 |\n| INP | <=200ms | 200-500ms | >500ms |\n\n## Summary Tables\n\n| Organic metric | Good | Warning | Source |\n|----------------|------|---------|--------|\n| Organic sessions | Growing MoM | >10% decline | Analytics |\n| Keyword visibility | >60% in top 100 | <40% | SEO tool |\n| Average position | <20 | >30 | Search Console |\n| Organic CTR | >3% | <1.5% | Search Console |\n| Pages indexed | Near intended indexable set | Dropping/gap | Search Console |\n| Organic CVR | >2% lead gen | <0.5% | Analytics |\n| Non-brand share | >50% | <30% | Analytics |\n\n| GEO metric | Good | Warning | Source |\n|------------|------|---------|--------|\n| AI citation rate | >20% | <5% | AI monitor |\n| AI citation position | Top 3 | Not cited / 5+ | AI monitor |\n| AI answer coverage | Growing | Declining | AI monitor |\n| Brand mention in AI | Growing | Zero | AI monitor |\n\n## Trend Interpretation\n\n| Pattern | Likely cause | Action |\n|---------|--------------|--------|\n| Steady growth | Strategy working | Continue; optimize high performers |\n| Sudden spike then drop | Viral content or algorithm volatility | Investigate source; replicate only if durable |\n| Gradual decline | Content decay, competition, technical debt | Run content + technical audit |\n| Flat line | Plateau | Expand topics, links, or formats |\n| Seasonal pattern | Demand cycle | Compare YoY and plan calendar around peaks |\n\n## Period Comparison Guide\n\n| Comparison | Best for | Limitation |\n|------------|----------|------------|\n| WoW | Sudden changes | Noisy; weekday effects |\n| MoM | Operating trends | Seasonal bias |\n| YoY | Seasonality control | Can hide recent trajectory |\n| Rolling 30-day | Noise smoothing | Lags real changes |\n\n## Interpretation Notes\n\n- Segment brand vs non-brand before drawing SEO conclusions.\n- Pair position with CTR and SERP-feature context; AI Overview/PAA can steal clicks.\n- Treat average position as directional, not a standalone success metric.\n- Measure ROI over 12+ months because SEO compounds.\n- Document every benchmark source and date in the report.\n\nFile v18.0.0:references/kpi-definitions.md\n\n# SEO/GEO KPI Definitions\n\nUse these definitions when building recurring performance reports. Always show source, date range, comparison period, and whether the metric is brand, non-brand, or blended.\n\n## KPI Matrix\n\n| Category | KPI | Formula / source | Good | Warning / action trigger |\n|----------|-----|------------------|------|--------------------------|\n| Organic search | Organic sessions | Count sessions where medium = `organic`; analytics platform | Growing MoM; 3-10% MoM is healthy | Decline >10% MoM without seasonal cause; split brand vs non-brand |\n| Organic search | Organic CTR | Organic clicks / impressions x 100; Search Console | >3% overall | <1.5% or declining; stable position + low CTR means title/meta issue |\n| Organic search | Average position | Sum of positions / keyword count; Search Console or SEO tool | <20 for tracked keywords; improving | >30 or worsening; pair with top 10/top 20 distribution |\n| Organic search | Keyword visibility | Sum of estimated CTR at position x monthly volume | Growing | Declining 3+ consecutive weeks |\n| Organic search | Pages indexed | Valid indexed pages in Search Console | Close to intended indexable pages | Drop without intent; submitted/indexed gap; indexed > intended |\n| Organic search | Organic CVR | Organic conversions / organic sessions x 100 | >2% lead gen; >1% e-commerce | <0.5% or declining while traffic grows |\n| Organic search | Non-brand share | Non-brand organic sessions / total organic sessions x 100 | >50% | <30%, indicating brand dependency |\n| GEO / AI | AI citation rate | Cited queries / monitored AI-answer queries x 100 | >20% | <5% or declining |\n| GEO / AI | AI citation position | Sum citation positions / citation count | Top 3 average | Not cited or consistently 5+ |\n| GEO / AI | AI answer coverage | Topics with AI answers / target topics x 100 | Growing | Declining coverage |\n| GEO / AI | Brand mention in AI | AI responses containing brand name | Growing for authority topics | Zero mentions on priority topics |\n| Authority | Domain Rating / Authority | Tool-specific 0-100 logarithmic link score | Growing and competitive | Flat while competitors grow |\n| Authority | Referring domains | Distinct root domains linking | Growing MoM | Net loss for 2+ months |\n| Authority | Backlink growth rate | New backlinks - lost backlinks | Positive and steady | Negative 2+ months or spam-like spike |\n| Authority | Toxic link ratio | Toxic backlinks / total backlinks x 100 | <5% | 5-10% warning; >10% critical, review before disavow |\n| Technical | Crawl budget utilization | Useful pages crawled / total pages crawled x 100 | >80% useful/indexable | High crawl of non-indexable or low-value pages |\n| Technical | Index coverage rate | Indexed pages / submitted pages x 100 | >90% for curated sitemap | <80% or declining |\n| Content | Content efficiency | Organic sessions per piece / cost per piece | Improving | Flat or declining after refresh window |\n| Content | Content decay rate | Pages with >20% traffic decline over 6 months / pages with traffic | <20% | >30% |\n| Business | Organic revenue/session | Organic revenue / organic sessions | Stable or growing | Declining while traffic grows |\n| Competitive | Share of voice | Your visibility / total competitor visibility x 100 | Growing in core topics | Declining 3+ consecutive months |\n| Competitive | Keyword overlap | Shared top-20 keywords / your tracked keywords x 100 | Expected for direct competitors | New high-overlap competitor = emerging threat |\n| ROI | SEO ROI | (Organic revenue - SEO investment) / investment x 100 | >200% annually | <100% after 12+ months |\n| ROI | Organic traffic value | Sum monthly organic clicks x CPC | Growing; exceeds SEO investment | Value compression or shrinking gap vs spend |\n\n## Benchmarks\n\n### CTR by Position\n\n| Position | Typical CTR |\n|----------|-------------|\n| #1 | 25-35% |\n| #2 | 12-18% |\n| #3 | 8-13% |\n| #4-5 | 4-8% |\n| #6-10 | 2-5% |\n| #11-20 | 0.5-2% |\n\n### Organic Conversion Rate by Industry\n\n| Industry | Typical range |\n|----------|---------------|\n| SaaS | 2-5% |\n| E-commerce | 1-3% |\n| Finance | 3-6% |\n| Healthcare | 2-4% |\n| B2B services | 2-5% |\n| Media | 0.5-2% |\n\n### Domain Authority Maturity\n\n| Stage | Typical range |\n|-------|---------------|\n| New, 0-6 months | 0-15 |\n| Early growth, 6-18 months | 15-30 |\n| Established, 18-36 months | 25-50 |\n| Mature, 3+ years | 40-70+ |\n| Industry leader | 70-90+ |\n\n### Core Web Vitals\n\n| Metric | Good | Needs improvement | Poor |\n|--------|------|-------------------|------|\n| LCP | <=2.5s | 2.5-4.0s | >4.0s |\n| CLS | <=0.1 | 0.1-0.25 | >0.25 |\n| INP | <=200ms | 200-500ms | >500ms |\n\n## Summary Tables\n\n| Organic metric | Good | Warning | Source |\n|----------------|------|---------|--------|\n| Organic sessions | Growing MoM | >10% decline | Analytics |\n| Keyword visibility | >60% in top 100 | <40% | SEO tool |\n| Average position | <20 | >30 | Search Console |\n| Organic CTR | >3% | <1.5% | Search Console |\n| Pages indexed | Near intended indexable set | Dropping/gap | Search Console |\n| Organic CVR | >2% lead gen | <0.5% | Analytics |\n| Non-brand share | >50% | <30% | Analytics |\n\n| GEO metric | Good | Warning | Source |\n|------------|------|---------|--------|\n| AI citation rate | >20% | <5% | AI monitor |\n| AI citation position | Top 3 | Not cited / 5+ | AI monitor |\n| AI answer coverage | Growing | Declining | AI monitor |\n| Brand mention in AI | Growing | Zero | AI monitor |\n\n## Trend Interpretation\n\n| Pattern | Likely cause | Action |\n|---------|--------------|--------|\n| Steady growth | Strategy working | Continue; optimize high performers |\n| Sudden spike then drop | Viral content or algorithm volatility | Investigate source; replicate only if durable |\n| Gradual decline | Content decay, competition, technical debt | Run content + technical audit |\n| Flat line | Plateau | Expand topics, links, or formats |\n| Seasonal pattern | Demand cycle | Compare YoY and plan calendar around peaks |\n\n## Period Comparison Guide\n\n| Comparison | Best for | Limitation |\n|------------|----------|------------|\n| WoW | Sudden changes | Noisy; weekday effects |\n| MoM | Operating trends | Seasonal bias |\n| YoY | Seasonality control | Can hide recent trajectory |\n| Rolling 30-day | Noise smoothing | Lags real changes |\n\n## Interpretation Notes\n\n- Segment brand vs non-brand before drawing SEO conclusions.\n- Pair position with CTR and SERP-feature context; AI Overview/PAA can steal clicks.\n- Treat average position as directional, not a standalone success metric.\n- Measure ROI over 12+ months because SEO compounds.\n- Document every benchmark source and date in the report.\n\nFile v18.0.0:references/report-output-templates 2.md\n\n# Performance Report Output Templates\n\nUse one reporting shape: metric table -> what changed -> why it matters -> next action.\n\n## Shared Conventions\n\n| Item | Rule |\n|------|------|\n| Status | `On track`, `Watch`, `Off track`, or `N/A` |\n| Delta | Show absolute and percentage change when possible |\n| Audience | Executive = trends + actions; Technical = causes + owners |\n| Missing inputs | Mark `Not yet evaluated` and point to the next-best skill |\n\n## Report Configuration\n\nDomain, period, comparison, data freshness, report type, Audience, focus, source/date for each imported data set.\n\n## Executive Summary\n\n```markdown\n# SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Prepared**: [date]\n\n**Overall performance**: [Excellent/Good/Needs Attention/Critical]\n\n| Metric | Current | Previous | Change | Target | Status |\n|--------|---------|----------|--------|--------|--------|\n| Organic Traffic | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Keywords Top 10 | [X] | [Y] | [+/-Z] | [T] | [status] |\n| Organic Conversions | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Domain Authority / CITE | [X] | [Y] | [+/-Z] | [T] | [status] |\n| AI Citations | [X] | [Y] | [+/-Z%] | [T] | [status] |\n\nWins: [bullets] | Watch areas: [bullets] | Action required: [bullets]\n```\n\n## Section Templates\n\n| Section | Required fields |\n|---------|-----------------|\n| Organic Traffic | sessions, users, pageviews, bounce rate, top pages, device split, why it moved, next action |\n| Keyword Rankings | position buckets, top improvements, declines, SERP features, traffic impact |\n| GEO / AI Visibility | queries with AI answer, your citations, citation rate, wins, gaps |\n| Domain Authority (CITE Score) | CITE score, C/I/T/E dimensions, veto status, `Not yet evaluated` fallback |\n| Content Quality (CORE-EEAT) | pages audited, average CORE-EEAT/GEO/SEO, veto IDs, dimension trends |\n| Backlinks | total backlinks, referring domains, average authority, notable links, toxic risk |\n| Content Performance | new articles, updates, top performers, declining pages, refresh actions |\n| Recommendations | horizon, priority, action, expected impact, owner |\n\n## Full Report Skeleton\n\n```markdown\n# [Company] SEO & GEO Performance Report - [Month/Quarter] [Year]\n## Executive Summary\n## Organic Traffic\n## Keyword Rankings\n## GEO / AI Visibility\n## Domain Authority (CITE Score)\n## Content Quality (CORE-EEAT)\n## Backlinks\n## Content Performance\n## Recommendations & Next Steps\n## Appendix: data sources, methodology, missing inputs\n```\n\nFile v18.0.0:references/report-output-templates.md\n\n# Performance Report Output Templates\n\nUse one reporting shape: metric table -> what changed -> why it matters -> next action.\n\n## Shared Conventions\n\n| Item | Rule |\n|------|------|\n| Status | `On track`, `Watch`, `Off track`, or `N/A` |\n| Delta | Show absolute and percentage change when possible |\n| Audience | Executive = trends + actions; Technical = causes + owners |\n| Missing inputs | Mark `Not yet evaluated` and point to the next-best skill |\n\n## Report Configuration\n\nDomain, period, comparison, data freshness, report type, Audience, focus, source/date for each imported data set.\n\n## Executive Summary\n\n```markdown\n# SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Prepared**: [date]\n\n**Overall performance**: [Excellent/Good/Needs Attention/Critical]\n\n| Metric | Current | Previous | Change | Target | Status |\n|--------|---------|----------|--------|--------|--------|\n| Organic Traffic | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Keywords Top 10 | [X] | [Y] | [+/-Z] | [T] | [status] |\n| Organic Conversions | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Domain Authority / CITE | [X] | [Y] | [+/-Z] | [T] | [status] |\n| AI Citations | [X] | [Y] | [+/-Z%] | [T] | [status] |\n\nWins: [bullets] | Watch areas: [bullets] | Action required: [bullets]\n```\n\n## Section Templates\n\n| Section | Required fields |\n|---------|-----------------|\n| Organic Traffic | sessions, users, pageviews, bounce rate, top pages, device split, why it moved, next action |\n| Keyword Rankings | position buckets, top improvements, declines, SERP features, traffic impact |\n| GEO / AI Visibility | queries with AI answer, your citations, citation rate, wins, gaps |\n| Domain Authority (CITE Score) | CITE score, C/I/T/E dimensions, veto status, `Not yet evaluated` fallback |\n| Content Quality (CORE-EEAT) | pages audited, average CORE-EEAT/GEO/SEO, veto IDs, dimension trends |\n| Backlinks | total backlinks, referring domains, average authority, notable links, toxic risk |\n| Content Performance | new articles, updates, top performers, declining pages, refresh actions |\n| Recommendations | horizon, priority, action, expected impact, owner |\n\n## Full Report Skeleton\n\n```markdown\n# [Company] SEO & GEO Performance Report - [Month/Quarter] [Year]\n## Executive Summary\n## Organic Traffic\n## Keyword Rankings\n## GEO / AI Visibility\n## Domain Authority (CITE Score)\n## Content Quality (CORE-EEAT)\n## Backlinks\n## Content Performance\n## Recommendations & Next Steps\n## Appendix: data sources, methodology, missing inputs\n```\n\nFile v18.0.0:references/report-templates 2.md\n\n# SEO/GEO Report Templates\n\nCopy-ready report skeletons for executive, marketing, technical, and client audiences. Use placeholders, not sample numbers, unless user data is available.\n\n## 1. Executive Report\n\nFor C-suite/VP reporting. Keep to 1 page and lead with business impact.\n\n```markdown\n# SEO & GEO Performance Summary\n**Period**: [Month Year] | **Audience**: [Audience] | **Prepared by**: [Name]\n\n## Performance At A Glance\n| KPI | Current | Prior | MoM/QoQ | YoY | Target | Status |\n|-----|---------|-------|---------|-----|--------|--------|\n| Organic revenue | [$] | [$] | [%] | [%] | [$] | [status] |\n| Organic sessions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Keywords in Top 10 | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| Organic conversions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Domain Rating / Authority | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| AI citations | [X] | [X] | [%] | N/A | [X] | [status] |\n\n## Competitive Position\n**Share of voice**: [rank] of [N] tracked competitors ([change]).\n\n| Rank | Competitor | Visibility Share | Change |\n|------|------------|------------------|--------|\n| [1] | [domain] | [%] | [+/-] |\n\n## Wins, Risks, And Ask\n- Wins: [business win], [SEO/GEO win], [authority/content win]\n- Risks: [risk + mitigation/owner], [risk + mitigation/owner]\n- Investment / ROI: [spend] -> [organic revenue/value] -> [ROI]\n- Ask for next period: [decision/budget/resource] by [date]\n```\n\n## 2. Marketing Report\n\nFor marketing managers, content teams, and channel leads.\n\n```markdown\n# Monthly SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Comparison**: [prior period + prior year]\n\n| Area | Metric | Current | Prior | Change | YoY | Action |\n|------|--------|---------|-------|--------|-----|--------|\n| Traffic | Organic sessions / users | [X] | [X] | [%] | [%] | [action] |\n| Engagement | Bounce or engagement rate / duration | [value] | [value] | [change] | [change] | [action] |\n| Rankings | #1 / Top 3 / Top 10 / 11-50 | [counts] | [counts] | [+/-] | [+/-] | [action] |\n| Content | Top pages / conversions | [values] | [values] | [change] | [change] | [action] |\n| GEO | AI Overview queries / citations / citation rate | [values] | [values] | [change] | N/A | [action] |\n| Authority | Referring domains / new links / avg new DR | [values] | [values] | [change] | [change] | [action] |\n\n## Keyword Movers\n| Keyword | Volume | Old -> New | Change | Action |\n|---------|--------|------------|--------|--------|\n| [keyword] | [X] | [X -> Y] | [+/-] | [action] |\n\n## Action Items\n| Priority | Action | Owner | Deadline | Expected Impact |\n|----------|--------|-------|----------|-----------------|\n| P0/P1/P2 | [action] | [owner] | [date] | [impact] |\n```\n\n## 3. Technical Report\n\nFor engineering teams and technical stakeholders. Add business impact only for prioritization.\n\n```markdown\n# Technical SEO Health Report\n**Domain**: [domain] | **Period**: [date range] | **Data freshness**: [timestamp]\n\n| Area | Metric | Current | Prior | Change | Status | Action |\n|------|--------|---------|-------|--------|--------|--------|\n| Crawl | Pages crawled / avg response time | [values] | [values] | [change] | [status] | [action] |\n| Indexation | Valid indexed / excluded errors | [values] | [values] | [change] | [status] | [action] |\n| CWV | LCP / CLS / INP | [values] | [values] | [change] | [status] | [action] |\n| Errors | 404 / 5xx / redirect chains | [counts] | [counts] | [change] | [status] | [action] |\n| Schema | Valid / warning / error pages | [counts] | [counts] | [change] | [status] | [action] |\n\n## Technical Debt Tracker\n| Item | Priority | Effort | Owner | Deadline | Status |\n|------|----------|--------|-------|----------|--------|\n| [issue] | P0/P1/P2 | L/M/H | [owner] | [date] | [status] |\n```\n\n## 4. Assembly Rules\n\n| Audience | Include | Exclude |\n|----------|---------|---------|\n| CEO / Board | Executive summary, KPI status, ROI, risks, asks | Technical debugging detail |\n| VP Marketing | Executive + marketing sections | Deep crawl/schema logs |\n| Marketing Manager | Full marketing report | Engineering-only detail |\n| Engineering Lead | Technical report + P0/P1 context | Keyword/revenue overload |\n| Client / Agency | Executive + marketing + actions | Internal cost data |\n\n### Data Freshness Requirements\n\n| Report Type | Maximum Data Age |\n|-------------|------------------|\n| Executive monthly | 3 days after period end |\n| Marketing weekly | 1 day after period end |\n| Technical | Real-time where possible |\n| Quarterly review | 5 days after quarter end |\n\n### Delivery Checklist\n\n- [ ] All data sources verified and dated\n- [ ] Period-over-period comparisons included\n- [ ] Authority metric included when reporting performance at a glance\n- [ ] AI citation / GEO metric included when in scope\n- [ ] Action items are specific, assigned, and time-bound\n- [ ] Report tailored to audience level\n- [ ] External benchmarks cited with source and date\n\nFile v18.0.0:references/report-templates.md\n\n# SEO/GEO Report Templates\n\nCopy-ready report skeletons for executive, marketing, technical, and client audiences. Use placeholders, not sample numbers, unless user data is available.\n\n## 1. Executive Report\n\nFor C-suite/VP reporting. Keep to 1 page and lead with business impact.\n\n```markdown\n# SEO & GEO Performance Summary\n**Period**: [Month Year] | **Audience**: [Audience] | **Prepared by**: [Name]\n\n## Performance At A Glance\n| KPI | Current | Prior | MoM/QoQ | YoY | Target | Status |\n|-----|---------|-------|---------|-----|--------|--------|\n| Organic revenue | [$] | [$] | [%] | [%] | [$] | [status] |\n| Organic sessions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Keywords in Top 10 | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| Organic conversions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Domain Rating / Authority | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| AI citations | [X] | [X] | [%] | N/A | [X] | [status] |\n\n## Competitive Position\n**Share of voice**: [rank] of [N] tracked competitors ([change]).\n\n| Rank | Competitor | Visibility Share | Change |\n|------|------------|------------------|--------|\n| [1] | [domain] | [%] | [+/-] |\n\n## Wins, Risks, And Ask\n- Wins: [business win], [SEO/GEO win], [authority/content win]\n- Risks: [risk + mitigation/owner], [risk + mitigation/owner]\n- Investment / ROI: [spend] -> [organic revenue/value] -> [ROI]\n- Ask for next period: [decision/budget/resource] by [date]\n```\n\n## 2. Marketing Report\n\nFor marketing managers, content teams, and channel leads.\n\n```markdown\n# Monthly SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Comparison**: [prior period + prior year]\n\n| Area | Metric | Current | Prior | Change | YoY | Action |\n|------|--------|---------|-------|--------|-----|--------|\n| Traffic | Organic sessions / users | [X] | [X] | [%] | [%] | [action] |\n| Engagement | Bounce or engagement rate / duration | [value] | [value] | [change] | [change] | [action] |\n| Rankings | #1 / Top 3 / Top 10 / 11-50 | [counts] | [counts] | [+/-] | [+/-] | [action] |\n| Content | Top pages / conversions | [values] | [values] | [change] | [change] | [action] |\n| GEO | AI Overview queries / citations / citation rate | [values] | [values] | [change] | N/A | [action] |\n| Authority | Referring domains / new links / avg new DR | [values] | [values] | [change] | [change] | [action] |\n\n## Keyword Movers\n| Keyword | Volume | Old -> New | Change | Action |\n|---------|--------|------------|--------|--------|\n| [keyword] | [X] | [X -> Y] | [+/-] | [action] |\n\n## Action Items\n| Priority | Action | Owner | Deadline | Expected Impact |\n|----------|--------|-------|----------|-----------------|\n| P0/P1/P2 | [action] | [owner] | [date] | [impact] |\n```\n\n## 3. Technical Report\n\nFor engineering teams and technical stakeholders. Add business impact only for prioritization.\n\n```markdown\n# Technical SEO Health Report\n**Domain**: [domain] | **Period**: [date range] | **Data freshness**: [timestamp]\n\n| Area | Metric | Current | Prior | Change | Status | Action |\n|------|--------|---------|-------|--------|--------|--------|\n| Crawl | Pages crawled / avg response time | [values] | [values] | [change] | [status] | [action] |\n| Indexation | Valid indexed / excluded errors | [values] | [values] | [change] | [status] | [action] |\n| CWV | LCP / CLS / INP | [values] | [values] | [change] | [status] | [action] |\n| Errors | 404 / 5xx / redirect chains | [counts] | [counts] | [change] | [status] | [action] |\n| Schema | Valid / warning / error pages | [counts] | [counts] | [change] | [status] | [action] |\n\n## Technical Debt Tracker\n| Item | Priority | Effort | Owner | Deadline | Status |\n|------|----------|--------|-------|----------|--------|\n| [issue] | P0/P1/P2 | L/M/H | [owner] | [date] | [status] |\n```\n\n## 4. Assembly Rules\n\n| Audience | Include | Exclude |\n|----------|---------|---------|\n| CEO / Board | Executive summary, KPI status, ROI, risks, asks | Technical debugging detail |\n| VP Marketing | Executive + marketing sections | Deep crawl/schema logs |\n| Marketing Manager | Full marketing report | Engineering-only detail |\n| Engineering Lead | Technical report + P0/P1 context | Keyword/revenue overload |\n| Client / Agency | Executive + marketing + actions | Internal cost data |\n\n### Data Freshness Requirements\n\n| Report Type | Maximum Data Age |\n|-------------|------------------|\n| Executive monthly | 3 days after period end |\n| Marketing weekly | 1 day after period end |\n| Technical | Real-time where possible |\n| Quarterly review | 5 days after quarter end |\n\n### Delivery Checklist\n\n- [ ] All data sources verified and dated\n- [ ] Period-over-period comparisons included\n- [ ] Authority metric included when reporting performance at a glance\n- [ ] AI citation / GEO metric included when in scope\n- [ ] Action items are specific, assigned, and time-bound\n- [ ] Report tailored to audience level\n- [ ] External benchmarks cited with source and date\n\nArchive v17.0.0: 8 files, 18256 bytes\n\nFiles: references/alert-configuration-templates.md (4662b), references/alert-threshold-guide.md (3453b), references/kpi-definitions.md (6667b), references/report-output-templates.md (2540b), references/report-templates.md (4975b), skill-card.md (2832b), SKILL.md (16050b), _meta.json (139b)\n\nFile v17.0.0:SKILL.md\n\n---\nname: performance-monitor\nslug: performance-monitor\ndisplayName: \"Performance Monitor · SEO报告\"\nsummary: \"SEO报告/绩效仪表盘/SEO预警/排名监控\"\ndescription: 'Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/content dashboards, and alert configures threshold notifications for future ranking, traffic, technical, backlink, competitor, and AI-visibility changes. Not for raw position-by-position deltas — use rank-tracker. SEO报告/绩效仪表盘/SEO预警/排名监控'\nversion: \"17.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when generating multi-metric SEO/GEO performance reports, traffic summaries, stakeholder dashboards, SEO报告, 流量报告, 月报, 周报, 汇报给老板 (mode: report), OR when setting up monitoring alerts for rankings, traffic, backlinks, technical issues, competitor moves, or AI visibility changes, SEO预警, 排名监控 (mode: alert). Not for raw position-by-position ranking deltas — use rank-tracker.\"\nargument-hint: \"<domain> [--mode report|alert] [date range | metric]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"17.0.0\", \"discipline\": \"seo-geo\", \"phase\": \"monitor\", \"geo-relevance\": \"medium\", \"hermes\": {\"tags\": [\"marketing\", \"seo-geo\", \"monitor\"], \"category\": \"seo-geo\"}, \"openclaw\": {\"emoji\": \"🔍\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Performance Monitor\n\nOne monitor skill, two modes. **`report`** builds a stakeholder-facing multi-metric snapshot of what already happened (traffic, rankings, GEO/AI, authority, backlinks, content) and turns period-over-period deltas into prioritized recommendations. **`alert`** configures forward-looking threshold and anomaly notifications so a drop in rankings, traffic, technical health, backlinks, competitor position, or AI citations fires before someone eyeballs it. Pick the mode from intent: past-tense reporting → `report`; future-tense \"tell me when\" → `alert`.\n\n**Mode set:** `report` (multi-metric snapshot, absorbed from performance-reporter) · `alert` (forward thresholds/anomalies, absorbed from alert-manager). Default when unstated: infer from verb tense (see Decision Gates).\n\n**Scope guard — what this skill does NOT do:** it does not compute the CORE-EEAT content score or run its vetoes (T04/C01/R10) — that gate is [content-quality-auditor](../../optimize/content-quality-auditor/SKILL.md); it does not compute the CITE domain score or run its vetoes (T03/T05/T09) — that gate is [domain-authority-auditor](../domain-authority-auditor/SKILL.md). This skill *reports* those scores when a gate has already produced them and *watches* them for change; it never scores. Raw position-by-position ranking deltas belong to [rank-tracker](../rank-tracker/SKILL.md).\n\n## Quick Start\n\n```text\n# report mode\nCreate an SEO performance report for [domain] for [time period]\nGenerate an executive summary of SEO performance for [month/quarter]\nCreate a GEO visibility report for [domain]\n\n# alert mode\nSet up SEO monitoring alerts for [domain]\nCreate ranking drop alerts for my top 20 keywords\nAlert me when AI citations for [domain] drop\n```\n\nShortest valid invocation: `performance-monitor <domain>` (mode inferred). Output: **report** returns a metric-table → what-changed → why → next-action dashboard with every figure source-tagged; **alert** returns an alert-config summary with named triggers, thresholds, priorities, and delivery routing. Both emit a handoff summary ready for `memory/monitoring/`.\n\n## Skill Contract\n\n**Expected output**: mode `report` → a delta-based multi-metric report/dashboard; mode `alert` → an alert configuration summary. Both include the standard handoff summary for `memory/monitoring/`.\n\n- **Reads**: prior baselines and current performance data. `report` reads current + prior-period metrics across traffic/rankings/authority/content, report audience, and date range. `alert` reads baselines, critical keywords/metrics to watch, normal volatility, and delivery preferences. Plus any user-provided or tool data.\n- **Writes**: a user-facing monitoring deliverable plus a reusable summary storable under `memory/monitoring/`.\n- **Promotes**: significant changes, confirmed anomalies, durable thresholds, and follow-up actions; pending decisions go to `memory/open-loops.md` (never directly to `decisions.md`).\n- **Done when**:\n  - `report`: each in-scope section (traffic, rankings, GEO, authority, backlinks, content) is present or marked \"Not yet evaluated\"; every metric is source-tagged and compared to the prior period; recommendations carry owner, priority, and expected impact.\n  - `alert`: each chosen alert category has a named trigger, threshold, and priority; a Critical/High/Medium/Low response plan and delivery routing are defined; thresholds are tuned to the metric's stated normal volatility.\n- **Primary next skill**: see [Next Best Skill](#next-best-skill) — the two modes hand off to each other.\n\n### Handoff Summary\n\n> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md). Name the active mode (`report` / `alert`) in the Objective line.\n\n## Data Sources\n\nAll integrations optional (see [CONNECTORS.md](../../../CONNECTORS.md)). Tier 1 (keyless) works for both modes; keyed tools are opt-in Tier 2/3.\n\n- **report**: with tools connected, aggregates traffic from ~~analytics, search data from ~~search console, rankings/backlinks from ~~SEO tool, and AI visibility from ~~AI monitor. Without tools, ask the user for analytics exports, Search Console data, ranking data, and KPIs.\n- **alert**: with tools, monitor real-time feeds from ~~SEO tool, ~~search console, and ~~web crawler. Without tools, ask for baselines, critical keywords, delivery preferences, and historical data.\n\n**Zero-dependency measurement loop** (both modes): every reported change or fired alert should come from a computed delta, not an eyeballed estimate. Store each period's KPIs and let the ledger compute movement: `python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py\" record <domain> --source monitor --data '{\"sessions\": ..., \"clicks\": ..., ...}'`, then `ledger.py diff <domain> --source monitor` for the period delta and `ledger.py trend <domain> --source monitor --field <kpi>` for the trend line. Label every figure Measured / User-provided / Estimated, and attribute outcome movement against a control rather than to the latest change — see [references/measurement-protocol.md](../../../references/measurement-protocol.md). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).\n\n## Decision Gates\n\n**Stop and ask the user when:**\n- **Mode ambiguous** — the request fits neither past-tense (\"report on last month\") nor future-tense (\"tell me when X drops\"). Offer: (1) `report` a snapshot now, (2) `alert` for ongoing monitoring, (3) both.\n- **report**: no reporting period or comparison period can be determined and none is in context — offer (1) last 30 days vs prior 30, (2) last calendar month vs prior month, (3) a custom range. A period comparison is required, not optional.\n- **alert**: no baseline or normal-volatility reference exists for the metrics to watch — thresholds would be arbitrary. Offer (1) supply recent baseline data, (2) use the Alert Threshold Quick Reference defaults and label them Estimated, (3) cancel.\n\n**Continue silently (never stop for):**\n- A report section's source data is missing — mark that section \"Not yet evaluated\" and proceed; do not fabricate the metric.\n- Audience not stated (report) — default to the executive template and note the assumption.\n- Delivery channel not stated (alert) — default to the channel in context (or email) and note it.\n- An alert category the user did not mention — leave it unconfigured; do not add alerts they did not request.\n\n## Instructions\n\n**Step 0 — Select mode.** Read `--mode` if given. Otherwise infer: past-tense / \"how did we do\" / \"月报\" → `report`; future-tense / \"tell me when\" / \"预警\" → `alert`. If neither fits, use the mode-ambiguous gate above.\n\n### Mode: report\n\nUse [Report Output Templates](references/report-output-templates.md) and cover:\n\n1. **Define Report Parameters** — domain, period, comparison period, report type, audience, focus areas, data freshness.\n2. **Executive Summary** — overall rating, wins, watch areas, required actions, metrics-at-a-glance (traffic, rankings, conversions, DA/authority, AI citations), and SEO ROI; tag each metric Measured / User-provided / Estimated.\n3. **Organic Traffic** — sessions, users, pageviews, engagement/bounce, trend, source/device split, top pages, each figure source-tagged.\n4. **Keyword Rankings** — position ranges, distribution change, top improvements/declines, SERP features. For raw position-by-position deltas, defer to [rank-tracker](../rank-tracker/SKILL.md) rather than recomputing here.\n5. **GEO / AI Performance** — AI citation overview, citations by topic, GEO wins, optimization opportunities.\n6. **Domain Authority (CITE)** — include CITE dimension scores and veto status **when a gate has already produced them**; otherwise mark \"Not yet evaluated.\" Do not compute CITE here.\n7. **Content Quality (CORE-EEAT)** — include average scores and trends **when already produced**; otherwise mark \"Not yet evaluated.\" Do not compute CORE-EEAT here.\n8. **Backlinks** — link-profile summary, acquisition trend, notable links, competitive position.\n9. **Content Performance** — publishing summary, top content, content needing attention, content ROI.\n10. **Recommendations** — immediate/short-term/long-term actions with priority, owner, expected impact, next-period goals.\n11. **Compile Full Report** — table of contents, appendix, data sources, methodology, glossary.\n\n### Mode: alert\n\nUse [Alert Configuration Templates](references/alert-configuration-templates.md) and:\n\n1. **Define Alert Categories** — choose from rankings, traffic, technical, backlinks, competitors, GEO / AI, and brand.\n2. **Configure Alert Rules by Category** — define trigger condition, threshold, alert name, and priority for each relevant rule; tie each threshold to a stated baseline and label that baseline Measured / User-provided / Estimated.\n3. **Define Alert Response Plans** — map Critical / High / Medium / Low to response time and next actions.\n4. **Set Up Alert Delivery** — channels, routing, cooldowns, maintenance windows, escalation paths.\n5. **Create Alert Summary** — output category counts, the critical playbook, and a weekly review checklist as the deliverable.\n\n### Shared discipline (both modes)\n\nLabel every metric **Measured** (tool/export), **User-provided**, or **Estimated** (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it. Separate an **observed change** from a **plausible explanation** (corroborate before stating a cause), an **optimization opportunity**, and **follow-up** needing crawl/SERP/rank/audit — never report an unverified explanation as a confirmed cause.\n\n## Alert Threshold Quick Reference\n\n| Metric | Warning | Critical | Frequency |\n|--------|---------|----------|-----------|\n| Organic traffic | -15% WoW | -30% WoW | Daily |\n| Keyword positions | >3 position drop | >5 position drop | Daily |\n| Pages indexed | -5% change | -20% change | Weekly |\n| Crawl errors | >10 new/day | >50 new/day | Daily |\n| Core Web Vitals | \"Needs Improvement\" | \"Poor\" | Weekly |\n| Backlinks lost | >5% in 1 week | >15% in 1 week | Weekly |\n| AI citation loss | Any key query | >20% queries | Weekly |\n| Security issues | Any detected | Any detected | Daily |\n\n**Steep-decline trigger (always on):** if organic traffic OR aggregate keyword rank falls **>30%** below its trailing baseline (default: prior 28-day median for the same weekday band), fire a Critical alert regardless of category. Use a trailing median, not a single prior day, so one noisy data point does not trip it. Label the baseline Measured / User-provided / Estimated.\n\n## Reading Deltas Against a Control\n\nA reported delta or a fired alert is only evidence if it beats a control over a **fixed readback window** set before the change — a raw before/after on a confounded outcome is a story, not proof. Attach the decision protocol from [references/measurement-protocol.md §Cross-discipline decision protocol](../../../references/measurement-protocol.md):\n\n- **Readback window** — pick the window for the change type up front (content refresh 7/14/28/56 days; new content 14/28/56/90; technical fix daily ×7 then 28; AEO/GEO surfacing weekly) and do not react to noise inside it. A fired alert opens a readback window, not an instant verdict — confirm the drop holds before declaring an incident.\n- **Required readback fields** — record: change · owner · baseline window · candidate window · sources · primary + secondary metric · winner · caveats · decision · next-patch · next-readback date.\n- **Decision** — mark each change **Promote** (beats control on the primary metric past the bar), **Keep-testing** (trending, not yet significant), **Rollback** (loses by the same bar), or **Unproven** (everything else). Report delta-vs-control, not raw delta.\n\n## Example\n\n- **report**: an executive summary with overall status, metrics-at-a-glance for traffic/rankings/conversions/authority/AI citations, SEO ROI, and immediate/month/quarter actions with owners and dates.\n- **alert**: a keyword alert matrix with Critical vs High thresholds, a response plan for drops, and notification routing to email + Slack.\n\n## Save Results\n\nAsk \"Save these results?\" If yes, write to `memory/monitoring/` using filename `YYYY-MM-DD-<topic>.md` — see [skill-contract.md §Save Results Template](../../../references/skill-contract.md). This is a non-auditor skill: ask before writing memory and hand off veto-like risks to the relevant auditor gate rather than appending veto markers itself.\n\n## Reference Materials\n\n- [Report Output Templates](references/report-output-templates.md) — compact starter blocks for all 11 report sections (report mode)\n- [KPI Definitions](references/kpi-definitions.md) — SEO/GEO metric definitions with benchmarks, thresholds, trend analysis, attribution guidance\n- [Report Templates by Audience](references/report-templates.md) — copy-ready templates for executive, marketing, technical, and client audiences\n- [Alert Configuration Templates](references/alert-configuration-templates.md) — full category tables, thresholds, response-plan templates (alert mode)\n- [Alert Threshold Guide](references/alert-threshold-guide.md) — threshold setting, fatigue prevention, escalation paths, response playbooks\n- [Measurement & Attribution Protocol](../../../references/measurement-protocol.md) — readback windows, required fields, and the promote / keep-testing / rollback / unproven decision rule\n\n## Next Best Skill\n\nMode-conditional, then terminal:\n\n- After **report** — a change needs ongoing monitoring → run this skill in `alert` mode. A section marked \"Not yet evaluated\" for authority → [domain-authority-auditor](../domain-authority-auditor/SKILL.md); for content quality → [content-quality-auditor](../../optimize/content-quality-auditor/SKILL.md). One-off report with no action → Terminal.\n- After **alert** — a reporting cadence is requested → run this skill in `report` mode. Standalone alert setup → Terminal.\n\nTermination: the visited-set and `max-depth: 3` rules from [skill-contract.md §Termination rules](../../../references/skill-contract.md) apply. Do not re-enter a mode already run in this chain (report→alert→report is a visited-set stop); if routing is ambiguous, present the options and stop instead of auto-following.\n\nFile v17.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"performance-monitor\",\n  \"version\": \"17.0.0\",\n  \"publishedAt\": 1783785654152\n}\n\nFile v17.0.0:references/alert-configuration-templates.md\n\n# Alert Configuration Templates\n\nCompact alert thresholds and response plans for SEO/GEO monitoring.\n\n## 1. Alert Thresholds\n\n| Area | Alert | Condition | Priority |\n|------|-------|-----------|----------|\n| Rankings | Critical drop | Top 3 keyword drops 5+ positions | Critical |\n| Rankings | Top 10 loss | Top 10 keyword drops out of top 10 | High |\n| Rankings | Moderate drop | Any keyword drops 10+ positions | Medium |\n| Rankings | Competitor overtake | Competitor passes you for key term | Medium |\n| Rankings | Positive movement | New Top 3, page 1 entry, 10+ position climb | Positive |\n| SERP features | Snippet lost / won | Featured snippet ownership changes | High / Positive |\n| SERP features | AI Overview change | Appears or disappears | Medium |\n| Traffic | Traffic crash | Day-over-day decline >=50% | Critical |\n| Traffic | Significant drop | Week-over-week decline >=30% | High |\n| Traffic | Moderate decline | Month-over-month decline >=20% | Medium |\n| Traffic | Trend warning | 3 consecutive weeks decline | Medium |\n| Conversions | Conversion drop | Organic conversions down 30%+ | Critical |\n| Conversions | CVR decline | Conversion rate drops 20%+ | High |\n| Technical | Site down | HTTP 5xx errors | Critical |\n| Technical | SSL expiry | Certificate expires in 14 days | Critical |\n| Technical | Robots.txt block | Important pages blocked | Critical |\n| Technical | Index drop | Important pages drop from index | Critical |\n| Technical | Crawl/index/CWV/mobile issue | Error spike 50%+, 10% index drop, CWV poor, mobile errors | High |\n| Technical | New 404 pages | 404 errors on important pages | Medium |\n| Technical | Redirect chains | 3+ redirect hops | Medium |\n| Security | Manual action / malware | GSC warning or flagged issue | Critical |\n| Backlinks | High-value link lost | DA 70+ link removed | High |\n| Backlinks | High-value link gained | New DA 70+ link | Positive |\n| Backlinks | Multiple lost links | 10+ links lost in a day | Medium |\n| Backlinks | Toxic / negative SEO | Spam pattern or toxic score +20% | High |\n| Competitors | Competitor content/backlink move | New content/update or high-DA link | Info |\n| GEO | Citation lost/won | AI citation ownership changes | Medium / Positive |\n| GEO | Citation rate drop | AI citation rate drops 20%+ | High |\n| Brand | Negative mention / rating drop | Sentiment or rating deterioration | High |\n| Brand | Unlinked mention | Brand mention without link | Opportunity |\n\n## 2. Page-Level Traffic Rules\n\n| Page Type | Alert Condition | Priority |\n|-----------|-----------------|----------|\n| Homepage | 20%+ decline | Critical |\n| Top 10 pages | 30%+ decline | High |\n| Conversion pages | 25%+ decline | High |\n| Blog posts | 40%+ decline | Medium |\n\n## 3. Response Plans\n\n| Priority | Response Time | Immediate Actions |\n|----------|---------------|-------------------|\n| Critical | Within 1 hour | Confirm data, check server/GSC/indexing, assign owner, start incident log |\n| High | Same day | Diagnose cause, compare competitors/SERP, create recovery plan |\n| Medium | Within 48 hours | Investigate trend, batch with related alerts, schedule fix |\n| Low / Info | Weekly review | Document, tag trend, no interruption |\n| Positive | Weekly review | Record win and identify repeatable driver |\n\n| Alert Type | First Checks |\n|------------|--------------|\n| Site down | Server, DNS, CDN, deploy status |\n| Traffic crash | Algorithm update, GSC errors, analytics tag, competitors |\n| Manual action | GSC message, affected URLs, remediation path |\n| Critical rank drop | Indexing, SERP change, page changes, competitor movement |\n| Backlink loss | Source page status, relationship owner, outreach path |\n| CWV failure | Template, script, image, hosting, field data |\n\n## 4. Notification Setup\n\n| Priority | Channels | Frequency | Escalation |\n|----------|----------|-----------|------------|\n| Critical | Email + SMS + Slack | Immediate | No response in 1hr -> Director |\n| High | Email + Slack | Immediate | No response in 4hr -> Manager |\n| Medium | Email + Slack | Daily digest | No response in 24hr -> Lead |\n| Low / Positive | Email | Weekly digest | None |\n\n| Role | Critical | High | Medium | Low |\n|------|----------|------|--------|-----|\n| SEO Manager | Yes | Yes | Yes | Yes |\n| Dev Team | Yes | Tech only | No | No |\n| Marketing Lead | Yes | Yes | No | No |\n| Executive | Yes | No | No | No |\n\n## 5. Suppression Rules\n\n- Suppress duplicate alerts for 24 hours.\n- Suppress known maintenance windows.\n- Batch low-priority alerts into digests.\n- Require source timestamp and metric source on every alert.\n- Mark unresolved alerts with owner, status, and next check time.\n\nFile v17.0.0:references/alert-threshold-guide.md\n\n# Alert Threshold Guide\n\n## Severity Levels\n\n**Standard Deviation method**: Info (1 SD), Warning (1.5 SD), Critical (2 SD), Emergency (3 SD) from baseline mean.\n\n## Thresholds by Metric Category\n\n### Traffic\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| Organic sessions (WoW) | -15% | -30% | -50% |\n| Organic sessions (DoD) | -25% weekday | -40% | Site appears down |\n| Non-brand sessions (WoW) | -20% | -35% | -50% |\n| Organic conversions (WoW) | -20% | -40% | -60% |\n| Top 10 page traffic (WoW) | -25% | -40% | -60% |\n\n### Rankings\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Tier 1 keyword position | Drop >= 3 | Drop >= 5 |\n| Tier 2 keyword position | Drop >= 5 | Drop >= 10 |\n| Tier 3 keyword position | Drop >= 10 | Off page 3 |\n| Average position (all) | +2.0 worsening | +5.0 worsening |\n| Keywords in top 10 | -10% count | -20% count |\n| Brand keyword | Any drop from #1 | Below #3 |\n| Featured snippet | Any loss | 3+ losses |\n\n### Technical\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| New 4xx errors | >5/day | >20/day | >100/day |\n| New 5xx errors | >1/day | >5/day | >20/day |\n| Crawl rate change | -30% baseline | -60% baseline | Near-zero |\n| Index coverage drop | -5% | -15% | -30% |\n| Server response time | >500ms | >1000ms | >2000ms |\n| LCP (mobile) | Needs Improvement | Poor | >6s |\n| CLS | >0.1 | >0.25 | >0.5 |\n| INP | >200ms | >500ms | >1000ms |\n\n### Backlinks\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Referring domains lost (weekly) | >5% total | >15% total |\n| High-authority link lost (DR 60+) | Any loss | 3+ in one week |\n| Toxic link spike | >10/week | >50/week |\n| Exact match anchor % | Reaches 20% | Reaches 30% |\n\n### GEO / AI Visibility\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| AI citation rate | Drops 10+ pp | Below 10% |\n| Key query citation lost | Any Tier 1 | 3+ Tier 1 queries |\n| Citation position | Worsens by 2+ | Dropped entirely |\n\n## Alert Routing\n\n| Priority | Channel | Escalation |\n|----------|---------|------------|\n| P0 Emergency | SMS + Phone + Slack #emergencies | PagerDuty on-call |\n| P1 Urgent | Slack #alerts + Email | SMS if unacknowledged in 4h |\n| P2 Important | Email + Slack #daily | Auto-escalate to P1 after 1 week |\n| P3 Monitor | Weekly digest | Auto-escalate to P2 after 1 month |\n\n## Suppression Rules\n\n| Rule | Configuration |\n|------|--------------|\n| Duplicate cooldown | No re-alert same metric for 24h |\n| Maintenance window | Suppress non-security alerts |\n| Weekend adjustment | Increase traffic thresholds +20% |\n| Recovery auto-close | Close if metric normalizes within 48h |\n| Batch related | Group multiple ranking drops into one alert |\n\n## Threshold Tuning\n\n| Signal | Action |\n|--------|--------|\n| >30% false positives | Widen thresholds by 0.5 SD |\n| Missed real problem | Tighten the specific threshold |\n| Seasonal change | Adjust baselines for known patterns |\n| Major site change | Re-establish baseline (2-4 week observation) |\n| After algorithm update | Stabilize 2-4 weeks, then recalibrate |\n\n### Site Maturity Guidelines\n\n| Stage | Approach |\n|-------|----------|\n| New (0-6mo) | Wide thresholds, few alerts |\n| Growing (6-18mo) | Moderate thresholds, expand coverage |\n| Established (18mo+) | Tight thresholds, comprehensive |\n| Post-migration | Reset to wide, re-tighten over 4-8 weeks |\n\nFile v17.0.0:references/kpi-definitions.md\n\n# SEO/GEO KPI Definitions\n\nUse these definitions when building recurring performance reports. Always show source, date range, comparison period, and whether the metric is brand, non-brand, or blended.\n\n## KPI Matrix\n\n| Category | KPI | Formula / source | Good | Warning / action trigger |\n|----------|-----|------------------|------|--------------------------|\n| Organic search | Organic sessions | Count sessions where medium = `organic`; analytics platform | Growing MoM; 3-10% MoM is healthy | Decline >10% MoM without seasonal cause; split brand vs non-brand |\n| Organic search | Organic CTR | Organic clicks / impressions x 100; Search Console | >3% overall | <1.5% or declining; stable position + low CTR means title/meta issue |\n| Organic search | Average position | Sum of positions / keyword count; Search Console or SEO tool | <20 for tracked keywords; improving | >30 or worsening; pair with top 10/top 20 distribution |\n| Organic search | Keyword visibility | Sum of estimated CTR at position x monthly volume | Growing | Declining 3+ consecutive weeks |\n| Organic search | Pages indexed | Valid indexed pages in Search Console | Close to intended indexable pages | Drop without intent; submitted/indexed gap; indexed > intended |\n| Organic search | Organic CVR | Organic conversions / organic sessions x 100 | >2% lead gen; >1% e-commerce | <0.5% or declining while traffic grows |\n| Organic search | Non-brand share | Non-brand organic sessions / total organic sessions x 100 | >50% | <30%, indicating brand dependency |\n| GEO / AI | AI citation rate | Cited queries / monitored AI-answer queries x 100 | >20% | <5% or declining |\n| GEO / AI | AI citation position | Sum citation positions / citation count | Top 3 average | Not cited or consistently 5+ |\n| GEO / AI | AI answer coverage | Topics with AI answers / target topics x 100 | Growing | Declining coverage |\n| GEO / AI | Brand mention in AI | AI responses containing brand name | Growing for authority topics | Zero mentions on priority topics |\n| Authority | Domain Rating / Authority | Tool-specific 0-100 logarithmic link score | Growing and competitive | Flat while competitors grow |\n| Authority | Referring domains | Distinct root domains linking | Growing MoM | Net loss for 2+ months |\n| Authority | Backlink growth rate | New backlinks - lost backlinks | Positive and steady | Negative 2+ months or spam-like spike |\n| Authority | Toxic link ratio | Toxic backlinks / total backlinks x 100 | <5% | 5-10% warning; >10% critical, review before disavow |\n| Technical | Crawl budget utilization | Useful pages crawled / total pages crawled x 100 | >80% useful/indexable | High crawl of non-indexable or low-value pages |\n| Technical | Index coverage rate | Indexed pages / submitted pages x 100 | >90% for curated sitemap | <80% or declining |\n| Content | Content efficiency | Organic sessions per piece / cost per piece | Improving | Flat or declining after refresh window |\n| Content | Content decay rate | Pages with >20% traffic decline over 6 months / pages with traffic | <20% | >30% |\n| Business | Organic revenue/session | Organic revenue / organic sessions | Stable or growing | Declining while traffic grows |\n| Competitive | Share of voice | Your visibility / total competitor visibility x 100 | Growing in core topics | Declining 3+ consecutive months |\n| Competitive | Keyword overlap | Shared top-20 keywords / your tracked keywords x 100 | Expected for direct competitors | New high-overlap competitor = emerging threat |\n| ROI | SEO ROI | (Organic revenue - SEO investment) / investment x 100 | >200% annually | <100% after 12+ months |\n| ROI | Organic traffic value | Sum monthly organic clicks x CPC | Growing; exceeds SEO investment | Value compression or shrinking gap vs spend |\n\n## Benchmarks\n\n### CTR by Position\n\n| Position | Typical CTR |\n|----------|-------------|\n| #1 | 25-35% |\n| #2 | 12-18% |\n| #3 | 8-13% |\n| #4-5 | 4-8% |\n| #6-10 | 2-5% |\n| #11-20 | 0.5-2% |\n\n### Organic Conversion Rate by Industry\n\n| Industry | Typical range |\n|----------|---------------|\n| SaaS | 2-5% |\n| E-commerce | 1-3% |\n| Finance | 3-6% |\n| Healthcare | 2-4% |\n| B2B services | 2-5% |\n| Media | 0.5-2% |\n\n### Domain Authority Maturity\n\n| Stage | Typical range |\n|-------|---------------|\n| New, 0-6 months | 0-15 |\n| Early growth, 6-18 months | 15-30 |\n| Established, 18-36 months | 25-50 |\n| Mature, 3+ years | 40-70+ |\n| Industry leader | 70-90+ |\n\n### Core Web Vitals\n\n| Metric | Good | Needs improvement | Poor |\n|--------|------|-------------------|------|\n| LCP | <=2.5s | 2.5-4.0s | >4.0s |\n| CLS | <=0.1 | 0.1-0.25 | >0.25 |\n| INP | <=200ms | 200-500ms | >500ms |\n\n## Summary Tables\n\n| Organic metric | Good | Warning | Source |\n|----------------|------|---------|--------|\n| Organic sessions | Growing MoM | >10% decline | Analytics |\n| Keyword visibility | >60% in top 100 | <40% | SEO tool |\n| Average position | <20 | >30 | Search Console |\n| Organic CTR | >3% | <1.5% | Search Console |\n| Pages indexed | Near intended indexable set | Dropping/gap | Search Console |\n| Organic CVR | >2% lead gen | <0.5% | Analytics |\n| Non-brand share | >50% | <30% | Analytics |\n\n| GEO metric | Good | Warning | Source |\n|------------|------|---------|--------|\n| AI citation rate | >20% | <5% | AI monitor |\n| AI citation position | Top 3 | Not cited / 5+ | AI monitor |\n| AI answer coverage | Growing | Declining | AI monitor |\n| Brand mention in AI | Growing | Zero | AI monitor |\n\n## Trend Interpretation\n\n| Pattern | Likely cause | Action |\n|---------|--------------|--------|\n| Steady growth | Strategy working | Continue; optimize high performers |\n| Sudden spike then drop | Viral content or algorithm volatility | Investigate source; replicate only if durable |\n| Gradual decline | Content decay, competition, technical debt | Run content + technical audit |\n| Flat line | Plateau | Expand topics, links, or formats |\n| Seasonal pattern | Demand cycle | Compare YoY and plan calendar around peaks |\n\n## Period Comparison Guide\n\n| Comparison | Best for | Limitation |\n|------------|----------|------------|\n| WoW | Sudden changes | Noisy; weekday effects |\n| MoM | Operating trends | Seasonal bias |\n| YoY | Seasonality control | Can hide recent trajectory |\n| Rolling 30-day | Noise smoothing | Lags real changes |\n\n## Interpretation Notes\n\n- Segment brand vs non-brand before drawing SEO conclusions.\n- Pair position with CTR and SERP-feature context; AI Overview/PAA can steal clicks.\n- Treat average position as directional, not a standalone success metric.\n- Measure ROI over 12+ months because SEO compounds.\n- Document every benchmark source and date in the report.\n\nFile v17.0.0:references/report-output-templates.md\n\n# Performance Report Output Templates\n\nUse one reporting shape: metric table -> what changed -> why it matters -> next action.\n\n## Shared Conventions\n\n| Item | Rule |\n|------|------|\n| Status | `On track`, `Watch`, `Off track`, or `N/A` |\n| Delta | Show absolute and percentage change when possible |\n| Audience | Executive = trends + actions; Technical = causes + owners |\n| Missing inputs | Mark `Not yet evaluated` and point to the next-best skill |\n\n## Report Configuration\n\nDomain, period, comparison, data freshness, report type, Audience, focus, source/date for each imported data set.\n\n## Executive Summary\n\n```markdown\n# SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Prepared**: [date]\n\n**Overall performance**: [Excellent/Good/Needs Attention/Critical]\n\n| Metric | Current | Previous | Change | Target | Status |\n|--------|---------|----------|--------|--------|--------|\n| Organic Traffic | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Keywords Top 10 | [X] | [Y] | [+/-Z] | [T] | [status] |\n| Organic Conversions | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Domain Authority / CITE | [X] | [Y] | [+/-Z] | [T] | [status] |\n| AI Citations | [X] | [Y] | [+/-Z%] | [T] | [status] |\n\nWins: [bullets] | Watch areas: [bullets] | Action required: [bullets]\n```\n\n## Section Templates\n\n| Section | Required fields |\n|---------|-----------------|\n| Organic Traffic | sessions, users, pageviews, bounce rate, top pages, device split, why it moved, next action |\n| Keyword Rankings | position buckets, top improvements, declines, SERP features, traffic impact |\n| GEO / AI Visibility | queries with AI answer, your citations, citation rate, wins, gaps |\n| Domain Authority (CITE Score) | CITE score, C/I/T/E dimensions, veto status, `Not yet evaluated` fallback |\n| Content Quality (CORE-EEAT) | pages audited, average CORE-EEAT/GEO/SEO, veto IDs, dimension trends |\n| Backlinks | total backlinks, referring domains, average authority, notable links, toxic risk |\n| Content Performance | new articles, updates, top performers, declining pages, refresh actions |\n| Recommendations | horizon, priority, action, expected impact, owner |\n\n## Full Report Skeleton\n\n```markdown\n# [Company] SEO & GEO Performance Report - [Month/Quarter] [Year]\n## Executive Summary\n## Organic Traffic\n## Keyword Rankings\n## GEO / AI Visibility\n## Domain Authority (CITE Score)\n## Content Quality (CORE-EEAT)\n## Backlinks\n## Content Performance\n## Recommendations & Next Steps\n## Appendix: data sources, methodology, missing inputs\n```\n\nFile v17.0.0:references/report-templates.md\n\n# SEO/GEO Report Templates\n\nCopy-ready report skeletons for executive, marketing, technical, and client audiences. Use placeholders, not sample numbers, unless user data is available.\n\n## 1. Executive Report\n\nFor C-suite/VP reporting. Keep to 1 page and lead with business impact.\n\n```markdown\n# SEO & GEO Performance Summary\n**Period**: [Month Year] | **Audience**: [Audience] | **Prepared by**: [Name]\n\n## Performance At A Glance\n| KPI | Current | Prior | MoM/QoQ | YoY | Target | Status |\n|-----|---------|-------|---------|-----|--------|--------|\n| Organic revenue | [$] | [$] | [%] | [%] | [$] | [status] |\n| Organic sessions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Keywords in Top 10 | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| Organic conversions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Domain Rating / Authority | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| AI citations | [X] | [X] | [%] | N/A | [X] | [status] |\n\n## Competitive Position\n**Share of voice**: [rank] of [N] tracked competitors ([change]).\n\n| Rank | Competitor | Visibility Share | Change |\n|------|------------|------------------|--------|\n| [1] | [domain] | [%] | [+/-] |\n\n## Wins, Risks, And Ask\n- Wins: [business win], [SEO/GEO win], [authority/content win]\n- Risks: [risk + mitigation/owner], [risk + mitigation/owner]\n- Investment / ROI: [spend] -> [organic revenue/value] -> [ROI]\n- Ask for next period: [decision/budget/resource] by [date]\n```\n\n## 2. Marketing Report\n\nFor marketing managers, content teams, and channel leads.\n\n```markdown\n# Monthly SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Comparison**: [prior period + prior year]\n\n| Area | Metric | Current | Prior | Change | YoY | Action |\n|------|--------|---------|-------|--------|-----|--------|\n| Traffic | Organic sessions / users | [X] | [X] | [%] | [%] | [action] |\n| Engagement | Bounce or engagement rate / duration | [value] | [value] | [change] | [change] | [action] |\n| Rankings | #1 / Top 3 / Top 10 / 11-50 | [counts] | [counts] | [+/-] | [+/-] | [action] |\n| Content | Top pages / conversions | [values] | [values] | [change] | [change] | [action] |\n| GEO | AI Overview queries / citations / citation rate | [values] | [values] | [change] | N/A | [action] |\n| Authority | Referring domains / new links / avg new DR | [values] | [values] | [change] | [change] | [action] |\n\n## Keyword Movers\n| Keyword | Volume | Old -> New | Change | Action |\n|---------|--------|------------|--------|--------|\n| [keyword] | [X] | [X -> Y] | [+/-] | [action] |\n\n## Action Items\n| Priority | Action | Owner | Deadline | Expected Impact |\n|----------|--------|-------|----------|-----------------|\n| P0/P1/P2 | [action] | [owner] | [date] | [impact] |\n```\n\n## 3. Technical Report\n\nFor engineering teams and technical stakeholders. Add business impact only for prioritization.\n\n```markdown\n# Technical SEO Health Report\n**Domain**: [domain] | **Period**: [date range] | **Data freshness**: [timestamp]\n\n| Area | Metric | Current | Prior | Change | Status | Action |\n|------|--------|---------|-------|--------|--------|--------|\n| Crawl | Pages crawled / avg response time | [values] | [values] | [change] | [status] | [action] |\n| Indexation | Valid indexed / excluded errors | [values] | [values] | [change] | [status] | [action] |\n| CWV | LCP / CLS / INP | [values] | [values] | [change] | [status] | [action] |\n| Errors | 404 / 5xx / redirect chains | [counts] | [counts] | [change] | [status] | [action] |\n| Schema | Valid / warning / error pages | [counts] | [counts] | [change] | [status] | [action] |\n\n## Technical Debt Tracke\n\nArchive v16.0.0: 8 files, 18215 bytes\n\nFiles: references/alert-configuration-templates.md (4662b), references/alert-threshold-guide.md (3453b), references/kpi-definitions.md (6667b), references/report-output-templates.md (2540b), references/report-templates.md (4975b), skill-card.md (2712b), SKILL.md (16050b), _meta.json (139b)\n\nArchive v14.0.0: 8 files, 18223 bytes\n\nFiles: references/alert-configuration-templates.md (4662b), references/alert-threshold-guide.md (3453b), references/kpi-definitions.md (6667b), references/report-output-templates.md (2540b), references/report-templates.md (4975b), skill-card.md (2729b), SKILL.md (16050b), _meta.json (139b)\n\nArchive v13.0.0: 8 files, 18365 bytes\n\nFiles: references/alert-configuration-templates.md (4662b), references/alert-threshold-guide.md (3453b), references/kpi-definitions.md (6667b), references/report-output-templates.md (2540b), references/report-templates.md (4975b), skill-card.md (3066b), SKILL.md (16056b), _meta.json (139b)","readmeExcerpt":"Skill: Performance Monitor Owner: aaron-he-zhu Summary: Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/c... Tags: latest:19.0.0 Version history: v19.0.0 | 2026-07-24T14:59:24.930Z | auto **Skill performance-monitor v19.0.0** - Major cleanup: removed legacy documentation and outdated reference files. - Added di","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"# report mode\nCreate an SEO performance report for [domain] for [time period]\nGenerate an executive summary of SEO performance for [month/quarter]\nCreate a GEO visibility report for [domain]\n\n# alert mode\nSet up SEO monitoring alerts for [domain]\nCreate ranking drop alerts for my top 20 keywords\nAlert me when AI citations for [domain] drop"},{"language":"markdown","snippet":"# SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Prepared**: [date]\n\n**Overall performance**: [Excellent/Good/Needs Attention/Critical]\n\n| Metric | Current | Previous | Change | Target | Status |\n|--------|---------|----------|--------|--------|--------|\n| Organic Traffic | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Keywords Top 10 | [X] | [Y] | [+/-Z] | [T] | [status] |\n| Organic Conversions | [X] | [Y] | [+/-Z%] | [T] | [status] |\n| Domain Authority / CITE | [X] | [Y] | [+/-Z] | [T] | [status] |\n| AI Citations | [X] | [Y] | [+/-Z%] | [T] | [status] |\n\nWins: [bullets] | Watch areas: [bullets] | Action required: [bullets]"},{"language":"markdown","snippet":"# [Company] SEO & GEO Performance Report - [Month/Quarter] [Year]\n## Executive Summary\n## Organic Traffic\n## Keyword Rankings\n## GEO / AI Visibility\n## Domain Authority (CITE Score)\n## Content Quality (CORE-EEAT)\n## Backlinks\n## Content Performance\n## Recommendations & Next Steps\n## Appendix: data sources, methodology, missing inputs"},{"language":"markdown","snippet":"# SEO & GEO Performance Summary\n**Period**: [Month Year] | **Audience**: [Audience] | **Prepared by**: [Name]\n\n## Performance At A Glance\n| KPI | Current | Prior | MoM/QoQ | YoY | Target | Status |\n|-----|---------|-------|---------|-----|--------|--------|\n| Organic revenue | [$] | [$] | [%] | [%] | [$] | [status] |\n| Organic sessions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Keywords in Top 10 | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| Organic conversions | [X] | [X] | [%] | [%] | [X] | [status] |\n| Domain Rating / Authority | [X] | [X] | [+/-X] | [+/-X] | [X] | [status] |\n| AI citations | [X] | [X] | [%] | N/A | [X] | [status] |\n\n## Competitive Position\n**Share of voice**: [rank] of [N] tracked competitors ([change]).\n\n| Rank | Competitor | Visibility Share | Change |\n|------|------------|------------------|--------|\n| [1] | [domain] | [%] | [+/-] |\n\n## Wins, Risks, And Ask\n- Wins: [business win], [SEO/GEO win], [authority/content win]\n- Risks: [risk + mitigation/owner], [risk + mitigation/owner]\n- Investment / ROI: [spend] -> [organic revenue/value] -> [ROI]\n- Ask for next period: [decision/budget/resource] by [date]"},{"language":"markdown","snippet":"# Monthly SEO & GEO Performance Report\n**Domain**: [domain] | **Period**: [date range] | **Comparison**: [prior period + prior year]\n\n| Area | Metric | Current | Prior | Change | YoY | Action |\n|------|--------|---------|-------|--------|-----|--------|\n| Traffic | Organic sessions / users | [X] | [X] | [%] | [%] | [action] |\n| Engagement | Bounce or engagement rate / duration | [value] | [value] | [change] | [change] | [action] |\n| Rankings | #1 / Top 3 / Top 10 / 11-50 | [counts] | [counts] | [+/-] | [+/-] | [action] |\n| Content | Top pages / conversions | [values] | [values] | [change] | [change] | [action] |\n| GEO | AI Overview queries / citations / citation rate | [values] | [values] | [change] | N/A | [action] |\n| Authority | Referring domains / new links / avg new DR | [values] | [values] | [change] | [change] | [action] |\n\n## Keyword Movers\n| Keyword | Volume | Old -> New | Change | Action |\n|---------|--------|------------|--------|--------|\n| [keyword] | [X] | [X -> Y] | [+/-] | [action] |\n\n## Action Items\n| Priority | Action | Owner | Deadline | Expected Impact |\n|----------|--------|-------|----------|-----------------|\n| P0/P1/P2 | [action] | [owner] | [date] | [impact] |"},{"language":"markdown","snippet":"# Technical SEO Health Report\n**Domain**: [domain] | **Period**: [date range] | **Data freshness**: [timestamp]\n\n| Area | Metric | Current | Prior | Change | Status | Action |\n|------|--------|---------|-------|--------|--------|--------|\n| Crawl | Pages crawled / avg response time | [values] | [values] | [change] | [status] | [action] |\n| Indexation | Valid indexed / excluded errors | [values] | [values] | [change] | [status] | [action] |\n| CWV | LCP / CLS / INP | [values] | [values] | [change] | [status] | [action] |\n| Errors | 404 / 5xx / redirect chains | [counts] | [counts] | [change] | [status] | [action] |\n| Schema | Valid / warning / error pages | [counts] | [counts] | [change] | [status] | [action] |\n\n## Technical Debt Tracker\n| Item | Priority | Effort | Owner | Deadline | Status |\n|------|----------|--------|-------|----------|--------|\n| [issue] | P0/P1/P2 | L/M/H | [owner] | [date] | [status] |"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: performance-monitor\nslug: performance-monitor\ndisplayName: \"Performance Monitor · SEO报告\"\nsummary: \"SEO报告/绩效仪表盘/SEO预警/排名监控\"\ndescription: 'Use when the user asks to \"generate an SEO report\", \"出月报\", \"set SEO alerts\", or \"排名掉了提醒我\"; two modes — report builds multi-metric traffic/ranking/authority/content dashboards, and alert configures threshold notifications for future ranking, traffic, technical, backlink, competitor, and AI-visibility changes. Not for raw position-by-position deltas — use rank-tracker. SEO报告/绩效仪表盘/SEO预警/排名监控'\nversion: \"19.0.0\"\nlicense: Apache-2.0\ncompatibility: \"Claude Code and compatible agent-skill hosts\"\nhomepage: \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"\nwhen_to_use: \"Use when generating multi-metric SEO/GEO performance reports, traffic summaries, stakeholder dashboards, SEO报告, 流量报告, 月报, 周报, 汇报给老板 (mode: report), OR when setting up monitoring alerts for rankings, traffic, backlinks, technical issues, competitor moves, or AI visibility changes, SEO预警, 排名监控 (mode: alert). Not for raw position-by-position ranking deltas — use rank-tracker.\"\nargument-hint: \"<domain> [--mode report|alert] [date range | metric]\"\nmetadata: {\"author\": \"aaron-he-zhu\", \"version\": \"19.0.0\", \"discipline\": \"seo-geo\", \"phase\": \"evaluate\", \"geo-relevance\": \"medium\", \"hermes\": {\"tags\": [\"marketing\", \"seo-geo\", \"evaluate\"], \"category\": \"seo-geo\"}, \"openclaw\": {\"emoji\": \"🔍\", \"homepage\": \"https://github.com/aaron-he-zhu/aaron-marketing-skills\"}}\n---\n\n# Performance Monitor\n\nOne monitor skill, two modes. **`report`** builds a stakeholder-facing multi-metric snapshot of what already happened (traffic, rankings, GEO/AI, authority, backlinks, content) and turns period-over-period deltas into prioritized recommendations. **`alert`** configures forward-looking threshold and anomaly notifications so a drop in rankings, traffic, technical health, backlinks, competitor position, or AI citations fires before someone eyeballs it. Pick the mode from intent: past-tense reporting → `report`; future-tense \"tell me when\" → `alert`.\n\n**Mode set:** `report` (multi-metric snapshot) · `alert` (forward thresholds/anomalies). Default when unstated: infer from verb tense (see Decision Gates).\n\n**Scope guard — what this skill does NOT do:** it does not compute the CORE-EEAT content score or run its vetoes (T04/C01/R10) — that gate is [content-quality-auditor](../../tune/content-quality-auditor/SKILL.md); it does not compute the CITE domain score or run its vetoes (T03/T05/T09) — that gate is [domain-authority-auditor](../domain-authority-auditor/SKILL.md). This skill *reports* those scores when a gate has already produced them and *watches* them for change; it never scores. Raw position-by-position ranking deltas belong to [rank-tracker](../rank-tracker/SKILL.md).\n\n## Quick Start\n\n```text\n# report mode\nCreate an SEO performance report for [domain] for [time period]\nGenerate an executive summary of SEO performance for [month/quarter]\nCreate a GEO visibility repo"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn73qjxwmbna25qq8q051epqt980sys5\",\n  \"slug\": \"performance-monitor\",\n  \"version\": \"19.0.0\",\n  \"publishedAt\": 1784905164930\n}"},{"path":"references/alert-configuration-templates.md","content":"# Alert Configuration Templates\n\nCompact alert thresholds and response plans for SEO/GEO monitoring.\n\n## 1. Alert Thresholds\n\n| Area | Alert | Condition | Priority |\n|------|-------|-----------|----------|\n| Rankings | Critical drop | Top 3 keyword drops 5+ positions | Critical |\n| Rankings | Top 10 loss | Top 10 keyword drops out of top 10 | High |\n| Rankings | Moderate drop | Any keyword drops 10+ positions | Medium |\n| Rankings | Competitor overtake | Competitor passes you for key term | Medium |\n| Rankings | Positive movement | New Top 3, page 1 entry, 10+ position climb | Positive |\n| SERP features | Snippet lost / won | Featured snippet ownership changes | High / Positive |\n| SERP features | AI Overview change | Appears or disappears | Medium |\n| Traffic | Traffic crash | Day-over-day decline >=50% | Critical |\n| Traffic | Significant drop | Week-over-week decline >=30% | High |\n| Traffic | Moderate decline | Month-over-month decline >=20% | Medium |\n| Traffic | Trend warning | 3 consecutive weeks decline | Medium |\n| Conversions | Conversion drop | Organic conversions down 30%+ | Critical |\n| Conversions | CVR decline | Conversion rate drops 20%+ | High |\n| Technical | Site down | HTTP 5xx errors | Critical |\n| Technical | SSL expiry | Certificate expires in 14 days | Critical |\n| Technical | Robots.txt block | Important pages blocked | Critical |\n| Technical | Index drop | Important pages drop from index | Critical |\n| Technical | Crawl/index/CWV/mobile issue | Error spike 50%+, 10% index drop, CWV poor, mobile errors | High |\n| Technical | New 404 pages | 404 errors on important pages | Medium |\n| Technical | Redirect chains | 3+ redirect hops | Medium |\n| Security | Manual action / malware | GSC warning or flagged issue | Critical |\n| Backlinks | High-value link lost | DA 70+ link removed | High |\n| Backlinks | High-value link gained | New DA 70+ link | Positive |\n| Backlinks | Multiple lost links | 10+ links lost in a day | Medium |\n| Backlinks | Toxic / negative SEO | Spam pattern or toxic score +20% | High |\n| Competitors | Competitor content/backlink move | New content/update or high-DA link | Info |\n| GEO | Citation lost/won | AI citation ownership changes | Medium / Positive |\n| GEO | Citation rate drop | AI citation rate drops 20%+ | High |\n| Brand | Negative mention / rating drop | Sentiment or rating deterioration | High |\n| Brand | Unlinked mention | Brand mention without link | Opportunity |\n\n## 2. Page-Level Traffic Rules\n\n| Page Type | Alert Condition | Priority |\n|-----------|-----------------|----------|\n| Homepage | 20%+ decline | Critical |\n| Top 10 pages | 30%+ decline | High |\n| Conversion pages | 25%+ decline | High |\n| Blog posts | 40%+ decline | Medium |\n\n## 3. Response Plans\n\n| Priority | Response Time | Immediate Actions |\n|----------|---------------|-------------------|\n| Critical | Within 1 hour | Confirm data, check server/GSC/indexing, assign owner, start incident log |\n| High | Same day | Diagnose cause, com"},{"path":"references/alert-threshold-guide.md","content":"# Alert Threshold Guide\n\n## Severity Levels\n\n**Standard Deviation method**: Info (1 SD), Warning (1.5 SD), Critical (2 SD), Emergency (3 SD) from baseline mean.\n\n## Thresholds by Metric Category\n\n### Traffic\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| Organic sessions (WoW) | -15% | -30% | -50% |\n| Organic sessions (DoD) | -25% weekday | -40% | Site appears down |\n| Non-brand sessions (WoW) | -20% | -35% | -50% |\n| Organic conversions (WoW) | -20% | -40% | -60% |\n| Top 10 page traffic (WoW) | -25% | -40% | -60% |\n\n### Rankings\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Tier 1 keyword position | Drop >= 3 | Drop >= 5 |\n| Tier 2 keyword position | Drop >= 5 | Drop >= 10 |\n| Tier 3 keyword position | Drop >= 10 | Off page 3 |\n| Average position (all) | +2.0 worsening | +5.0 worsening |\n| Keywords in top 10 | -10% count | -20% count |\n| Brand keyword | Any drop from #1 | Below #3 |\n| Featured snippet | Any loss | 3+ losses |\n\n### Technical\n\n| Metric | Warning | Critical | Emergency |\n|--------|---------|----------|-----------|\n| New 4xx errors | >5/day | >20/day | >100/day |\n| New 5xx errors | >1/day | >5/day | >20/day |\n| Crawl rate change | -30% baseline | -60% baseline | Near-zero |\n| Index coverage drop | -5% | -15% | -30% |\n| Server response time | >500ms | >1000ms | >2000ms |\n| LCP (mobile) | Needs Improvement | Poor | >6s |\n| CLS | >0.1 | >0.25 | >0.5 |\n| INP | >200ms | >500ms | >1000ms |\n\n### Backlinks\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| Referring domains lost (weekly) | >5% total | >15% total |\n| High-authority link lost (DR 60+) | Any loss | 3+ in one week |\n| Toxic link spike | >10/week | >50/week |\n| Exact match anchor % | Reaches 20% | Reaches 30% |\n\n### GEO / AI Visibility\n\n| Metric | Warning | Critical |\n|--------|---------|----------|\n| AI citation rate | Drops 10+ pp | Below 10% |\n| Key query citation lost | Any Tier 1 | 3+ Tier 1 queries |\n| Citation position | Worsens by 2+ | Dropped entirely |\n\n## Alert Routing\n\n| Priority | Channel | Escalation |\n|----------|---------|------------|\n| P0 Emergency | SMS + Phone + Slack #emergencies | PagerDuty on-call |\n| P1 Urgent | Slack #alerts + Email | SMS if unacknowledged in 4h |\n| P2 Important | Email + Slack #daily | Auto-escalate to P1 after 1 week |\n| P3 Monitor | Weekly digest | Auto-escalate to P2 after 1 month |\n\n## Suppression Rules\n\n| Rule | Configuration |\n|------|--------------|\n| Duplicate cooldown | No re-alert same metric for 24h |\n| Maintenance window | Suppress non-security alerts |\n| Weekend adjustment | Increase traffic thresholds +20% |\n| Recovery auto-close | Close if metric normalizes within 48h |\n| Batch related | Group multiple ranking drops into one alert |\n\n## Threshold Tuning\n\n| Signal | Action |\n|--------|--------|\n| >30% false positives | Widen thresholds by 0.5 SD |\n| Missed real problem | Tighten the specific threshold |\n| Seasonal change | Adjust baselines for"},{"path":"references/kpi-definitions.md","content":"# SEO/GEO KPI Definitions\n\nUse these definitions when building recurring performance reports. Always show source, date range, comparison period, and whether the metric is brand, non-brand, or blended.\n\n## KPI Matrix\n\n| Category | KPI | Formula / source | Good | Warning / action trigger |\n|----------|-----|------------------|------|--------------------------|\n| Organic search | Organic sessions | Count sessions where medium = `organic`; analytics platform | Growing MoM; 3-10% MoM is healthy | Decline >10% MoM without seasonal cause; split brand vs non-brand |\n| Organic search | Organic CTR | Organic clicks / impressions x 100; Search Console | >3% overall | <1.5% or declining; stable position + low CTR means title/meta issue |\n| Organic search | Average position | Sum of positions / keyword count; Search Console or SEO tool | <20 for tracked keywords; improving | >30 or worsening; pair with top 10/top 20 distribution |\n| Organic search | Keyword visibility | Sum of estimated CTR at position x monthly volume | Growing | Declining 3+ consecutive weeks |\n| Organic search | Pages indexed | Valid indexed pages in Search Console | Close to intended indexable pages | Drop without intent; submitted/indexed gap; indexed > intended |\n| Organic search | Organic CVR | Organic conversions / organic sessions x 100 | >2% lead gen; >1% e-commerce | <0.5% or declining while traffic grows |\n| Organic search | Non-brand share | Non-brand organic sessions / total organic sessions x 100 | >50% | <30%, indicating brand dependency |\n| GEO / AI | AI citation rate | Cited queries / monitored AI-answer queries x 100 | >20% | <5% or declining |\n| GEO / AI | AI citation position | Sum citation positions / citation count | Top 3 average | Not cited or consistently 5+ |\n| GEO / AI | AI answer coverage | Topics with AI answers / target topics x 100 | Growing | Declining coverage |\n| GEO / AI | Brand mention in AI | AI responses containing brand name | Growing for authority topics | Zero mentions on priority topics |\n| Authority | Domain Rating / Authority | Tool-specific 0-100 logarithmic link score | Growing and competitive | Flat while competitors grow |\n| Authority | Referring domains | Distinct root domains linking | Growing MoM | Net loss for 2+ months |\n| Authority | Backlink growth rate | New backlinks - lost backlinks | Positive and steady | Negative 2+ months or spam-like spike |\n| Authority | Toxic link ratio | Toxic backlinks / total backlinks x 100 | <5% | 5-10% warning; >10% critical, review before disavow |\n| Technical | Crawl budget utilization | Useful pages crawled / total pages crawled x 100 | >80% useful/indexable | High crawl of non-indexable or low-value pages |\n| Technical | Index coverage rate | Indexed pages / submitted pages x 100 | >90% for curated sitemap | <80% or declining |\n| Content | Content efficiency | Organic sessions per piece / cost per piece | Improving | Flat or declining after refresh window |\n| Content | Content decay rate | Pages with >"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2189,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:59:12.756Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:00:23.701Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}