companion-clis
runpod/runpod-plugins-official
HuggingFace, GitHub, Docker, and AWS CLIs for Runpod workflows.
What is companion-clis?
A collection of four companion command-line tools for managing Runpod workflows: HuggingFace (model downloads), GitHub (repository and release management), Docker (image building and pushing), and AWS S3 (network volume storage). Install only the CLI your task requires.
- Download models from HuggingFace Hub to cache or bake into Docker images
- Manage worker repositories and cut releases on GitHub
- Build, validate, and push Docker images to Docker Hub with proper platform and tagging
- Read and write network-volume storage via Runpod's S3-compatible API
- Handle SSH key setup for GitHub and HuggingFace authentication
- Support Windows via WSL2 for native Linux CLI environments
How to install companion-clis
npx skills add https://github.com/runpod/runpod-plugins-official --skill companion-clis- WSL2 installed on Windows (Linux and macOS have native support)
- HuggingFace token (HF_TOKEN env var or via hf auth login) for HuggingFace CLI
- GitHub SSH key and gh CLI authentication for GitHub operations
- Docker Hub personal access token (not password) for Docker CLI
- Runpod S3 API credentials (user ID and S3 API key from Console) for AWS CLI
How to use companion-clis
- 1.Install the specific CLI you need using the one-time setup guide (e.g., huggingface-setup.md, github-setup.md, docker-setup.md, or aws-setup.md)
- 2.Authenticate with the required credentials for that CLI (token, SSH key, or API credentials)
- 3.Consult the per-tool reference guide in reference/ for command syntax and Runpod-specific usage patterns
- 4.Run the CLI commands as part of your larger Runpod workflow (e.g., hf download, gh release create, docker build --platform=linux/amd64, aws s3 cp)
- 5.Use --help on each CLI for authoritative flags and subcommands beyond the Runpod-specific guidance
Use cases
- Downloading a specific model from HuggingFace and caching it before building a Docker image
- Creating and pushing a new release to GitHub so the Hub indexes the update
- Building a multi-platform Docker image and pushing it to Docker Hub with semantic versioning
- Uploading training data or results to a Runpod network volume using S3 commands
- Repairing ComfyUI workflows by downloading missing models with verified URLs and hashes
- Runpod workers building and deploying containerized applications
- Machine learning engineers managing model artifacts and releases
- DevOps engineers automating image builds and storage workflows
- Developers integrating Runpod infrastructure into CI/CD pipelines
companion-clis FAQ
Install only the CLI your task needs. Each has its own setup guide and credentials; load them independently to keep your environment lean.
Use the standalone hf CLI, not pip install huggingface_hub. The pip package is the older huggingface-cli with different syntax; the standalone hf is the current tool.
The 'latest' tag does not track the newest push, so Runpod workers can silently pull the wrong image. Always use explicit semantic tags (e.g., v1.2.3).
Runpod's S3 API uses your Runpod user ID as the access key and an S3 API key (generated in Console > Settings > S3 API Keys) as the secret. These are not AWS credentials.
If you have an imported ComfyUI workflow whose model filenames lack verified URLs or hashes, route to the ComfyUI model-repair guide in runpod-templates first. Return to companion-clis once the exact HuggingFace repository and file are known.
Full instructions (SKILL.md)
Source of truth, from runpod/runpod-plugins-official.
name: companion-clis description: Companion CLIs for Runpod workflows — HuggingFace, GitHub, Docker, and AWS. Use the ComfyUI model-repair guide in runpod-templates instead when an imported ComfyUI workflow lacks model download metadata. allowed-tools: Bash(hf:), Bash(gh:), Bash(docker:), Bash(aws:), Bash(ssh-keygen:), Bash(ssh-add:), Bash(ssh-agent:*) compatibility: Linux, macOS, Windows metadata: author: runpod version: "1.4.0" # x-release-please-version license: Apache-2.0
Companion CLIs
Four CLIs commonly needed alongside Runpod. Each has its own credentials + command reference in reference/ — plus a one-time <cli>-setup.md for install (only opened if the CLI isn't installed). Load only the one the task needs, not all four.
If the request starts with an imported ComfyUI workflow whose model filenames lack verified URLs or hashes, route to the ComfyUI model-repair guide in runpod-templates. Return here when the exact Hugging Face repository/file is already known and the task is simply to download, cache, or bake that artifact.
| CLI | Use it to | Full reference |
|---|---|---|
hf (HuggingFace) | Download models from the Hub to cache/bake into images | reference/huggingface.md |
gh (GitHub) | Manage worker repos + cut releases (Hub indexes releases) | reference/github.md |
docker | Build/validate/push images to Docker Hub for Runpod to pull | reference/docker.md |
aws (S3) | Read/write network-volume storage over Runpod's S3 API | reference/aws.md |
Each requires credentials before use. Read the per-tool reference for auth steps and commands; install is a separate one-time <cli>-setup.md.
These CLIs are usually one step inside a larger job. For the whole job the verified example is in runpod/golden-paths/README.md — baking vs mounting a model (25), building a minimal image (22), or moving data to a network volume (07).
These are third-party CLIs on their own release trains, so <cli> --help is authoritative
for flags and subcommands — the references here cover the Runpod-specific usage and the
traps, not the tool's full surface. Check --help before reporting that one of them cannot do
something.
Windows: Install WSL2 First
If you are on Windows, install WSL2 before proceeding — it gives you the native Linux environment all these CLIs target. In PowerShell as Administrator, then restart:
wsl --install
Afterward open the Ubuntu app to finish setup, then follow the Linux instructions in each reference.
HuggingFace CLI
Download models locally so they're cached for a Docker build/run. Auth and hf download recipes: reference/huggingface.md (install: reference/huggingface-setup.md).
- Use the standalone
hfCLI, notpip install huggingface_hub(that's the olderhuggingface-cliwith different syntax). - Auth via
hf auth login, orexport HF_TOKEN=hf_...(env var wins over saved token).
GitHub CLI
Manage worker repositories and cut releases. Auth and commands: reference/github.md (install + SSH-key setup: reference/github-setup.md).
- The Hub indexes releases, not commits — every Hub listing update needs a new
gh release create. - One SSH key (
ssh-keygen -t ed25519) registers with both GitHub (gh ssh-key add) and HuggingFace (paste in browser).
Docker
Build, validate, and push images to Docker Hub. Credentials and commands: reference/docker.md (install: reference/docker-setup.md).
- Always build
--platform=linux/amd64— Runpod runs on x86 Linux. - Always use explicit semantic tags; never
latest—latestdoesn't track the newest push, so workers can silently pull the wrong image. - Docker Hub auth uses a personal access token, not your password. For private images, register the credential once in Console → Container Registry Settings.
AWS CLI
Access network-volume storage over Runpod's S3-compatible API (bucket name = network volume ID). Credentials, region rules, and commands: reference/aws.md (install: reference/aws-setup.md).
- Runpod's S3 API, not AWS: access key = Runpod user id (
user_...), secret = S3 API key (rps_...). - S3 API keys are Console-only. No
runpodctl/REST/GraphQL creates them — if they're not already in~/.aws/credentials/env and S3 access is needed, stop and ask the user to generate them (Settings > S3 API Keys). - Every command needs
--region DATACENTER --endpoint-url https://s3api-DATACENTER.runpod.io/(datacenter = the volume's DC, not an AWS region). - For large/many-file transfers with reliable resume, see reference/aws.md → optional resumable volume transfers.
Related skills
More from runpod/runpod-plugins-official and the wider catalog.

flash
Code-first serverless: write Python locally, iterate with hot-reload on remote Runpod GPUs/CPUs, then deploy.

runpod
Router to Runpod skills—pick the right lane for pods, serverless, templates, CLI, or code.

runpod-mcp
Manage Runpod infrastructure—pods, endpoints, jobs, volumes, templates—via structured MCP tool calls.

runpod-migrate
Migrate a codebase from Runpod GraphQL or REST v1 to REST v2 with inventory, rewriting, and verification.

runpod-templates
Reference for Runpod's official prebuilt pod templates (ComfyUI, PyTorch, Ubuntu) — what ships, ports, paths, and first-boot gotchas.

runpod-usage
Runpod concepts and workflows: pods vs serverless, GPU selection, container building, and the agentic development loop.