Audit research repositories against the Data and Code Availability Standard (DCAS). Use when checking replication package compliance, preparing journal submissions, reviewing code organization for reproducibility, or validating that a project meets AEA/economics journal standards.
Audit research repositories against the Data and Code Availability Standard (DCAS) to ensure reproducibility and journal compliance.
Activate this skill when the user:
First, understand the project layout:
# Look for common structures
ls -la
ls -la code/ data/ paper/ 2>/dev/null || ls -la scripts/ 2>/dev/null
Common patterns:
code/, data/, paper/analysis/data/, analysis/scripts/, analysis/results/run.do or main.RCheck each DCAS category systematically:
| Rule | Check | How to Verify |
|---|---|---|
| 1 | Data Availability Statement | Search README for "Data Availability" or "Data Access" section |
| 2 | Raw data | Check data/raw/ exists with files or documentation |
| 3 | Analysis data | Check data/analysis/ or equivalent exists |
| 4 | Data format | Verify standard formats: .csv, .dta, .rds, .parquet, .xlsx |
| 5 | Metadata | Look for codebook, variable descriptions, or data documentation |
| 6 | Citations | Check README references all data sources |
# Check data structure
find . -type d -name "raw" -o -name "data" 2>/dev/null
find . -name "codebook*" -o -name "*_codebook*" -o -name "variables*" 2>/dev/null
grep -ri "data availability" README* 2>/dev/null
| Rule | Check | How to Verify |
|---|---|---|
| 7 | Data transformation | Scripts that process raw → analysis data exist |
| 8 | Analysis programs | Scripts that produce results exist |
| 9 | Source format | Code in readable source format (not compiled) |
# Find master scripts
find . -name "run.do" -o -name "run.R" -o -name "main.py" -o -name "master.do" 2>/dev/null
# Check for analysis code
find . -type d -name "analysis" -o -name "scripts" 2>/dev/null
find . -name "*.do" -o -name "*.R" -o -name "*.py" 2>/dev/null | head -20
| Rule | Check | How to Verify |
|---|---|---|
| 10 | Instruments | Survey/experiment docs if applicable |
| 11 | Ethics | IRB approval documented if applicable |
| 12 | Pre-registration | Registry link if applicable |
# Check for supporting documents
find . -type d -name "documents" -o -name "docs" 2>/dev/null
grep -ri "IRB\|ethics\|pre-registration\|registered" README* 2>/dev/null
Must include:
# Check README completeness
cat README.md 2>/dev/null | head -100
# Look for requirements
find . -name "requirements.txt" -o -name "renv.lock" -o -name "*.Rproj" 2>/dev/null
| Rule | Check | How to Verify |
|---|---|---|
| 14 | Location | Archive/DOI documented |
| 15 | License | LICENSE file exists |
| 16 | Omissions | Missing data explained |
# Check license
cat LICENSE 2>/dev/null | head -5
ls LICENSE* 2>/dev/null
* Required in master script:
version 18 // Version statement
set varabbrev off // Prevent abbreviation errors
set seed 12345 // Reproducible randomization
Check for:
version statement at top of master scriptset varabbrev offset seed before any randomizationlibraries/stata/ OR documentedCheck for:
renv.lock file (package versions)set.seed() before randomization# Required for reproducibility:
set.seed(12345)