Skills / SEO/GEO / performance-monitor
performance-monitor
Multi-metric SEO/GEO reports and threshold alerts.
npx skills add …
Hire AI Staff
More install paths (Claude marketplace, Portable Lite, SkillHub…)
- Discipline
- SEO/GEO
- 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.
reportreads current + prior-period metrics across traffic/rankings/authority/content, report audience, and date range.alertreads 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 todecisions.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)
reporta snapshot now, (2)alertfor 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:
- Define Report Parameters — domain, period, comparison period, report type, audience, focus areas, data freshness.
- 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.
- Organic Traffic — sessions, users, pageviews, engagement/bounce, trend, source/device split, top pages, each figure source-tagged.
- 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.
- GEO / AI Performance — AI citation overview, citations by topic, GEO wins, optimization opportunities.
- 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.
- Content Quality (CORE-EEAT) — include average scores and trends when already produced; otherwise mark "Not yet evaluated." Do not compute CORE-EEAT here.
- Backlinks — link-profile summary, acquisition trend, notable links, competitive position.
- Content Performance — publishing summary, top content, content needing attention, content ROI.
- Recommendations — immediate/short-term/long-term actions with priority, owner, expected impact, next-period goals.
- Compile Full Report — table of contents, appendix, data sources, methodology, glossary.
Mode: alert
Use Alert Configuration Templates and:
- Define Alert Categories — choose from rankings, traffic, technical, backlinks, competitors, GEO / AI, and brand.
- 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.
- Define Alert Response Plans — map Critical / High / Medium / Low to response time and next actions.
- Set Up Alert Delivery — channels, routing, cooldowns, maintenance windows, escalation paths.
- 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
alertmode. 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
reportmode. 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.