
Env And Assets Bootstrap
Bootstrap conda-first environments plus checkpoints, datasets, and cache paths before a documented reproduction run.
Install
npx skills add https://github.com/lllllllama/ai-paper-reproduction-skill --skill env-and-assets-bootstrapWhat is this skill?
- Conda-first environment policy
- Checkpoint and dataset traceability
- Evidence-ordered asset resolution
Adoption & trust: 140k installs on skills.sh; 412 GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Paper Context Resolverlllllllama/ai-paper-reproduction-skill
Repo Intake And Planlllllllama/ai-paper-reproduction-skill
Minimal Run And Auditlllllllama/ai-paper-reproduction-skill
Analyze Projectlllllllama/rigorpilot-skills
Ai Research Reproductionlllllllama/rigorpilot-skills
Run Trainlllllllama/rigorpilot-skills
Journey fit
Primary fit
Build-stage preparation wires dependencies and external assets so a later smoke or eval command can run against documented assumptions. Integrations subphase covers environment files, downloads, and asset paths rather than application feature code.
Common Questions / FAQ
Is Env And Assets Bootstrap safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Env And Assets Bootstrap
display_name: Rigor Setup short_description: Rigor Setup mode for conservative environment and asset assumptions before a reproduction run. default_prompt: Prepare a conservative conda-first environment plus checkpoint, dataset, and cache assumptions for this README-documented reproduction target before any run. # Assets Policy ## Goal Prepare checkpoints, datasets, and caches conservatively and transparently. ## Order of evidence 1. README links and paths 2. config files and default arguments 3. code-level constants or path joins 4. careful inference from filenames ## Behavior - prefer documented asset sources - preserve source URLs or identifiers when recording downloads - avoid mirroring unofficial files unless the project explicitly points to them - never claim an asset is the canonical one unless the repository or primary paper source supports it ## Common asset groups - model checkpoints - tokenizer files - dataset archives or prepared splits - cache directories - output directories ## Reporting Record: - requested asset - source - target local path - status: present, missing, downloaded, skipped, unknown # Environment Policy ## Default preference Prefer conda or Anaconda-style setup for deep learning research repositories because it is common in research code and helps isolate conflicting dependencies. ## Order of trust 1. README environment instructions 2. repository environment files 3. package metadata files 4. conservative inference from imports or script names ## OS guidance - Linux is the default reference environment. - Support Windows and macOS where practical. - If a repository is clearly Linux-only, record that rather than pretending otherwise. - When virtualenv activation is needed, emit platform-specific commands instead of a fake one-size-fits-all activation step. - Prefer Python entrypoints over shell-only helpers when the same setup logic should run on Windows, macOS, and Linux. ## Dependency handling - prefer existing `environment.yml` - otherwise translate README requirements into a simple conda-plus-pip setup - avoid aggressive upgrades unless needed for a verified fix - record version uncertainty explicitly ## Out of scope by default - container orchestration - cluster schedulers - custom CUDA builds unless clearly required #!/usr/bin/env python3 """Bootstrap a conservative research environment on Windows, macOS, or Linux.""" from __future__ import annotations import argparse import shutil import subprocess import sys from pathlib import Path from typing import Iterable, List, Optional from plan_setup import ENV_FILES, find_first, parse_env_name, venv_activation_commands CONDA_ENV_FILES = {"environment.yml", "environment.yaml", "conda.yml"} def format_command(command: Iterable[str]) -> str: return " ".join(str(part) for part in command) def run_command(command: List[str], *, cwd: Path, dry_run: bool) -> None: print(f"+ {format_command(command)}") if dry_run: return subprocess.run(command, cwd=cwd, check=True) def choose_manager(preferred: str) -> Optional[str]: if preferred != "auto": if shutil.which(preferred): return preferred raise FileNotFoundError(f"Requested manager `{preferred}` was not found on PATH.") for candidate in ["conda", "mamba"]: if shutil.which(candidate): return candidate return None def venv_python(env_dir: Path) -> Path: if sys.platform.startswith("win"): return env_dir / "Scripts" / "python.exe" return env_dir / "bin" / "python" def print_activation_instructions(env_name: Optional[str], using_conda: bool) -> None: if using_conda: target = env_name or "<env-name>" print(f"Activate with: conda activate {target}") return print("Activate the virtualenv with one of:") for item in venv_activation_commands(): platforms = ", ".join(item.get("platforms", [])) print(f" [{platforms}] {item['comman