Routes reliable Hugging Face Hub CLI and shell automation, including hf output modes, authentication, file movement, repository and catalog operations, hosted jobs, extensions, and agent-skill generation. Use for hf command selection, JSON or quiet parsing, login and token handling, dry-run or confirmation planning, extensions, or compatible CLI skills.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill cli-and-automation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cli And Automation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-cli-and-automation)More formats (shields.io, HTML) on the badges page.
---
name: cli-and-automation
description: "Routes reliable Hugging Face Hub CLI and shell automation, including hf output modes, authentication, file movement, repository and catalog operations, hosted jobs, extensions, and agent-skill generation. Use for hf command selection, JSON or quiet parsing, login and token handling, dry-run or confirmation planning, extensions, or compatible CLI skills."
disable-model-invocation: true
license: Apache-2.0
metadata:
disco-role: operating
---
# CLI and Automation
Use this sub-skill when a researcher needs to select, explain, or safely
automate the `hf` command-line interface. Treat the installed executable's
`--help` as the release-specific authority: the generated CLI surface changes
with the installed `huggingface_hub` version.
## Trigger routes
Load this skill for:
- “what `hf` command/flag should I use?” and shell scripts around the Hub;
- human, JSON, quiet, or agent output, `jq`/pipeline parsing, or stderr hygiene;
- login, token selection, `HF_TOKEN`, auth state, or non-interactive operation;
- downloads, uploads, `hf cp`, bucket sync, URI/revision/type selection, or
dry-run/plan/apply review;
- repos, branches, tags, models, datasets, Spaces, cards, search, papers,
discussions, webhooks, cache, endpoints, buckets, Jobs, or sandboxes;
- trusted CLI extension install/update/remove/dispatch or extension authoring;
- `hf skills add`, `update`, `preview`, marketplace skills, or the implicit
skill freshness check.
## First route: establish the executable
Read [CLI reference](references/cli-reference.md) before using a detailed
flag. Run only safe probes first:
```bash
command -v hf && hf --help
hf version
hf --version
```
`hf` is the supported entry point. `huggingface-cli` is a deprecated entry
point and may warn and exit instead of providing the old CLI. `tiny-agents` is
a separate MCP/agent CLI, not an alias for `hf`; inspect it with
`tiny-agents --help` and do not infer its syntax from this skill. If the
commands resolve to different installations, report the paths and use the
one intended by the current environment.
## Safe operating loop
1. Classify the request as read-only, local-only, Hub mutation, or hosted
compute. Ask for the target namespace/repo and permission when a mutation
is intended; placeholders are not authorization.
2. Check `hf <group> --help` and then `hf <group> <command> --help` for the
installed version. Do not copy a flag from an older generated reference
without checking help.
3. Select an explicit output mode for scripts. Parse **stdout only**; keep
stderr visible for warnings, hints, errors, and progress diagnostics.
4. Supply credentials through the environment or a supported secret-file
mechanism. Never print, echo, log, commit, or put a token in a URL.
5. For movement or deletion, preview first (`--dry-run`, `--plan`, or a
read-only list), inspect the exact target and action set, then obtain
confirmation before applying.
6. Pin `--repo-type`/`--revision` or encode them in one `hf://` URI. Never
combine URI-encoded type/revision/path with duplicate positional/options.
7. Check exit status. For Jobs and Spaces, a streamed log ending is not proof
of success; inspect or wait for the terminal status.
8. Record the command, selected version, output mode, target, and whether the
operation was previewed. Redact credentials from logs.
## Progressive disclosure
- Use [CLI reference](references/cli-reference.md) for the command catalog,
verified flags, aliases, output semantics, URI rules, safety boundaries, and
the `skills`/extensions surface.
- Use [automation workflows](references/automation-workflows.md) for safe
stdout/stderr pipelines, download dry runs, bucket plan/apply, job control,
and mutation gates.
- Use [API reference](references/api-reference.md) only when output or the
lightweight Click-compatible framework explains a surprising CLI behavior.
- Use [development](references/development.md) when generated CLI docs,
static imports, or release-surface drift is involved.
- Use [troubleshooting](references/troubleshooting.md) for installation,
auth, parsing, URI, network, extension, and generated-doc failures.
- Run the bundled read-only [help checker](scripts/check_cli_help.py) when
entry-point health or a bounded help smoke test is useful. It accepts only a
trusted executable named `hf`, bounded timeouts/probe counts, and exact
allowlisted built-in command paths with no arguments; every invocation ends
in `--help`. It never invokes a mutating command and always disables startup
update checks for its child processes.
## Routing map
| Need | Route |
|---|---|
| Format, parse, auth, shell safety | CLI reference → automation workflows |
| Download/cache/read path | `downloads-and-storage` sibling, then this skill for CLI flags |
| Upload, repo CRUD, branches/tags, discussions | `hub-operations` sibling, with this skill for command routing |
| Models/datasets/Spaces catalog or cards | this skill; route inference endpoint details to its sibling |
| Jobs, sandboxes, buckets, cloud storage | this skill; use dry-run/plan gates |
| Python API rather than a terminal command | the relevant sibling/API skill |
This sub-skill does not replace the sibling operating skills for detailed
Python APIs, inference behavior, cache internals, or Hub mutation policy. It
owns the CLI boundary and automation contract.
## Non-negotiable safety rules
- An example that creates, uploads, deletes, changes visibility, changes a
Space, manages a webhook, installs an extension/skill, launches compute, or
applies a plan is a mutation. Use a clearly marked mutation example only
after target and authorization are confirmed; prefer placeholders.
- `--yes` bypasses a confirmation gate; it does not make the target safe.
Never add it merely to make a script non-interactive.
- `--format json` does not mean every command is non-interactive. In
particular, login's browser/menu flow has restrictions; use an environment
token for automation.
- `hf auth token` intentionally prints a secret. Treat it as a narrow,
deliberate pipe, never as a diagnostic command.
- Do not use `hf cp` for local-to-local or unsupported bucket-to-repo copies;
use the documented alternative. Do not pass a directory to single-file `cp`.
- `hf skills preview` produces generated target-side `hf-cli/SKILL.md`
content. That generated file is distinct from this managed
`huggingface-hub/sub-skills/cli-and-automation/` skill; do not overwrite or
present one as the other.
## Verification targets
A useful route ends with observable evidence: help exits zero; stdout parses
under the selected mode; stderr remains separate; a dry-run/plan reports the
intended actions without payload mutation; refused confirmation exits non-zero;
and a final status command verifies the operation. For the difficult synthetic
case, use a fake CLI/API fixture or help-only invocation to exercise a
`hf download --dry-run --format json` parse, preserve a warning on stderr, and
prove that `hf repos delete` without `--yes` is refused before any delete API
call. Broad production-marked native tests do not establish this end-to-end
shell contract.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!