tzst について
tzst は、`.tzst` と `.tar.zst` の作成、一覧表示、展開、検証を支援する CLI 向けのエージェントスキルです。安全な展開方法やスクリプト向け出力も案内し、Python API の用途とは区別します。
主な機能
- 01アーカイブの作成・展開・一覧表示・検証
- 02階層を保持した展開とフラット展開
- 03安全な展開フィルターの指定
- 04非対話型の競合処理
- 05自動化向け JSON 出力
活用シーン
- 01`.tzst` アーカイブの作成や展開
- 02内容の確認や整合性の検証
- 03スクリプトでのアーカイブ処理の自動化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ xixu-me/ skills --skill tzstインストール後、Claude Code で/tzstを入力して読み込まれたか確認します。
同梱ファイルreferences/cli-reference.md
詳細
このスキルは、tzst コマンドラインインターフェースを使用する場合に適用します。必要なパスやアーカイブ名がすでにわかっており、ユーザーが実際のアーカイブ操作を明確に希望している場合は、デフォルトで実行します。
このスキルは CLI 専用です。ユーザーが from tzst import ... のような Python コードについて質問している場合は、このスキルを主なガイドとして使わず、一般的な Python ライブラリまたは API ドキュメントに関する質問として扱います。
使用する場合
以下のような場合に、このスキルを使用します。
.tzstまたは.tar.zstアーカイブに言及しているtzstアーカイブの作成、展開、フラット化、一覧表示、テストを希望しているtzstのインストールや CLI フラグの選択に関する支援が必要- スクリプトや自動化で使用する、機械可読な
tzstの出力を希望している - 安全な競合処理や展開フィルターに関するガイダンスが必要
tzst が実際にリクエストに含まれていない限り、一般的な tar、zip、または Python API に関する質問には、このスキルを使用しないでください。
事前確認
tzst --versionまたはtzst --helpを実行し、tzstが利用可能か確認します。- 利用できない場合は、次のいずれかのインストール方法を優先します。
uv tool install tzstpip install tzst- Python をインストールしたくない場合は、https://github.com/xixu-me/tzst/releases/latest からスタンドアロンのリリースバイナリを入手します
- 実際の作業を行う前に、
tzst --versionまたはtzst --helpを再実行します。
ワークフロー
- リクエストが実行かガイダンスかを判断します。 「これらのファイルをアーカイブして」「このバックアップを展開して」「中身の一覧を表示して」「このアーカイブをテストして」「tzst をインストールして」のようなリクエストは、実行の意図を示しています。
- リクエストに合ったコマンドを選択します。
- アーカイブの作成には
a、add、create - ディレクトリ構造を保持した通常の展開には
x、extract - ユーザーが出力のフラット化を明示的に希望している場合に限り
e、extract-flat - アーカイブの検査には
l、list - 整合性チェックには
t、test
- アーカイブの作成には
- ユーザーが一部のメンバーだけを展開したいものの、メンバー名が不明な場合は、最初に一覧を表示します。
- コマンド一覧、正確なフラグ名、またはそのままコピーできる例が必要な場合は、
references/cli-reference.mdを読み込みます。
安全なデフォルト設定
- フラット化が明示的に求められていない限り、
eよりxを優先します。 - デフォルトの展開モードとして
--filter dataを維持します。 - 標準的な tar 形式との互換性が必要な場合に限り、
--filter tarを使用します。 - ユーザーがアーカイブの出所を完全に信頼できると明示した場合に限り、
--filter fully_trustedを使用します。 - アーカイブのアトミックな作成は有効なままにします。ユーザーが明示的に希望した場合に限り、
--no-atomicを使用します。 - 大きなアーカイブやメモリに制約のある環境では、
--streamingを優先します。 - 自動化やパイプラインでは、
tzst --json --no-banner ...を優先します。 - 自動展開では、
replace_all、skip_all、auto_rename_allなど、--conflict-resolutionに明示的な非対話型の選択肢を指定します。 --jsonと対話型の競合確認を併用しないでください。
スクリプトに関する注意事項
- 例では、サブコマンドの前にグローバルフラグを置きます(例:
tzst --json --no-banner l archive.tzst)。 - スクリプトでは終了コードを使用します。成功は
0、操作エラーは1、引数の解析エラーは2、割り込みは130です。 - アーカイブ名が重要な場合、作成先が
.tzstまたは.tar.zstに正規化されることがあるとユーザーに伝えます。
よくある間違い
- 元のディレクトリ構造が保持されるとユーザーが期待しているのに、
eを使う - 出所不明または信頼できないアーカイブに
fully_trustedを推奨する - 非対話型の展開で、明示的な競合処理方法を指定し忘れる
- Python API に関する質問を CLI の質問として扱う
- 同梱のリファレンスやインストール済み CLI のヘルプを確認せず、
tarの使用経験をもとにフラグを推測する
コメント
Markdown 対応