version-control-research

Set up Git and DVC workflows for reproducible research pipelines.

33|6|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill version-control-research
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: version-control-research
Source: https://github.com/xjtulyc/awesome-rosetta-skills/tree/main/skills/00-universal/version-control-research
Command: npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill version-control-research

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires dvc, pre-commit, python-dotenv.

What problem does it solve?

This Skill helps you prevent irreproducible research by standardizing how analysis code, datasets, experiments, and configuration are tracked, versioned, and validated across time and collaborators.

Core Features & Use Cases

  • Git branching for research: structure stable paper-linked code (main) versus ongoing work (dev) and isolated experiments (feature/*).
  • DVC data and experiment tracking: track large data, metrics, and parameter changes via dvc.yaml, params.yaml, and dvc exp workflows.
  • Reproducibility CI and safety: run end-to-end dvc repro in GitHub Actions and enforce quality with pre-commit hooks, while keeping secrets out of Git using .env and python-dotenv.
  • Paper-aligned version tagging: apply semantic version tags at submission and revision milestones so published results map to exact code states.

Quick Start

Use the version-control-research Skill to generate a Git + DVC repository setup for your new analysis project, then run the pipeline reproducibility checks in CI.

Frequently Asked Questions about version-control-research

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

FAQPage Schema
How do I make research reproducible with Git and DVC?

To make research reproducible with Git and DVC, you structure stable paper-linked code in `main` branches and track large datasets or metrics changes using `dvc.yaml` and `params.yaml` configurations. This ensures deterministic code and data lineage across collaborators.

What is the best way to track machine learning experiments with DVC pipelines?

The best way to track ML experiments with DVC pipelines is defining multi-stage workflows in `dvc.yaml` and capturing parameter changes in `params.yaml`. Using `dvc exp` workflows allows you to isolate feature branches and version data lineage alongside Git history.

Can I run DVC reproducibility checks in GitHub Actions CI?

Yes, you can run end-to-end `dvc repro` checks in GitHub Actions CI to verify pipeline reproducibility. This automated CI verification enforces quality with pre-commit hooks while keeping configurations secret-safe using `.env` files managed by `python-dotenv`.

Do I need pre-commit and python-dotenv to standardize research version control?

Yes, pre-commit and python-dotenv are required to standardize research version control. Pre-commit hooks enforce code quality and linting, while python-dotenv manages `.env` files to keep secrets out of Git, ensuring deterministic and secret-safe configurations across collaborators.

How does paper-aligned version tagging work for reproducible research?

Paper-aligned version tagging applies semantic version tags at submission and revision milestones. This maps published results to exact code and data states, ensuring that analysis experiments remain perfectly reproducible and verifiable during peer review.

What are the limitations of using Git for data versioning without DVC?

Using Git for data versioning without DVC limits your ability to track large datasets and metrics efficiently. Git handles code and configuration well, but DVC is required to manage multi-stage experiment pipelines, data lineage, and parameter changes without bloating repository history.