Agent skill

Install Check

by RLinf in RLinf/RLinf

Check, fix, or extend requirements/install.sh and its docker/Dockerfile coverage when adding a new embodied model or environment in RLinf, so the install logic reuses common utilities, keeps system…

Apache-2.0Auto-check passedDevOps & Cloud

Install Install Check

skills CLI
$ npx skills add RLinf/RLinf --skill install-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RLinf/RLinf install-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RLinf/RLinf.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/install-check .claude/skills/install-check && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
install-check
GitHub stars
5.5k
Token cost
~2.3k tokens
SKILL.md length
1,082 words
Files
2
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Check, fix, or extend requirements/install.sh and its docker/Dockerfile coverage when adding a new embodied model or environment in RLinf, so the install logic reuses common utilities, keeps system…

  • Works in 9 steps: Reuse common utilities — don't rebuild… → A model has one install__model() that… → System packages go in… → …
  • Cleaning up an installmodel
  • SKILL.md covers Run the check (start here), The conventions, Common utilities to reuse (in… and Workflow, plus 3 more sections
  • Runs Shell scripts from its folder; calls uv, bash and git

What it does

Install Check is an agent skill from RLinf/RLinf. Check, fix, or extend requirements/install.sh and its docker/Dockerfile coverage when adding a new embodied model or environment in RLinf, so the install logic reuses common utilities, keeps system deps in sysdeps.sh, pins/forks git deps, avoids ad-hoc pyproject/core-dep hacks, and every new model/env gets a matching Dockerfile build stage. Use when writing or cleaning up an installmodel or installenv function, fixing a flaky or non-portable install path, or reviewing an install.sh / Dockerfile diff for…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `check.sh`).

It sits in DevOps & Cloud, covering Containers. It works with Docker and Git. The repository describes itself as: RLinf: Reinforcement Learning Infrastructure for Embodied and Agentic AI. The licence is Apache-2.0.

When your agent uses it

  • Cleaning up an installmodel
  • Installenv function
  • Non-portable install path
  • Reviewing an install.sh / Dockerfile diff for convention compliance

Example prompts

  • “/install-check”

Requirements

  • Python 3
  • A Bash shell
  • Docker

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Reuse common utilities — don't rebuild them. Clone with
  2. A model has one install__model() that cases on $ENV_NAME and
  3. System packages go in requirements/embodied/sys_deps.sh, never
  4. Pin every git dependency to a commit/tag/branch (@ or `-b
  5. Don't touch RLinf's own pyproject.toml from install.sh except through
  6. Don't override core deps (ray, and avoid loose torch pins). Before
  7. Every new model/env install needs a matching docker/Dockerfile change.
  8. Keep it clean and simple. Prefer a small case branch that calls shared
  9. When uncertain, ask. If you can't tell whether an override is required,

What it can do on your machine

Read from SKILL.md and the folder at commit e27e631. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • uv
    • bash
    • git
    • apt-get

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Install Check loads about 2.3k tokens when it runs. Until then it costs about 138 tokens; SKILL.md has 1,082 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~138
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from RLinf/RLinf at commit e27e631, republished under its Apache-2.0 licence (© RLinf). 1,082 words, ~2,291 tokens.

Download SKILL.mdSave it as .claude/skills/install-check/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
install-check
description
Check, fix, or extend requirements/install.sh and its docker/Dockerfile coverage when adding a new embodied model or environment in RLinf, so the install logic reuses common utilities, keeps system deps in sys_deps.sh, pins/forks git deps, avoids ad-hoc pyproject/core-dep hacks, and every new model/env gets a matching Dockerfile build stage. Use when writing or cleaning up an install_*_model or install_*_env function, fixing a flaky or non-portable install path, or reviewing an install.sh / Dockerfile diff for convention compliance.

Install check: install.sh + Dockerfile conventions for a new model/env

requirements/install.sh installs every embodied model + env combo, and docker/Dockerfile builds an image per target. New contributions tend to copy-paste an existing block and hack it until it works on one machine — re-cloning repos by hand, apt-get-ing a package, pinning ray, sed-ing pyproject.toml, and forgetting the Dockerfile entirely. This skill is the convention checklist plus a linter that flags those anti-patterns.

Sibling skill: add-install-docker-ci-e2e wires up a new model/env (register, Dockerfile stage, CI jobs). This skill checks the quality of the install function and that the Dockerfile keeps up.

All paths below are relative to the repo root.

Run the check (start here)

The harness is check.sh. Run it before and after editing requirements/install.sh or docker/Dockerfile:

bash
bash .agents/skills/install-check/check.sh

It scans the install script for each convention, then verifies every model in SUPPORTED_MODELS and env in SUPPORTED_ENVS has a matching --model / --env install invocation in docker/Dockerfile. It prints line numbers + fix hints and exits non-zero if anything is flagged. Paths can be passed explicitly:

bash
bash .agents/skills/install-check/check.sh requirements/install.sh docker/Dockerfile

Heuristics over-report — every hit is a line to review, not an automatic bug. Some are legitimate exceptions (see Gotchas). The goal when fixing is: each flagged item is either resolved or consciously kept with a one-line reason.

The conventions

  1. Reuse common utilities — don't rebuild them. Clone with clone_or_reuse_repo, install flash-attn with install_flash_attn, apex with install_apex, base deps with install_common_embodied_deps. If a utility almost fits, enhance the utility, don't fork a near-duplicate.
  2. A model has one install_<model>_model() that cases on $ENV_NAME and calls the matching install_<env>_env(). An env with no model is installed through install_env_only (add a branch there).
  3. System packages go in requirements/embodied/sys_deps.sh, never apt-get/dnf/yum/pacman inside install.sh. sys_deps.sh covers apt/dnf/yum/pacman — add the package to every install_deps_<mgr> function so all distros are handled.
  4. Pin every git dependency to a commit/tag/branch (@<rev> or -b <branch>), or fork it into github.com/RLinf/<repo>. No floating main.
  5. Don't touch RLinf's own pyproject.toml from install.sh except through apply_torch_override. If an override pin conflicts with a dependency you're installing, cd/pushd into that dependency's checkout and install from there (editing the cloned repo's pyproject after cd is fine).
  6. Don't override core deps (ray, and avoid loose torch pins). Before adding a uv pip install x==y, check whether the common embodied/agentic deps or pyproject.toml already provide it. Fewer overrides = fewer cross-env breakages.
  7. Every new model/env install needs a matching docker/Dockerfile change. Adding a model to SUPPORTED_MODELS or env to SUPPORTED_ENVS (and its install_* function) is not complete until docker/Dockerfile has a build stage that installs it. Add base-image-embodied-<target>, a FROM embodied-common-image AS embodied-<target>-image stage, the RUN bash requirements/install.sh … --model <m> --env <e> line, and the default-venv .bashrc line. (See add-install-docker-ci-e2e for the full stage + CI pattern.)
  8. Keep it clean and simple. Prefer a small case branch that calls shared helpers over a long bespoke block of sed/uv pip hacks.
  9. When uncertain, ask. If you can't tell whether an override is required, whether to fork-vs-pin, or whether a target genuinely needs a Docker image — surface the question instead of guessing.

Common utilities to reuse (in install.sh)

NeedUseDon't
Clone a repoclone_or_reuse_repo ENV_VAR DEFAULT_DIR URL [git args…] (reuse via *_PATH, mirror prefix, corruption re-clone)raw git clone
flash-attninstall_flash_attn (platform-aware, prebuilt wheels, source fallback)hand-built wheel URLs
apexinstall_apexbuilding apex inline
venv + base synccreate_and_sync_venv then install_common_embodied_depsre-implementing uv venv / uv sync
torch version change--torch flag → apply_torch_overridesed on pyproject.toml
system libs / EGL / Vulkanrequirements/embodied/sys_deps.sh (+ per-platform render config)apt-get, writing ICD json inline
CUDA / ROCm detectiondetect_cuda_major_minor, detect_rocm_versionre-parsing nvcc/rocminfo
mirror-aware gitGITHUB_PREFIX prefix + setup_mirrorhardcoding mirror URLs

Workflow

Adding an env to a model: add a branch to the model's case "$ENV_NAME": create_and_sync_venv → install_common_embodied_deps → install_<env>_env (+ install_flash_attn if the model needs it). Register the env name in SUPPORTED_ENVS. Then add the Dockerfile stage (Req 7).

Adding a model: add install_<model>_model() (case on $ENV_NAME), a case "$MODEL" branch in main(), and the name in SUPPORTED_MODELS. Put model-specific pip pins in requirements/embodied/models/<model>.txt rather than inline when there are more than a couple. Then add the Dockerfile stage.

Env with no model: add a branch in install_env_only.

After editing, run the check and resolve/annotate every new hit, then syntax-check both files:

bash
bash -n requirements/install.sh && echo "syntax OK"
Show full SKILL.md (384 more words)Show less

Gotchas (real findings from the current tree)

  • apt-get install git-lfs inside install_gr00t_n1d6_model (around line
    1. is exactly the Req-3 violation: git-lfs should be added to sys_deps.sh across all four package managers, not apt-get-ed inline (which breaks on non-Debian hosts).
  • torch== pins: behavior is fine, genesis is a real candidate. install_behavior_env pins torch==2.5.1 but wraps it in pushd ~ … popd — installing from ~ so RLinf's pyproject overrides don't apply (sanctioned). install_genesis_env pins torch==2.8.0 inline with no cd — review it. Same Req-6 flag, opposite verdicts — read the context.
  • A clone can be "pinned later." NVIDIA/Isaac-GR00T is cloned unpinned but the function then does git checkout 7d5a455… — effectively pinned. The linter still flags the clone line; acceptable. Prefer pinning at the clone_or_reuse_repo call when possible.
  • The franka catkin workspace uses raw git clone for three ROS repos building one workspace — a genuine multi-repo build, not a single dep. Keep it.
  • Editing a cloned repo's pyproject.toml (gr00t's peft pin) is fine because it happens after cd "$gr00t_path". The linter can't tell whose pyproject it is — confirm it's not RLinf's.
  • Docker coverage gaps are real. The check currently flags models gr00t_n1d6, dreamzero, qwen3_vl and envs genesis, habitat, xsquare_turtle2 as having no Dockerfile stage. New additions like these should get one. A handful of utility/real-robot targets (dummy, d4rl, gim_arm, dosw1) intentionally have no image — keep them out consciously, don't let the gap pass silently.

Gotchas (about the harness)

  • It's grep/awk static analysis: it cannot see runtime cd, so it can't always tell a sanctioned cloned-repo edit from an RLinf-pyproject edit. Read the surrounding function.
  • Docker matching is by --model <name> / --env <name> with a name boundary, so --env libero won't match --env liberopro and --env franka; (trailing ;) still matches. If you wire a target in via a non-standard invocation, the check may report a false gap.
  • The ANSI bold headers come out as escape codes when piped; strip with sed 's/\x1b\[[0-9;]*m//g' if you need plain text.

When to stop and ask

Ask the user (Req 9) when: a needed dep genuinely conflicts with a core pin and neither fork-vs-pin nor a cd workaround is obviously right; a model's set of supported envs is unclear; or whether a new target should ship a Docker image at all. Don't silently pick — a wrong pin or a missing image breaks installs/CI for every other env.

© RLinf, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/install-check of RLinf/RLinf.

  • SKILL.md
  • check.sh

Open the folder on GitHubat commit e27e631

Compare with similar skills

Install Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Install Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Install Check this skillRLinf/RLinf5.5k—~2.3kAutomated safety check: PassApache-2.0
Ssh Skillbadseal/ssh-skill536—~2.4kAutomated safety check: NotesNone
Crabbox Quickstartopenclaw/crabbox1.5k—~1.6kAutomated safety check: NotesMIT
Rtk Skillsopaco/deepwiki-rs3.1k—~1.4kAutomated safety check: PassMIT
Checkopenwpm/OpenWPM1.4k—~1.5kAutomated safety check: PassCustom licence
Pluggedin Stack OpsVeriTeknik/pluggedin-app103—~1.3kAutomated safety check: NotesMIT

Similar skills

  • Ssh Skill

    badseal/ssh-skill

    A skill your agent uses when a task requires SSH or SCP/SFTP behavior, a remote server, server alias/IP/hostname/user@host, bastion or jump-host access, remote command execution, upload/download…

    536 GitHub stars~2.4k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check: notes
  • Crabbox Quickstart

    openclaw/crabbox

    Gets you running your repository's tests in a disposable Docker or Podman container on your own machine with Crabbox, with no account and no cloud spend.

    1.5k GitHub stars~1.6k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Rtk Skill

    sopaco/deepwiki-rs

    A skill your agent uses when running shell commands that produce verbose output (git, test, build, lint, package managers, docker).

    3.1k GitHub stars~1.4k tokensUpdated 24 days ago
    DevOps & CloudAuto-check passed
  • Check

    openwpm/OpenWPM

    A skill your agent uses to check on background feature agents launched via /kickoff — running in tmux sessions or docker/podman containers.

    1.4k GitHub stars~1.5k tokensUpdated 3 days ago
    DevOps & CloudAuto-check passed
  • Pluggedin Stack Ops

    VeriTeknik/pluggedin-app

    A skill your agent uses when deploying, restarting, verifying or rolling back the containerised plugged.in production stack, when the site returns 404 or 5xx after a deploy or git operation, or when…

    103 GitHub stars~1.3k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • Demo Local Rollout

    carverauto/serviceradar

    Build unpublished sha-... An agent skill from carverauto/serviceradar.

    921 GitHub stars~4.2k tokensUpdated today
    DevOps & CloudAuto-check passed

More from RLinf/RLinf

All 9 skills in this repo
  • Adds example documentation for a new model or environment in RLinf (RST pages in the docs gallery for both English and Chinese).

    5.5k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Adds a new publication page to the RLinf Sphinx docs (EN + ZH) and wires it into the Publications index/toctree.

    5.5k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Create PR

    RLinf/RLinf

    Open a GitHub pull request for RLinf, or fix an existing one — checks the PR title against Conventional Commits, writes a precise description that follows .github/PULLREQUESTTEMPLATE.md, and lints…

    5.5k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Docs Check

    RLinf/RLinf

    Cross-check RLinf documentation against code, natural explanation flow, and other docs, including English-Chinese parity.

    5.5k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Test Install

    RLinf/RLinf

    Test that requirements/install.sh works for an embodied model/env by building its venv and running the matching CI e2e test.

    5.5k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Adds install command in install script, Docker build stage in Dockerfile, and CI jobs for docker build and embodied e2e test when introducing a new model or environment in RLinf.

    5.5k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Install Check

What does Install Check do?

Check, fix, or extend requirements/install.sh and its docker/Dockerfile coverage when adding a new embodied model or environment in RLinf, so the install logic reuses common utilities, keeps system…. Install Check is an agent skill from RLinf/RLinf.sh, pins/forks git deps, avoids ad-hoc pyproject/core-dep hacks, and every new model/env gets a matching Dockerfile build stage.

When should I use Install Check?

Install Check fits situations like: cleaning up an installmodel; installenv function; non-portable install path; reviewing an install.sh / Dockerfile diff for convention compliance.

How do I install Install Check in Claude Code?

Run `npx skills add RLinf/RLinf --skill install-check -a claude-code`. Or copy the skill folder (.agents/skills/install-check in RLinf/RLinf) into .claude/skills/install-check in your project. Claude Code loads it when a task matches its description.

How do I install Install Check in Codex?

Run `npx skills add RLinf/RLinf --skill install-check -a codex`. Or copy the skill folder (.agents/skills/install-check in RLinf/RLinf) into .agents/skills/install-check in your project. Codex loads it when a task matches its description.

Can I use Install Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RLinf/RLinf --skill install-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/install-check, .gemini/skills/install-check, .github/skills/install-check and .opencode/skills/install-check in your project.

What does Install Check need to run?

Going by SKILL.md and its folder, Install Check needs a shell for the scripts in its folder and the command-line tools its instructions call (uv, bash, git and apt-get). Our summary lists: Python 3; A Bash shell; Docker.

Does Install Check access the network?

SKILL.md contains no URLs. Its commands use uv and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Install Check safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Install Check use?

Install Check is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Install Check use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Install Check?

Skills that share tags, products or a category with Install Check: Ssh Skill (badseal/ssh-skill, 536 stars), Crabbox Quickstart (openclaw/crabbox, 1.5k stars), Rtk Skill (sopaco/deepwiki-rs, 3.1k stars) and Check (openwpm/OpenWPM, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Install Check?

RLinf (a GitHub organization) maintains it in RLinf/RLinf, which has 5,457 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.

Source: RLinf/RLinf on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.