Data Deposit Preparation
Prepare an AEA Data Editor compliant replication package for the sewage-house-prices project.
Input: $ARGUMENTS — output directory (defaults to Replication/).
Project-Specific Context
Pipeline Structure
The project has a 6-layer data pipeline in scripts/R/:
01_data_ingestion/ — Raw data collection (EDM archives, APIs)
02_data_cleaning/ — Format standardisation, geocoding, validation
03_data_enrichment/ — Temporal aggregation, rainfall metrics, dry spill identification
04_feature_engineering/ — Spatial matching (house/rental ↔ spill sites)
05_data_integration/ — Merging historical and API EDM data
06_analysis_datasets/ — Final dataset assembly
Analysis scripts: scripts/R/09_analysis/ (6 subdirectories by approach)
Utilities: scripts/R/utils/
Python scripts: scripts/python/ (river network processing)
Docker pipelines: RiverNetworks/, upstream_downstream/
Data Layout
data/raw/ — Original immutable data (EDM, Land Registry, Met Office, shapefiles)
data/processed/ — Intermediate pipeline outputs (parquet)
data/final/ — Analysis-ready datasets
data/cache/ — Postcode geocoding cache
Key Dependencies
- R packages managed via
renv (renv.lock)
- Python environment via
uv in scripts/python/
- PostGIS via Docker for river network analysis
Workflow
Step 1: Inventory
- Read all scripts in
scripts/R/ and parse data file references
- Read
renv.lock for package versions
- Scan
output/tables/ and output/figures/ for output files
- Read the manuscript (
docs/overleaf/_main.tex) for table/figure references
- Check
scripts/python/ for Python dependencies
Step 2: Analyse Dependencies
- Parse script dependencies (which scripts create files that others load)
- Map the execution order (follows the 6-layer pipeline, then analysis scripts)
- Cross-reference the full execution order documented in
ReadMe.md
Step 3: Assemble Package
Create in Replication/ (or specified directory):
README.md — AEA format:
- Data availability statement (which data is public vs restricted)
- Computational requirements (R version, packages, PostGIS, Python)
- Program descriptions (what each script does)
- Replication instructions (step-by-step)
- Expected runtime
master.R — Runs everything in order:
# Master replication script for "Sewage in Our Waters"
# Estimated runtime: [X hours]
source(here::here("scripts", "R", "01_data_ingestion", "script.R"))
# ... through all layers
source(here::here("scripts", "R", "09_analysis", "subdir", "script.R"))
install_packages.R — If renv is not used:
install.packages(c("tidyverse", "fixest", "modelsummary", ...))
DEPOSIT_CHECKLIST.md — Pre-deposit verification
Step 4: Validate
Run the 10 verification checks (equivalent to /audit-replication):
- Script execution order is correct
- All data file references resolve
- All output files are generated
- Package versions documented
- No hardcoded absolute paths
- Data provenance documented
- README completeness (AEA format)
- Output cross-reference (every table/figure traced to a script)
- Restricted data properly flagged
- Master script runs without modification
Step 5: Present Results
- Package contents — All files in
Replication/
- Script order — Numbered sequence with dependency graph
- Data availability — Public vs restricted datasets
- Verification result — X/10 checks passed
- Deposit steps — openICPSR / Zenodo instructions
Principles
- AEA Data Editor standards are the target. README format, versions, data access statements.
- Don't rename scripts without approval. Present ordering first, let the user decide.
- Thorough data provenance. Every dataset documented with source, access date, and restrictions.
- Test before declaring ready. Always validate after assembly.
- Document restricted data clearly. Land Registry and Zoopla data may have access restrictions.
1---2name: data-deposit3description: Prepare a replication package for the sewage-house-prices project. Generates AEA-compliant README, master script, numbered script order, install script, and deposit checklist. Validates the package against 10 verification checks. This skill should be used when asked to "prepare replication", "data deposit", "create replication package", or "package for submission".4---56# Data Deposit Preparation78Prepare an AEA Data Editor compliant replication package for the sewage-house-prices project.910**Input:** `$ARGUMENTS` — output directory (defaults to `Replication/`).1112---1314## Project-Specific Context1516### Pipeline Structure1718The project has a 6-layer data pipeline in `scripts/R/`:191. `01_data_ingestion/` — Raw data collection (EDM archives, APIs)202. `02_data_cleaning/` — Format standardisation, geocoding, validation213. `03_data_enrichment/` — Temporal aggregation, rainfall metrics, dry spill identification224. `04_feature_engineering/` — Spatial matching (house/rental ↔ spill sites)235. `05_data_integration/` — Merging historical and API EDM data246. `06_analysis_datasets/` — Final dataset assembly2526Analysis scripts: `scripts/R/09_analysis/` (6 subdirectories by approach)27Utilities: `scripts/R/utils/`28Python scripts: `scripts/python/` (river network processing)29Docker pipelines: `RiverNetworks/`, `upstream_downstream/`3031### Data Layout3233```34data/raw/ — Original immutable data (EDM, Land Registry, Met Office, shapefiles)35data/processed/ — Intermediate pipeline outputs (parquet)36data/final/ — Analysis-ready datasets37data/cache/ — Postcode geocoding cache38```3940### Key Dependencies41- R packages managed via `renv` (`renv.lock`)42- Python environment via `uv` in `scripts/python/`43- PostGIS via Docker for river network analysis4445---4647## Workflow4849### Step 1: Inventory50511. Read all scripts in `scripts/R/` and parse data file references522. Read `renv.lock` for package versions533. Scan `output/tables/` and `output/figures/` for output files544. Read the manuscript (`docs/overleaf/_main.tex`) for table/figure references555. Check `scripts/python/` for Python dependencies5657### Step 2: Analyse Dependencies58591. Parse script dependencies (which scripts create files that others load)602. Map the execution order (follows the 6-layer pipeline, then analysis scripts)613. Cross-reference the full execution order documented in `ReadMe.md`6263### Step 3: Assemble Package6465Create in `Replication/` (or specified directory):66671. **README.md** — AEA format:68 - Data availability statement (which data is public vs restricted)69 - Computational requirements (R version, packages, PostGIS, Python)70 - Program descriptions (what each script does)71 - Replication instructions (step-by-step)72 - Expected runtime73742. **master.R** — Runs everything in order:75 ```r76 # Master replication script for "Sewage in Our Waters"77 # Estimated runtime: [X hours]7879 source(here::here("scripts", "R", "01_data_ingestion", "script.R"))80 # ... through all layers81 source(here::here("scripts", "R", "09_analysis", "subdir", "script.R"))82 ```83843. **install_packages.R** — If renv is not used:85 ```r86 install.packages(c("tidyverse", "fixest", "modelsummary", ...))87 ```88894. **DEPOSIT_CHECKLIST.md** — Pre-deposit verification9091### Step 4: Validate9293Run the 10 verification checks (equivalent to `/audit-replication`):941. Script execution order is correct952. All data file references resolve963. All output files are generated974. Package versions documented985. No hardcoded absolute paths996. Data provenance documented1007. README completeness (AEA format)1018. Output cross-reference (every table/figure traced to a script)1029. Restricted data properly flagged10310. Master script runs without modification104105### Step 5: Present Results1061071. **Package contents** — All files in `Replication/`1082. **Script order** — Numbered sequence with dependency graph1093. **Data availability** — Public vs restricted datasets1104. **Verification result** — X/10 checks passed1115. **Deposit steps** — openICPSR / Zenodo instructions112113---114115## Principles116117- **AEA Data Editor standards are the target.** README format, versions, data access statements.118- **Don't rename scripts without approval.** Present ordering first, let the user decide.119- **Thorough data provenance.** Every dataset documented with source, access date, and restrictions.120- **Test before declaring ready.** Always validate after assembly.121- **Document restricted data clearly.** Land Registry and Zoopla data may have access restrictions.