Synthèse automatique
Boucle hebdomadaire de suivi des expériences pour MD Home Care, analysant les modifications de contenu via Git, mesurant l'impact sur le trafic avec PostHog et GSC, et prenant des décisions de conservation, itération ou annulation avec un décalage temporel adapté au contenu YMYL.
Points forts
- Évaluation ajustée au décalage temporel pour le contenu YMYL (âgé, handicap)
- Mesure combinée via Google Search Console et PostHog pour une vue complète
- Cadre décisionnel clair (Keep/Iterate/Revert) basé sur des seuils chiffrés
- Processus automatisable via scripts Python et commandes Git
Limites
- Nécessite un accès fonctionnel à PostHog et GSC avec des clés API
- Les délais d'évaluation sont spécifiques au contenu YMYL et non généralisables
- L'analyse manuelle des journaux Git peut être chronophage sans intégration CI/CD
Utilisez cette boucle pour tout site de contenu YMYL subissant des modifications fréquentes, afin de mesurer l'impact SEO et les visites issues des IA avec une latence appropriée.
Évitez pour les sites non YMYL où les délais d'évaluation sont plus courts, ou si les outils d'analyse (PostHog, GSC) ne sont pas disponibles.
Analyse de sécurité
PrudenceThe 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.
- •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.
Exemples
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.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?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:
- Run git scan (Step 1)
- For changes past their evaluation window, measure results (Step 3)
- Make keep/iterate/revert decisions (Step 4)
- Log results to PLAYBOOK.md (Step 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.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
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. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
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 doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h'openskills read 'weekly-experiment-tracking-loop-mm5t8a9h'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/weekly-experiment-tracking-loop-mm5t8a9h/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.