ai-research-reproduction
Purpose
Guide README-first deep learning reproduction toward a minimal trustworthy run
with auditable evidence. Reproduction is not "make it run by changing
anything"; faithfully read the README, environment, weights, datasets, and
documented commands, then record results and deviations. Start with
references/agent-operating-principles.md; load
references/research-rigor-principles.md and
references/deep-learning-experiment-principles.md when scientific meaning or
experiment details are at stake.
The deterministic entrypoint is scripts/orchestrate_repro.py. It includes a
self-contained _bundled/ runtime, so this skill works when installed alone;
separately installed companion skills remain optional reusable entrypoints.
Executed commands persist lifecycle state, append-only events, and full streamed
stdout/stderr under repro_outputs/_runtime/<run_id>/. A CANCEL file in the
active run directory requests process-tree cancellation.
For recovery, queues or model gates, read references/runtime-and-model-adapter.md; for the optional model/tool loop, read references/agent-runner.md and use scripts/run_agent.py.
Fit
Use this skill when all are true:
- The target is an AI code repository with a README, scripts, configs, or
documented commands.
- The request spans multiple trusted phases such as intake, setup, execution,
training verification, analysis, paper-gap resolution, and reporting.
- The desired result is a small reproducible target, not broad experimentation.
Do not use this skill for paper summaries, generic environment setup, isolated
repo scanning, standalone command execution, open-ended research design, or
explicit candidate-only exploration.
Trusted Target Selection
Choose the smallest target that can honestly demonstrate repository-grounded
reproduction:
- documented inference
- documented evaluation
- documented training startup or partial verification
- full training only after explicit user confirmation
Treat README guidance as the primary reproduction intent. Use repository files
to clarify the README, not to silently replace it. When the README and paper
conflict, record the conflict and use paper-context-resolver only for the
narrow reproduction-critical gap.
Workflow
- Read the README and nearby repo signals.
- Run the bundled
repo-intake-and-plan stage to extract commands and targets.
- Select and justify the minimum trustworthy target.
- Run
env-and-assets-bootstrap only for target-specific environment,
checkpoint, dataset, and cache assumptions.
- Run
analyze-project only when structure, insertion points, or suspicious
implementation patterns need read-only clarification.
- Use
minimal-run-and-audit for documented inference, evaluation, smoke, or sanity execution. Keep direct execution as the default; native shell syntax requires explicit review and authorization.
- Use
run-train instead when the selected trusted target is training startup,
short-run verification, full kickoff, or resume.
- Pause for human review before fuller training claims or any change that could
alter dataset, split, checkpoint, preprocessing, metric, loss, model
semantics, or result interpretation.
- Award
result-match only when explicit expected metrics are compared under a recorded tolerance; observed metrics alone prove execution, not reproduction. Then write the standardized outputs and a concise final note in the user's language when practical.
Patch Boundary
Prefer no repository edits. If edits are needed, keep them conservative and
auditable:
- Try command-line arguments, environment variables, path fixes, dependency
version fixes, or dependency-file fixes before code changes.
- Reproduction fixes are allowed when needed, but they must not be hidden. State
what changed, why it was necessary, whether it changes scientific meaning,
and whether it affects comparability with the paper, README, or baseline.
- Avoid changing model architecture, core inference semantics, training logic,
loss functions, or experiment meaning.
- If repository files must change, create a branch named
repro/YYYY-MM-DD-short-task, keep verified patch commits sparse, and record
README-fidelity impact in PATCHES.md.
See references/patch-policy.md.
Outputs
Always target repro_outputs/:
SUMMARY.md
COMMANDS.md
LOG.md
SCIENTIFIC_CHANGELOG.md
COMPARABILITY_REPORT.md
status.json
ANNOTATED_README.md # original README + colored per-section agent-action annotations
PATCHES.md # only if patches were applied
Use the templates under assets/ and the field rules in references/output-spec.md.
- Put the shortest high-value summary in
SUMMARY.md.
- Put copyable commands in
COMMANDS.md.
- Put process evidence, assumptions, failures, and decisions in
LOG.md.
- Put scientific meaning and change effects in
SCIENTIFIC_CHANGELOG.md.
- Put comparison anchors and protocol deviations in
COMPARABILITY_REPORT.md.
- Put durable machine-readable state in
status.json.
- Put branch, commit, validation, and README-fidelity impact in
PATCHES.md when needed.
- Put the researcher's at-a-glance view in
ANNOTATED_README.md: the README replayed byte-for-byte—including its image, GIF, video, and HTML markup—with exactly one marked color annotation after every heading block. Never extract a text-only surrogate. Generation must pass the built-in strip/check round trip before the file is kept.
- For original relative media/file context, use
--source-adjacent-readme to also write RIGORPILOT_README.md beside the source README; inspect the reported path/status and never replace an unrelated existing file. See references/output-spec.md.
- Distinguish verified facts from inferred guesses.
Reference Loading
- Load
references/language-policy.md when writing human-readable outputs.
- Load
references/research-rigor-principles.md before making comparability, contribution, or research-result claims.
- Load
references/deep-learning-experiment-principles.md when dataset, split, metric, checkpoint, training, or evaluation details matter.
- Consult
~/.rigorpilot/PERSONAL_RIGOR.md if present, under references/continuous-learning-policy.md (advisory only; core wins).
- Failed and later-resolved runs are auto-recorded as lessons via
shared/scripts/lessons_store.py (RIGORPILOT_LESSONS=0 disables).
- Load
references/research-safety-principles.md before protocol-sensitive
decisions.
- Load
references/patch-policy.md before modifying repository files.
- Keep specialized logic in sub-skills, scripts, templates, or references rather
than expanding this entrypoint.
1---2name: ai-research-reproduction3description: Rigor Reproduce compatible skill slug for README-first deep learning repository reproduction. Use when the user wants an end-to-end, minimal-trustworthy flow that reads the repository first, selects the smallest documented inference or evaluation target, coordinates intake, setup, trusted execution, optional trusted training, optional repository analysis, and optional paper-gap resolution, enforces conservative patch rules, records evidence assumptions deviations and human decision points, and writes the standardized `repro_outputs/` bundle. Do not use for paper summary, generic environment setup, isolated repo scanning, standalone command execution, silent protocol changes, score chasing, or broad research assistance outside repository-grounded reproduction.4---5
6# ai-research-reproduction
7
8## Purpose
9
10Guide README-first deep learning reproduction toward a minimal trustworthy run
11with auditable evidence. Reproduction is not "make it run by changing
12anything"; faithfully read the README, environment, weights, datasets, and
13documented commands, then record results and deviations. Start with
14`references/agent-operating-principles.md`; load
15`references/research-rigor-principles.md` and
16`references/deep-learning-experiment-principles.md` when scientific meaning or
17experiment details are at stake.
18
19The deterministic entrypoint is `scripts/orchestrate_repro.py`. It includes a
20self-contained `_bundled/` runtime, so this skill works when installed alone;
21separately installed companion skills remain optional reusable entrypoints.
22Executed commands persist lifecycle state, append-only events, and full streamed
23stdout/stderr under `repro_outputs/_runtime/<run_id>/`. A `CANCEL` file in the
24active run directory requests process-tree cancellation.
25For recovery, queues or model gates, read `references/runtime-and-model-adapter.md`; for the optional model/tool loop, read `references/agent-runner.md` and use `scripts/run_agent.py`.
26
27## Fit
28
29Use this skill when all are true:
30
31- The target is an AI code repository with a README, scripts, configs, or
32 documented commands.
33- The request spans multiple trusted phases such as intake, setup, execution,
34 training verification, analysis, paper-gap resolution, and reporting.
35- The desired result is a small reproducible target, not broad experimentation.
36
37Do not use this skill for paper summaries, generic environment setup, isolated
38repo scanning, standalone command execution, open-ended research design, or
39explicit candidate-only exploration.
40
41## Trusted Target Selection
42
43Choose the smallest target that can honestly demonstrate repository-grounded
44reproduction:
45
461. documented inference
472. documented evaluation
483. documented training startup or partial verification
494. full training only after explicit user confirmation
50
51Treat README guidance as the primary reproduction intent. Use repository files
52to clarify the README, not to silently replace it. When the README and paper
53conflict, record the conflict and use `paper-context-resolver` only for the
54narrow reproduction-critical gap.
55
56## Workflow
57
581. Read the README and nearby repo signals.
592. Run the bundled `repo-intake-and-plan` stage to extract commands and targets.
603. Select and justify the minimum trustworthy target.
614. Run `env-and-assets-bootstrap` only for target-specific environment,
62 checkpoint, dataset, and cache assumptions.
635. Run `analyze-project` only when structure, insertion points, or suspicious
64 implementation patterns need read-only clarification.
656. Use `minimal-run-and-audit` for documented inference, evaluation, smoke, or sanity execution. Keep direct execution as the default; native shell syntax requires explicit review and authorization.
667. Use `run-train` instead when the selected trusted target is training startup,
67 short-run verification, full kickoff, or resume.
688. Pause for human review before fuller training claims or any change that could
69 alter dataset, split, checkpoint, preprocessing, metric, loss, model
70 semantics, or result interpretation.
719. Award `result-match` only when explicit expected metrics are compared under a recorded tolerance; observed metrics alone prove execution, not reproduction. Then write the standardized outputs and a concise final note in the user's language when practical.
72
73## Patch Boundary
74
75Prefer no repository edits. If edits are needed, keep them conservative and
76auditable:
77
78- Try command-line arguments, environment variables, path fixes, dependency
79 version fixes, or dependency-file fixes before code changes.
80- Reproduction fixes are allowed when needed, but they must not be hidden. State
81 what changed, why it was necessary, whether it changes scientific meaning,
82 and whether it affects comparability with the paper, README, or baseline.
83- Avoid changing model architecture, core inference semantics, training logic,
84 loss functions, or experiment meaning.
85- If repository files must change, create a branch named
86 `repro/YYYY-MM-DD-short-task`, keep verified patch commits sparse, and record
87 README-fidelity impact in `PATCHES.md`.
88
89See `references/patch-policy.md`.
90
91## Outputs
92
93Always target `repro_outputs/`:
94```text
95SUMMARY.md
96COMMANDS.md
97LOG.md
98SCIENTIFIC_CHANGELOG.md
99COMPARABILITY_REPORT.md
100status.json
101ANNOTATED_README.md # original README + colored per-section agent-action annotations
102PATCHES.md # only if patches were applied
103```
104
105Use the templates under `assets/` and the field rules in `references/output-spec.md`.
106
107- Put the shortest high-value summary in `SUMMARY.md`.
108- Put copyable commands in `COMMANDS.md`.
109- Put process evidence, assumptions, failures, and decisions in `LOG.md`.
110- Put scientific meaning and change effects in `SCIENTIFIC_CHANGELOG.md`.
111- Put comparison anchors and protocol deviations in `COMPARABILITY_REPORT.md`.
112- Put durable machine-readable state in `status.json`.
113- Put branch, commit, validation, and README-fidelity impact in `PATCHES.md` when needed.
114- Put the researcher's at-a-glance view in `ANNOTATED_README.md`: the README replayed byte-for-byte—including its image, GIF, video, and HTML markup—with exactly one marked color annotation after every heading block. Never extract a text-only surrogate. Generation must pass the built-in strip/check round trip before the file is kept.
115- For original relative media/file context, use `--source-adjacent-readme` to also write `RIGORPILOT_README.md` beside the source README; inspect the reported path/status and never replace an unrelated existing file. See `references/output-spec.md`.
116- Distinguish verified facts from inferred guesses.
117
118## Reference Loading
119
120- Load `references/language-policy.md` when writing human-readable outputs.
121- Load `references/research-rigor-principles.md` before making comparability, contribution, or research-result claims.
122- Load `references/deep-learning-experiment-principles.md` when dataset, split, metric, checkpoint, training, or evaluation details matter.
123- Consult `~/.rigorpilot/PERSONAL_RIGOR.md` if present, under `references/continuous-learning-policy.md` (advisory only; core wins).
124- Failed and later-resolved runs are auto-recorded as lessons via `shared/scripts/lessons_store.py` (`RIGORPILOT_LESSONS=0` disables).
125- Load `references/research-safety-principles.md` before protocol-sensitive
126 decisions.
127- Load `references/patch-policy.md` before modifying repository files.
128- Keep specialized logic in sub-skills, scripts, templates, or references rather
129 than expanding this entrypoint.
130