Weekly Experiment Tracking Loop

VerifiedCaution

Tracks content changes on MD Home Care weekly, measures their impact on organic traffic and rankings using Google Search Console and PostHog, and applies a keep/iterate/revert decision framework with YMYL-specific lag times. Helps content managers and SEOs make data-driven decisions on content optimizations for aged care and disability service pages.

Sby Skills Guide Bot
DevelopmentIntermediate
6/2/2026
Claude CodeCursorWindsurf
#experiment-loop#content-optimization#traffic-analysis#seo-aeo#data-driven-decisions

Recommended for

Automated summary

Weekly experiment tracking loop for MD Home Care that scans content changes via Git, measures traffic impact using PostHog and Google Search Console, and makes keep/iterate/revert decisions with lag-adjusted attribution for YMYL content.

Strengths

  • Lag-adjusted evaluation specifically designed for YMYL content (aged care, disability)
  • Dual measurement via GSC (organic search) and PostHog (user behavior, AI referrals)
  • Clear decision framework with quantitative thresholds (e.g., 10% clicks increase, 2+ positions improvement)
  • Reproducible weekly process leveraging Git diffs and Python scripts

Limitations

  • Requires active PostHog and GSC API access with valid credentials
  • Lag times are tailored to YMYL content and may not apply to other verticals
  • Manual Git scan each week can be skipped if integrated into CI/CD
When to use it

Use this loop when managing a YMYL content site with frequent updates and needing to measure SEO and AI referral impact with proper latency windows.

When not to use it

Avoid for non-YMYL content with shorter evaluation windows, or when analytics tools (PostHog, GSC) are unavailable.

Security analysis

Caution
Quality score85/100

The skill employs bash and Python for data collection from Git, PostHog, and Google Search Console. It does not download or execute untrusted code, but the commands are powerful and could affect the user's system if misapplied. Appropriate for a controlled dev environment.

Findings
  • •Uses bash commands and Python scripts that require execution in a specific local environment; while legitimate, could inadvertently run unexpected code if the environment differs.
How this analysis is made

Examples

Run weekly experiment loop
Run the weekly experiment loop for MD Home Care. Scan all content changes from the last 7 days in git, measure baseline and post-change metrics via GSC and PostHog, and decide whether to keep, iterate, or revert each change using the lag-adjusted evaluation windows.
Evaluate a new service page
Check the lag-adjusted impact of the new service page /services/home-care that was published 3 weeks ago. Get the before/after metrics for organic clicks, impressions, average position, and AI referral visits. Should we keep, iterate, or revert this page?
Decide on FAQ additions
Two weeks ago we added an FAQ section to the blog post about NDIS support. Run the experiment loop for that change and tell me if we should keep, iterate, or revert based on the decision framework with the appropriate 2-week evaluation window.

name: experiment-loop description: Weekly experiment tracking loop for MD Home Care. Scans content changes, measures traffic impact via PostHog and GSC, and makes keep/iterate/revert decisions with lag-adjusted attribution.

Experiment Loop for MD Home Care

Tracks content changes, measures their impact on traffic and rankings, and decides whether to keep, iterate, or revert. Runs weekly.

CRITICAL: Lag Times for YMYL Content

YMYL content (aged care, disability services) has longer lag times than SaaS content. Do not evaluate changes too early.

| Change Type | SEO Lag | AEO Lag | Evaluation Window | |-------------|---------|---------|-------------------| | Service page optimization | 10-21 days | 3-7 days | 3 weeks minimum | | Location page creation | 14-21 days | 7-14 days | 3 weeks minimum | | Blog post publishing | 7-14 days | 3-7 days | 2 weeks minimum | | Provider comparison addition | 7-14 days | 3-7 days | 2 weeks minimum | | Trust signal enhancement | 10-21 days | 7-14 days | 3 weeks minimum | | FAQ addition | 7-14 days | 3-7 days | 2 weeks minimum |


Step 1: Weekly Git Scan

Identify all content changes from the past week:

cd ~/Projects/mdhomecarebuild

# All content changes in last 7 days
git log --since="7 days ago" --name-only --pretty=format:"%h %s" -- "src/content/**/*.md" "src/content/**/*.mdx"

# Summarize by type
git log --since="7 days ago" --name-only --pretty=format:"" -- "src/content/blog/*.md" | sort -u | head -20
git log --since="7 days ago" --name-only --pretty=format:"" -- "src/content/services/*.md" | sort -u | head -20
git log --since="7 days ago" --name-only --pretty=format:"" -- "src/content/providers/*.md" | sort -u | head -20

Categorize each change:

  • New page: Completely new content file
  • Major edit: Structural changes (new sections, comparison tables, rewritten H1/H2)
  • Minor edit: Small fixes (typos, link updates, frontmatter changes)

Step 2: Baseline Measurement

For each changed page, capture the pre-change baseline. If baseline was not captured before the change, use the previous period as proxy.

GSC Baseline

