agentleFS
open-science-pillarsopen-science-pillars/core/skills/reproducibility/SKILL.md

reproducibility

Skill0 starsChanged 53 days agoApache-2.0View on GitHub

CF-compliant metadata, dataset DOIs and citations, provenance history attributes, FAIR outputs, package version capture.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before prescribing metadata or a citation for an output, consult installed knowledge concepts first, as the consult-knowledge skill sets …

    line 14
  2. Distinctive:

    Read the matches, restate what each requires, and cite it by path before writing the file.

    line 19

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

reproducibility

Background expertise for outputs a stranger can trust, cite, and rerun. The report skill's Reproducibility section consumes what this skill prescribes.

Consult the bundle, do not restate it

Before prescribing metadata or a citation for an output, consult installed knowledge concepts first, as the consult-knowledge skill sets out: the concepts that govern this output's metadata contract, its calendar and fill-value handling, and how its source archive is cited (the conventions, the gotchas, and the product's own dataset concept). Read the matches, restate what each requires, and cite it by path before writing the file. None of those facts is carried here.

Provenance: history and exact inputs

Provenance travels with the file. The history global attribute (its CF form is defined in the cf-conventions concept) takes one timestamped line per processing step, newest first, each naming the tool, its version, and the operation:

2026-07-04T19:40:12Z: anomalies vs 1991-2020 monthly climatology;
cos-lat weighted global mean; osp-core analysis_pipeline (xarray 2026.6)

Name the exact inputs somewhere durable (a history line or a source_files attribute): file names, dataset versions or processing baselines, and DOIs. If an input has a checksum or granule ID, record it; "the SST file" is not an input specification.

FAIR outputs, practically

  • Findable: an identifier (DOI when published, stable path otherwise) and metadata rich enough to be discovered without opening the file.
  • Accessible: open formats (NetCDF, Zarr, GeoTIFF, CSV), no bespoke binary blobs.
  • Interoperable: CF names, standard units, documented grids.
  • Reusable: an explicit license, the provenance chain above, and stated caveats (including the uncertainty statement the house rule requires).

Package version capture

  • Record the versions that produced a result: Python plus the load-bearing packages (xarray, dask, numpy, and the domain libraries used), in the output's global attributes and in the report's Reproducibility section.
  • Ship the environment: a pinned environment.yml or lock file beside published analyses; "latest" is not a version.
  • Record random seeds wherever stochastic methods run (bootstrap, Monte Carlo propagation, ML training), and the fixture or subset identity for any published test result.

Hard refusals

These fire on every output, whatever the dataset; they are gates, not advice. The specific attribute list and the per-archive citation details are read from the concepts above, never inlined here.

  • Never ship a result file that lacks its required CF metadata (units, a history line, and Conventions at minimum; the full contract is the cf-conventions concept's). An output whose variables lack units is not a result file, it is a puzzle.
  • Never cite a dataset without its version (or processing baseline) and DOI, and never cite only the descriptor paper when a data DOI exists. The archive-specific details live in the dataset-citations concept.
  • Never publish an analysis against an unpinned environment. "Latest" is not a version.
  • Never leave a stochastic result without its recorded seed.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.