name: tzst
description: Use when the user needs to create, extract, flatten, list, test, install, script, or troubleshoot tzst CLI workflows for .tzst or .tar.zst archives, including compression levels, streaming mode, extraction filters, conflict resolution, JSON output, or standalone binary setup, even if they describe the archive task without naming tzst.
tzst
Use this skill for the tzst command-line interface. Default to execution when the user clearly wants a real archive action and the required paths or archive names are already known.
This skill is CLI-only. If the user is asking about Python code such as from tzst import ..., treat that as a general Python library or API documentation task instead of using this skill as the main guide.
When to Use
Use this skill when the user:
- mentions
.tzstor.tar.zstarchives - wants to create, extract, flatten, list, or test a
tzstarchive - needs help installing
tzstor choosing CLI flags - wants machine-readable
tzstoutput for scripting or automation - needs safe conflict handling or extraction filter guidance
Do not use this skill for generic tar, zip, or Python API questions unless tzst is actually part of the request.
Preflight
- Check whether
tzstis available withtzst --versionortzst --help. - If it is missing, prefer one of these installation paths:
uv tool install tzstpip install tzst- a standalone release binary from https://github.com/xixu-me/tzst/releases/latest when the user does not want a Python installation
- Re-run
tzst --versionortzst --helpbefore doing real work.
Workflow
- Decide whether the request is execution or guidance. Requests like "archive these files", "extract this backup", "list what is inside", "test this archive", or "install tzst" are execution intent.
- Choose the command that matches the request:
a,add,createfor archive creationx,extractfor normal extraction with directory structure preservede,extract-flatonly when the user explicitly wants flattened outputl,listfor archive inspectiont,testfor integrity checks
- If the user wants to extract only a few members and the member names are uncertain, list first.
- Load
references/cli-reference.mdwhen you need the command matrix, exact flag names, or copy-paste examples.
Safe Defaults
- Prefer
xovereunless flattening is explicitly requested. - Keep
--filter dataas the default extraction mode. - Use
--filter taronly when the user needs standard tar-style compatibility. - Use
--filter fully_trustedonly when the user explicitly says the archive source is completely trusted. - Keep atomic archive creation enabled. Only reach for
--no-atomicwhen the user explicitly wants it. - Prefer
--streamingfor large archives or memory-constrained environments. - For automation or pipelines, prefer
tzst --json --no-banner .... - For automated extraction, require an explicit non-interactive
--conflict-resolutionchoice such asreplace_all,skip_all, orauto_rename_all. - Do not combine
--jsonwith interactive conflict prompting.
Scripting Notes
- Put global flags before the subcommand in examples, such as
tzst --json --no-banner l archive.tzst. - Use exit codes in scripts:
0for success,1for operation errors,2for argument parsing errors, and130for interruption. - When archive naming matters, tell the user that
tzstmay normalize a creation target to.tzstor.tar.zst.
Common Mistakes
- Using
ewhen the user expected the original directory structure to be preserved - Recommending
fully_trustedfor archives from an unknown or untrusted source - Forgetting an explicit conflict strategy for non-interactive extraction
- Treating a Python API question as a CLI question
- Guessing flags from
tarhabits instead of checking the bundled reference or the installed CLI help