AaronMarketing.ai AaronMarketing.ai

Skills / SEO/GEO / performance-monitor

performance-monitor

Multi-metric SEO/GEO reports and threshold alerts.

Install skills npx skills add … Hire AI Staff
More install paths (Claude marketplace, Portable Lite, SkillHub…)
Discipline
SEO/GEO
Framework
CORE-EEAT + CITE
Gate
content-quality-auditor · domain-authority-auditor
Entrypoint
/aaron-marketing:seo-geo

From SKILL.md

Inlined from seo-geo/evaluate/performance-monitor/SKILL.md (primary sections; appendix omitted) — view full SKILL.md on GitHub

Sections: Performance Monitor · Quick Start · report mode · alert mode · Skill Contract · Data Sources · Decision Gates · Instructions · Example · Next Best Skill

Performance Monitor

One 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.

Mode set: report (multi-metric snapshot) · alert (forward thresholds/anomalies). Default when unstated: infer from verb tense (see Decision Gates).

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; it does not compute the CITE domain score or run its vetoes (T03/T05/T09) — that gate is domain-authority-auditor. 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.

Quick Start

# report mode
Create an SEO performance report for [domain] for [time period]
Generate an executive summary of SEO performance for [month/quarter]
Create a GEO visibility report for [domain]

# alert mode
Set up SEO monitoring alerts for [domain]
Create ranking drop alerts for my top 20 keywords
Alert me when AI citations for [domain] drop

Shortest 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/.

Skill Contract

Expected output: mode report → a delta-based multi-metric report/dashboard plus per-change Cycle Retro; mode alert → an alert configuration summary that opens a bound readback rather than declaring an instant outcome. Both include exact page/change/measurement bindings, evidence refs, and the standard handoff summary for memory/monitoring/.

  • 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.
  • Writes: a user-facing monitoring deliverable plus a reusable summary storable under memory/monitoring/.
  • Promotes: significant changes, confirmed anomalies, durable thresholds, and follow-up actions; pending decisions go to memory/open-loops.md (never directly to decisions.md).
  • Done when:

- report: each in-scope section (traffic, rankings, GEO, authority, backlinks, content) is present or marked "Not yet evaluated"; every metric is source-, time-, window-, and target-bound and compared to the prior period/control; each changed page records the current page/content/change and measurement-contract refs/hashes; recommendations carry owner, priority, and expected impact. - 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.

  • Primary next skill: see Next Best Skill — the two modes hand off to each other.

Handoff Summary

Emit the standard shape from skill-contract.md §Handoff Summary Format. Name the active mode (report / alert) in the Objective line.

Data Sources

All integrations optional (see CONNECTORS.md). Tier 1 (keyless) works for both modes; keyed tools are opt-in Tier 2/3.

  • 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.
  • 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.

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. See scripts/connectors/README.md.

Decision Gates

Stop and ask the user when:

  • 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.
  • 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.
  • 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.

Continue silently (never stop for):

  • A report section's source data is missing — mark that section "Not yet evaluated" and proceed; do not fabricate the metric.
  • Audience not stated (report) — default to the executive template and note the assumption.
  • Delivery channel not stated (alert) — default to the channel in context (or email) and note it.
  • An alert category the user did not mention — leave it unconfigured; do not add alerts they did not request.

Instructions

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.

Mode: report

Use Report Output Templates and cover:

  1. Define Report Parameters — domain, period, comparison period, report type, audience, focus areas, data freshness.
  2. 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.
  3. Organic Traffic — sessions, users, pageviews, engagement/bounce, trend, source/device split, top pages, each figure source-tagged.
  4. Keyword Rankings — position ranges, distribution change, top improvements/declines, SERP features. For raw position-by-position deltas, defer to rank-tracker rather than recomputing here.
  5. GEO / AI Performance — AI citation overview, citations by topic, GEO wins, optimization opportunities.
  6. 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.
  7. Content Quality (CORE-EEAT) — include average scores and trends when already produced; otherwise mark "Not yet evaluated." Do not compute CORE-EEAT here.
  8. Backlinks — link-profile summary, acquisition trend, notable links, competitive position.
  9. Content Performance — publishing summary, top content, content needing attention, content ROI.
  10. Recommendations — immediate/short-term/long-term actions with priority, owner, expected impact, next-period goals.
  11. Compile Full Report — table of contents, appendix, data sources, methodology, glossary.

Mode: alert

Use Alert Configuration Templates and:

  1. Define Alert Categories — choose from rankings, traffic, technical, backlinks, competitors, GEO / AI, and brand.
  2. 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.
  3. Define Alert Response Plans — map Critical / High / Medium / Low to response time and next actions.
  4. Set Up Alert Delivery — channels, routing, cooldowns, maintenance windows, escalation paths.
  5. Create Alert Summary — output category counts, the critical playbook, and a weekly review checklist as the deliverable.

Shared discipline (both modes)

Label 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.

Example

  • 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.
  • alert: a keyword alert matrix with Critical vs High thresholds, a response plan for drops, and notification routing to email + Slack.

Next Best Skill

Mode-conditional, then terminal:

  • After report — a change needs ongoing monitoring → run this skill in alert mode. A section marked "Not yet evaluated" for authority → domain-authority-auditor; for content quality → content-quality-auditor. One-off report with no action → Terminal.
  • After alert — a reporting cadence is requested → run this skill in report mode. Standalone alert setup → Terminal.

Termination: the visited-set and max-depth: 3 rules from skill-contract.md §Termination rules 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.

Full source on GitHub (appendix / reference sections omitted for length).

FAQ

What does this skill do?
Multi-metric SEO/GEO reports and threshold alerts.
Where is the authoritative source?
SKILL.md in the aaron-marketing-skills repo — https://github.com/aaron-he-zhu/aaron-marketing-skills/blob/main/seo-geo/evaluate/performance-monitor/SKILL.md
How do I install just this skill?
npx skills add aaron-he-zhu/aaron-marketing-skills -s performance-monitor.