cd ~/Projects/mdhomecarebuild

# For each changed page, get keyword data
python3 src/scripts/advanced_gsc_analyzer.py --page "/services/[slug]"
python3 src/scripts/advanced_gsc_analyzer.py --page "/blog/[slug]"

Record:

  • Top 10 keywords by clicks
  • Average position for primary keyword
  • Total impressions and clicks (last 7 days)

PostHog Baseline

# Page traffic
python3 src/scripts/posthog_analytics.py --page "/services/[slug]" --days 7

# AI referral traffic
python3 src/scripts/posthog_analytics.py --ai-referrals --days 7

Record:

  • Total pageviews (last 7 days)
  • AI referral visits to that page
  • Traffic sources breakdown

Step 3: Post-Change Measurement

After the evaluation window has passed (see lag times table), measure again.

# GSC: same page analysis
python3 src/scripts/advanced_gsc_analyzer.py --page "/services/[slug]"

# PostHog: same page traffic
python3 src/scripts/posthog_analytics.py --page "/services/[slug]" --days 7
python3 src/scripts/posthog_analytics.py --ai-referrals --days 7

Step 4: Attribution and Decision

Compare Metrics

For each experiment, calculate:

| Metric | Before | After | Change | |--------|--------|-------|--------| | Organic clicks (7d) | X | Y | +/- % | | Impressions (7d) | X | Y | +/- % | | Avg position (primary KW) | X | Y | +/- positions | | AI referral visits (7d) | X | Y | +/- % | | Total pageviews (7d) | X | Y | +/- % |

Decision Framework

KEEP if:

  • Organic clicks increased >10%
  • OR average position improved by 2+ positions
  • OR AI referral visits increased >20%
  • OR impressions increased >15% (leading indicator)
  • AND no negative impact on other pages (cannibalization check)

ITERATE if:

  • Mixed signals (some metrics up, some flat)
  • OR small positive movement (<10% clicks) that suggests potential
  • OR evaluation window has not fully elapsed
  • Action: Make targeted refinements and re-evaluate after another cycle

REVERT if:

  • Organic clicks decreased >15%
  • AND average position dropped by 3+ positions
  • AND no compensating AI referral increase
  • Action: Restore previous version via git, document what went wrong

WAIT if:

  • Change is too recent (within lag window)
  • Action: Re-evaluate next week

Step 5: Log to Playbook

Record every experiment result in PLAYBOOK.md:

## [Date] - [Experiment Name]

**Category:** [Service page optimization / Location page / Blog post / Comparison / Trust signal / FAQ]
**Page:** [URL path]
**Change:** [Brief description of what was changed]
**Hypothesis:** [What we expected to happen]

**Baseline (pre-change):**
- Organic clicks (7d): X
- Avg position (primary KW): X
- AI referrals (7d): X

**Result (post-change, measured [date]):**
- Organic clicks (7d): Y (+/- %)
- Avg position (primary KW): Y (+/- positions)
- AI referrals (7d): Y (+/- %)

**Decision:** KEEP / ITERATE / REVERT / WAIT
**Lesson:** [What we learned]

Experiment Categories

Service Page Optimizations

  • Adding comparison tables
  • Rewriting H1/byline
  • Adding trust signal sections
  • Expanding FAQ sections
  • Adding AI differentiation paragraphs

Location Page Creation

  • New suburb-specific service pages
  • Measure: local keyword rankings, location-specific traffic

Blog Post Publishing

  • New informational content
  • Template/download posts
  • Provider comparison posts
  • Measure: organic clicks, keyword coverage expansion

Provider Comparison Additions

  • New comparison tables on existing pages
  • New "vs" blog posts
  • Measure: comparison keyword rankings, AI referral traffic

Trust Signal Enhancements

  • Adding registration numbers
  • Adding testimonials
  • Adding clinical governance sections
  • Measure: overall page authority signals, position changes

FAQ Additions

  • New FAQ sections
  • Expanding existing FAQs with PAA questions
  • Measure: featured snippet captures, PAA appearances

Weekly Routine

Every week:

  1. Run git scan (Step 1)
  2. For changes past their evaluation window, measure results (Step 3)
  3. Make keep/iterate/revert decisions (Step 4)
  4. Log results to PLAYBOOK.md (Step 5)
  5. Capture baselines for new changes (Step 2)

Usage

/experiment-loop

Runs the full weekly cycle: scan, measure, decide, log.

/experiment-loop --check "/services/sil-services"

Check status of a specific page experiment.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/weekly-experiment-tracking-loop-mm5t8a9h/download' --output '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md.part' && mv '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md.part' '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md' && test -s '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/experiment-loop' && cp -R '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h' '.claude/skills/experiment-loop'

Cursor
test -f '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md' && test -s '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/experiment-loop' && cp -R '.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h' '.cursor/skills/experiment-loop'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h'

openskills read 'weekly-experiment-tracking-loop-mm5t8a9h'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills