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