capture-environment

Capture software versions, lockfiles, compiler flags, and RNG seeds for research workflows.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/cameronbracken/waterology-research --skill capture-environment-cameronbracken
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: capture-environment
Source: https://github.com/cameronbracken/waterology-research/tree/main/skills/capture-environment
Command: npx skills add https://github.com/cameronbracken/waterology-research --skill capture-environment-cameronbracken

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Research results in R, Python, and Fortran are hard to reproduce when the exact software environment, package versions, compiler flags, and random seeds that produced them are not recorded. This Skill captures those details without mutating the project's declared dependency setup. ## Core Features & Use Cases - Multi-stack detection: Inspects project files to detect R, Python, and Fortran stacks, then runs the applicable capture path for each language, including mixed projects. - Non-destructive capture: Preserves existing lockfiles such as renv.lock, rv.lock, pixi.lock, and uv.lock, recording versions, seeds, RNG kind, compiler identity, and build flags without upgrading or replacing package managers. - Optional verification: With the --verify flag, restores declared locks in a throwaway environment, compiles Fortran targets, and runs the smallest documented smoke test, reporting UNVERIFIED when runtimes or inputs are restricted. - Use Case: Before archiving a hydrology model run, capture the full computational environment into quality_reports/computational-requirements.md so reviewers can reconstruct the exact toolchain later. ## Quick Start Capture the environment for the project in the current directory and verify it with the --verify flag.

Frequently Asked Questions about capture-environment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I capture a reproducible environment for an R or Python research project?▼

Detect the stack from project files, then record versions, lockfiles, package sources, seeds, and RNG settings without changing dependencies. The capture writes a computational-requirements report plus detailed machine output such as sessionInfo.txt.

How to record Fortran compiler flags for reproducibility?▼

Record the compiler identity and full version, compile and link flags from Pixi tasks, Makefiles, Meson, or CMake, plus linked numerical libraries, OpenMP or MPI versions, and platform architecture. Preserve a command that rebuilds from clean source.

Does environment capture modify my lockfiles or package manager?▼

No. The capture preserves the declared lock approach and never replaces Pixi with pip, adds renv to another R workflow, or upgrades packages. renv::snapshot() runs only with explicit authorization because it mutates renv.lock.

What happens when environment verification cannot run?▼

A missing runtime, network restriction, licensed dependency, or restricted input is reported as UNVERIFIED rather than PASS. Verification uses a throwaway environment and never overwrites the working environment.

Where is the environment capture report written?▼

The report is written to quality_reports/computational-requirements.md unless project guidance sets another evidence location. It references detailed machine output instead of copying hundreds of package lines into the report.