From claudecode-research-harness-workflow
Assembles a replication/evidence package after a research review APPROVE verdict, including scripts, logs, cleaned data, tables, figures, and reproducibility report.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claudecode-research-harness-workflow:research-harness-release [--dry-run] [--no-data][--dry-run] [--no-data]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Assemble the complete replication/evidence package after a successful review. This skill requires an `APPROVE` verdict from `/research-harness-review` before it will package any output.
Assemble the complete replication/evidence package after a successful review. This skill requires an APPROVE verdict from /research-harness-review before it will package any output.
A single human confirmation gate precedes all packaging operations.
This skill runs after /research-harness-review (verdict: APPROVE).
| Input | Action |
|---|---|
/research-harness-release | Full replication package assembly |
/research-harness-release --dry-run | List what would be included; do not copy or create the package |
/research-harness-release --no-data | Package without processed data (for confidential data projects) |
reports/review_report.md. If it does not exist, stop.reports/review_report.md. If it is not APPROVE, stop and tell the user: the review must pass before release can proceed.study_spec.md and analysis_plan.md. If either does not exist, stop.cc:done in analysis_plan.md have a corresponding evidence row (script + log + output).If the review verdict is REQUEST_CHANGES or BLOCK: do not proceed. Tell the user to resolve review findings first.
Collect paths for every artifact that will go into the replication package:
Source-of-truth files:
study_spec.mdanalysis_plan.mdReports:
reports/data_audit_report.mdreports/data_cleaning_plan.md (if exists)reports/data_cleaning_report.mdreports/merge_report.md (if merges occurred)reports/review_report.mdScripts: all scripts referenced in analysis_plan.md Evidence Ledger
Logs: all logs referenced in analysis_plan.md Evidence Ledger
Outputs: all tables and figures referenced in analysis_plan.md Evidence Ledger
Cleaned data: data/processed/ files referenced in the cleaning report (skip if --no-data)
Templates used: list only (do not copy templates themselves)
For each artifact, record whether the file exists on disk. Flag missing files as gaps.
Print the full artifact inventory:
Research Harness Release — Confirmation Required
Review verdict: APPROVE
Review report: reports/review_report.md
Artifacts to include:
Source-of-truth:
[x] study_spec.md
[x] analysis_plan.md
Reports:
[x] reports/data_audit_report.md
[x] reports/data_cleaning_report.md
[x] reports/merge_report.md
[x] reports/review_report.md
Scripts (N files):
[x] scripts/clean.R
[x] analysis/main/scripts/main_regression.R
...
Logs (N files):
[x] logs/clean_YYYYMMDD.log
[x] analysis/main/logs/main_regression.log
...
Outputs (N files):
[x] output/tables/table1.csv
[x] output/tables/table2.csv
[x] output/figures/figure1.pdf
...
Cleaned data:
[x] data/processed/analysis_ready.csv [included / excluded with --no-data]
Gaps (files listed in analysis_plan.md but not found on disk):
[list or "none"]
Data access note:
[If --no-data: "Processed data excluded. Add access instructions to reproducibility_report.md."]
[If data included: "Processed data included. Confirm you have permission to share this data."]
Proceed with release? (yes / no)
Wait for user confirmation. Do not proceed without it.
If the user says no: stop. Print: "Release cancelled. No files were packaged."
Copy templates/reproducibility_report.md to reports/reproducibility_report.md.
Fill in all sections:
§1 Software environment: read from script headers (language and package versions mentioned in comments or sessionInfo() / pip freeze output in logs if present; otherwise write unknown)
§2 Scripts: list all scripts from the Evidence Ledger in execution order. Record file name and last-modified timestamp (SHA if git is available).
§3 Data files: list raw data files (with access instructions) and processed data files (with paths). If --no-data, note that processed data is not included and explain how to obtain raw data.
§4 Logs: list all logs from the Evidence Ledger with date run and exit code (read from log header).
§5 Output files: list all tables and figures from the Evidence Ledger.
§6 Verified claims: for each key numerical claim verified during review (from reports/review_report.md §3), list the claim, the reported value, and the log file where it appears.
§7 Unverified items: list any items from reports/review_report.md that were flagged as unverified or advisory, with risk level.
§8 How to reproduce: write step-by-step instructions. Steps must be specific (e.g., "Run Rscript scripts/clean.R from the project root") not generic.
§9 Remaining limitations: copy from reports/review_report.md minor findings and from study_spec.md §7 open questions.
§10 Checklist: fill in each item as checked or explain why it is not applicable.
Create release/ at the project root (or the user-specified path).
Copy all artifacts from Step 1 into release/ preserving the folder structure:
release/
├── study_spec.md
├── analysis_plan.md
├── reports/
│ ├── data_audit_report.md
│ ├── data_cleaning_report.md
│ ├── merge_report.md (if applicable)
│ └── review_report.md
├── scripts/
│ └── clean.R
├── analysis/
│ └── <stage>/scripts/<task>.R
├── logs/
│ └── clean_YYYYMMDD.log
├── analysis/
│ └── <stage>/logs/<task>.log
├── output/
│ ├── tables/
│ └── figures/
├── data/processed/ (omit if --no-data)
└── reports/reproducibility_report.md
Do not include raw data under data/raw/ unless the user explicitly instructs it (and it is not confidential).
After copying:
release/Research Harness Release — Complete
Package location: release/
Total files: N
Verified claims: N
Unverified items: N (see reports/reproducibility_report.md §7)
⚠ Before sharing this package:
- Confirm you have permission to share any data files included
- Confirm data/raw/ contents are not in release/ (unless intended)
- Test reproduction instructions on a clean environment if possible
Reproducibility report: release/reports/reproducibility_report.md
APPROVEdata/raw/ unless the user explicitly approvesreports/review_report.md with verdict APPROVEreports/reproducibility_report.md with all sections filled inrelease/ folder exists and contains all inventoried artifactsAPPROVEreports/reproducibility_report.md written with all sectionsrelease/ folder created and populatedThe release package is complete. Remaining researcher responsibilities (outside harness scope):
release/ folder alongside the paper submissionnpx claudepluginhub maxwell2732/claudecode-research-harness-workflow --plugin claudecode-research-harness-workflowRead-only review of research outputs checking identification, numerical accuracy, causal claims, and reproducibility. Produces a structured report with APPROVE/REQUEST_CHANGES/BLOCK verdict.
Prepares research code repositories for open-source release by auditing sensitive content, ensuring reproducibility via checklists, suggesting standard structures, and generating publication-ready READMEs.
Enforces that every quantitative or methodological claim in academic manuscripts comes from pipeline-generated files, never hand-typed. Activates when editing .qmd, .Rmd, .ipynb, .tex, or .md files containing numbers, statistics, or methodology facts.