mcpField
M
mktemp-d

mktemp-d

github.com/petr-korobeinikov开发164 次安装2 天前更新
代码仓库

关于 mktemp-d

mktemp-d 是规范 Shell 临时文件处理方式的 Agent 技能,要求使用 `mktemp -d` 创建私有目录,而不是在 `/tmp` 下使用固定路径。

主要功能

  1. 01创建私有临时目录
  2. 02避免使用固定的 `/tmp` 路径
  3. 03提供常见操作的 Shell 替换示例

适用场景

  1. 01为临时文件选择安全位置
  2. 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,然后在其中构建路径:

tmpdir=$(mktemp -d)

cp something "$tmpdir/input"
do_work > "$tmpdir/output.log"

直接替换

不要应当
mkdir /tmp/workwork=$(mktemp -d)
touch /tmp/out.logwork=$(mktemp -d); : > "$work/out.log"
cmd > /tmp/outputwork=$(mktemp -d); cmd > "$work/output"
tar xf x.tar -C /tmpwork=$(mktemp -d); tar xf x.tar -C "$work"

如果编辑文件时遇到硬编码的 /tmp/... 路径, 请在同一次编辑中将其替换为 mktemp -d 的惯用写法。

评论

支持 Markdown