mktemp-d について
mktemp-d は、シェル作業での一時ファイルの扱いを定めるエージェントスキルです。`/tmp` の固定パスではなく、`mktemp -d` でプライベートディレクトリを作成するよう案内します。
主な機能
- 01プライベートな一時ディレクトリを作成
- 02`/tmp` の固定パスを回避
- 03一般的な操作のシェル置換例を提示
活用シーン
- 01一時ファイルの安全な保存先を選択
- 02一意な一時ディレクトリにアーカイブを展開
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ petr-korobeinikov/ skills --skill mktemp-dインストール後、Claude Code で/mktemp-dを入力して読み込まれたか確認します。
詳細
mktemp-d
/tmp 配下に固定パスで一時ファイルやディレクトリを作成しないでください。
必ず mktemp -d でプライベートなディレクトリを割り当て、すべての一時生成物をその中に配置してください。
理由
mktemp -d は、一意でプライベートなディレクトリを返します。
/tmp 配下の固定パスはそうではありません。
同時実行や、以前の実行で残ったデータと衝突する可能性があります。
ルール
論理的なスコープごとに mktemp -d を 1 回実行し、その中にパスを作成します。
tmpdir=$(mktemp -d)
cp something "$tmpdir/input"
do_work > "$tmpdir/output.log"
直接置き換える例
| 使わない例 | 使う例 |
|---|---|
mkdir /tmp/work | work=$(mktemp -d) |
touch /tmp/out.log | work=$(mktemp -d); : > "$work/out.log" |
cmd > /tmp/output | work=$(mktemp -d); cmd > "$work/output" |
tar xf x.tar -C /tmp | work=$(mktemp -d); tar xf x.tar -C "$work" |
ファイルを編集する際に固定された /tmp/... パスを見つけた場合は、同じ編集の中で mktemp -d の慣用形に置き換えてください。
コメント
Markdown 対応