Synthèse automatique
Exécute une analyse de données R de bout en bout pour le projet sewage, en écrivant des scripts conformes aux conventions du projet et en produisant des tableaux et figures prêts pour publication.
Points forts
- Applique automatiquement les conventions R du projet : here::here(), pipe natif, arrow/parquet, fixest et modelsummary.
- Couvre le cycle complet : lecture du contexte, écriture du script, revue de code, exécution et synthèse des résultats.
- Produit des sorties normalisées : tables LaTeX, figures PDF/PNG et objets de régression RDS.
- S'appuie sur les scripts existants et la documentation du manuscrit pour rester cohérent avec l'analyse en cours.
Limites
- Très lié au projet sewage : chemins, sous-dossiers et conventions sont codés en dur.
- Suppose que l'environnement R, les jeux de données et les packages requis sont déjà installés et accessibles.
- La revue de code intégrée ne remplace pas une validation économétrique ou une vérification indépendante des résultats.
À utiliser lorsqu'il faut écrire ou modifier un script d'analyse R pour le projet sewage, estimer une spécification ou générer des tableaux et figures à partir des données finales.
À éviter pour des analyses R hors du projet sewage, pour du nettoyage de données en amont du pipeline ou lorsque vous ne disposez pas des données et de l'environnement du projet.
Analyse de sécurité
PrudenceThe skill is a legitimate data-analysis workflow with no malicious exfiltration, destructive commands, obfuscation, or safety-disabling instructions. However, it grants Bash and can execute generated R scripts, and it permits Agent use without constraints; the hardcoded local path is a minor privacy/portability issue. These justify caution rather than risky.
- •Allows Bash and instructs running generated R scripts via Rscript, which executes arbitrary code with the user's permissions.
- •Contains a hardcoded absolute local path (/Users/jacopoolivieri/...) that exposes a username/project path and is non-portable.
- •Allows the Agent tool without describing how or when subagents should be used, expanding execution capability beyond the documented workflow.
- •Writes and edits files and outputs without explicit overwrite/confirmation safeguards.
Exemples
Run a hedonic regression of log_price on spill_count with LSOA and year-quarter fixed effects, then export a modelsummary table to output/tables/hedonic_main.tex and save the model RDS.Add a repeat-sales specification to the analysis using data/final/repeat_sales.parquet, follow the project conventions, and produce the regression table and figure.Write an R script in scripts/R/09_analysis/01_descriptive/ to create scatter plots and a map from data/final, using here and arrow, and save outputs to output/figures/.name: data-analysis description: End-to-end R data analysis for the sewage project. Writes analysis scripts following project conventions (here::here, arrow/parquet, fixest, modelsummary, native pipe), runs code review, and produces publication-ready tables and figures. This skill should be used when asked to "run an analysis", "estimate the model", "add a specification", or "write an R script". argument-hint: "[dataset path, analysis goal, or specification description]" allowed-tools: ["Read", "Grep", "Glob", "Write", "Edit", "Bash", "Agent"]
Data Analysis
Run an end-to-end data analysis following sewage project conventions.
Input: $ARGUMENTS — a dataset path, analysis goal description, or specification to estimate.
Project-Specific Context
Analysis Organisation
Scripts in scripts/R/09_analysis/ by approach:
01_descriptive/— Maps, scatter plots, Google Trends02_hedonic/— Cross-sectional hedonic regressions03_repeat_sales/— Repeat-transaction regressions04_long_difference/— 250m grid-level long differences05_news/— DiD and event studies with media coverage06_upstream_downstream/— Directional spillover07_dry_spills/— Dry spill analysis
Datasets
data/final/— Analysis-ready datasetsdata/processed/— Intermediate pipeline outputs (parquet)- All data loaded via
arrow::read_parquet()orarrow::open_dataset()
Output Destinations
- Tables:
output/tables/*.tex(modelsummary → LaTeX with tabularray) - Figures:
output/figures/*.pdfor*.png - Regression objects:
output/regs/*.rds - HTML interactive:
output/html_plots/
Required R Conventions
here::here()for all paths- Native pipe
|> fixest::feols()for regressions withvcov = "hetero"modelsummaryfor table output (tabularray format,[H]placement)arrowfor parquet I/Osnake_casenamingforcats::as_factor()for factors
Workflow
Step 1: Context Gathering
- Understand the analysis goal from
$ARGUMENTS - Read existing analysis scripts in the relevant subdirectory for patterns
- Read
scripts/R/utils/spill_aggregation_utils.Rif spill metrics are involved - Check
data/final/for available datasets - Read the relevant manuscript section in
docs/overleaf/if the analysis feeds into the paper
Step 2: Write Analysis Script
Follow the analysis script structure:
# ================================================================
# [Descriptive Title]
# Purpose: [What this script does]
# Inputs: [Data files]
# Outputs: [Figures, tables, RDS files]
# ================================================================
# === 1. Setup ============================================
library(tidyverse)
library(fixest)
library(modelsummary)
library(arrow)
library(here)
# === 2. Data Loading =====================================
df <- read_parquet(here("data", "final", "dataset.parquet"))
# === 3. Main Analysis ====================================
model <- feols(
log_price ~ spill_count | lsoa + year_quarter,
data = df,
vcov = "hetero"
)
# === 4. Tables and Figures ================================
modelsummary(
list("Main" = model),
output = here("output", "tables", "table_name.tex"),
fmt = 3
)
# === 5. Export ============================================
saveRDS(model, here("output", "regs", "model_name.rds"))
Step 3: Code Review
After writing the script, review it against the 9 categories from /review-r:
- Script structure, console hygiene, reproducibility
- Function design, figure quality, data persistence
- Comments, error handling, polish
Fix any Critical or Major issues before presenting.
Step 4: Run the Script
If the user wants execution:
cd /Users/jacopoolivieri/Library/CloudStorage/Dropbox/01_projects/sewage
Rscript scripts/R/09_analysis/[subdir]/[script_name].R
Step 5: Present Results
- Results summary — Key estimates with SEs and economic interpretation
- Script created — Path and description
- Output files — Tables and figures generated
- Code review notes — Any conventions to flag
- TODO items — Missing data, additional specifications needed
Principles
- Reproduce, don't guess. If a specific regression is requested, implement exactly that.
- Strategy alignment. If an analysis feeds into a manuscript section, the code must implement what the paper claims.
- Publication-ready output. Tables and figures should be directly includable in the paper.
- Follow existing patterns. Read neighbouring scripts in the same subdirectory for style consistency.
- Save everything. Every regression object saved as RDS, every table as LaTeX, every figure as PDF.
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/r-data-analysis-msh3ut3a/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/r-data-analysis-msh3ut3a' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/r-data-analysis-msh3ut3a/download' --output '.skill-downloads/r-data-analysis-msh3ut3a/SKILL.md.part' && mv '.skill-downloads/r-data-analysis-msh3ut3a/SKILL.md.part' '.skill-downloads/r-data-analysis-msh3ut3a/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/r-data-analysis-msh3ut3a/SKILL.md' && test -s '.skill-downloads/r-data-analysis-msh3ut3a/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/data-analysis' && cp -R '.skill-downloads/r-data-analysis-msh3ut3a' '.claude/skills/data-analysis'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/r-data-analysis-msh3ut3a'openskills read 'r-data-analysis-msh3ut3a'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/r-data-analysis-msh3ut3a/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.
Créer des cartes interactives avec kepler.gl
Data & IA
Création de cartes interactives et export HTML autonome avec le package Python keplergl, à partir de données géospatiales (DataFrame, GeoJSON, CSV).
Optimisation de paramètres par agent
Data & IA
Guide d'optimisation de systèmes configurables avec objectif mesurable, via des essais bornés et une recommandation fondée sur des preuves.
Relance des visiteurs ICP
Data & IA
Identifiez les utilisateurs inscrits correspondant au profil client idéal mais qui n'ont pas activé, et rédigez des messages de relance personnalisés pour les réengager.