aaron-he-zhu/aaron-marketing-skills

performance-monitor

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, technic…

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

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

text
# 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.

Alert Threshold Quick Reference

MetricWarningCriticalFrequency
Organic traffic-15% WoW-30% WoWDaily
Keyword positions>3 position drop>5 position dropDaily
Pages indexed-5% change-20% changeWeekly
Crawl errors>10 new/day>50 new/dayDaily
Core Web Vitals"Needs Improvement""Poor"Weekly
Backlinks lost>5% in 1 week>15% in 1 weekWeekly
AI citation lossAny key query>20% queriesWeekly
Security issuesAny detectedAny detectedDaily

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.

Reading Deltas Against a Control

A 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:

First apply the SEO/GEO Evidence and Cycle Control Profile. The readback must bind the current non-forked page/content/change head and exact measurement-contract hash. A later edit supersedes the old binding and starts a new window; a post-hoc window is explicitly reconstructed.

  • 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.
  • Required readback fields — record: page/content/change refs + hashes · current head · measurement contract ref/hash · owner · baseline/candidate/control windows · evidence refs · primary + secondary metric · decision · caveats · next patch · next-readback date · applicable index receipt.
  • 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.

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.

Save Results

Ask "Save these results?" If yes, write to memory/monitoring/ using filename YYYY-MM-DD-<topic>.md — see skill-contract.md §Save Results Template. 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.

Reference Materials

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.

来自同一仓库

更多 Skills

全部 Skills
aaron-he-zhu
社区

ad-test-designer

Use when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"; produces a hypothesis, variant matrix, sample-size/duration/power plan, and a documented effect/uncertainty read from own exported results. It applies only a precommitted owner-approved action rule; the statistical helper never chooses a business action. Not for producing variants — use ad-creative-builder; not for reading back one shipped change — use paid-measurement-loop. 广告AB测试设计/实验设计/显著性判定/增效测试

安装量
1
GitHub Stars
2725
最近更新
9月3日
aaron-he-zhu
社区

attribution-reconciler

Use when platform-reported conversions disagree with GA4/ecommerce, when you suspect Meta and Google are double-counting the same sales, or for a standing (monthly) reconciliation workbook that de-dups stacked credit against an order-ID truth set, normalizes attribution windows and currency, compares attribution models, and reads incrementality from a geo/holdout test. Not for the point-in-time R2 veto or RQS gate — use ad-account-auditor; not for the ROI/ROAS ratio math itself — use roi-calculator; not for organic dark-social share attribution or GA4 direct-traffic decomposition — use dark-social-attributor. 付费广告归因对账/去重/增量

安装量
1
GitHub Stars
2725
最近更新
9月3日
aaron-he-zhu
社区

audience-belief-mapper

Use when the user asks to "map what our buyers believe", "capture the objections we keep hearing", or "find the switching forces that move the beachhead"; produces a belief map of the beachhead — held beliefs and mental models, the recurring objections and their reframes, and the JTBD four forces (push of the problem, pull of the new, anxiety of switching, habit of the present) — each item sourced from interviews or win-loss notes (User-provided) and labeled Measured / User-provided / Estimated, with any unverified quote or comparative claim marked "[needs source]" and routed to the claims candidates, never adjudicated here. Not for demographic or persona profiling — use audience-mapper; not for the positioning canvas — use positioning-truth-tracer. 受众信念/异议地图/切换四力/流失语言

安装量
1
GitHub Stars
2725
最近更新
9月3日
aaron-he-zhu
社区

audience-mapper

Use when the user asks to "analyze my target audience", "build an audience profile for influencer targeting", "research a niche community", or "deep-dive a subculture before partnering with creators"; in audience mode produces demographic/psychographic profiles, a platform-priority matrix, named personas, and an influencer-selection criteria set, and in niche mode produces a community map, culture decode (language/norms/taboos), key-voice tiers, a Brand Fit Score, and a phased entry strategy. Not for finding specific creators to contract — use influencer-discovery; not for scoring a shortlist on Suitability — use fit-scorer. 目标受众画像/人群分析 · 细分社群/亚文化调研

安装量
1
GitHub Stars
2725
最近更新
9月3日