关于 freeing-disk-space
用于调查磁盘占用并规划安全清理可再生成文件的技能。它优先使用所属工具的清理命令,删除前须获批准,并保留用户数据。
主要功能
- 01测量已知缓存位置
- 02调查未列出的磁盘占用
- 03分类清理候选项
- 04删除命令执行前须获批准
- 05保留用户数据和固定版本工具链
- 06清理后重新测量可用空间
适用场景
- 01查找磁盘空间的占用来源
- 02规划清理缓存和可重建文件
- 03保护项目数据的同时释放空间
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bostonaholic/ skills --skill freeing-disk-space安装后在 Claude Code 中输入/freeing-disk-space确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/cache-locations.mdscripts/list-pinned-versions.shmeasure-caches.sh详细介绍
释放磁盘空间
先找出空间用在了哪里,再只删除工具可以重新生成的内容。
规则
- 先获得批准。 显示确切命令以及它会删除什么。在用户批准该命令前,不要运行任何会删除内容的命令。
- 由文件所属工具清理自己的文件。 优先使用
brew cleanup、docker builder prune或xcrun simctl delete unavailable,而不是rm。 - 绝不提议删除用户数据。 报告文档、照片、邮件、设备备份、源代码目录中未提交或未推送的工作、容器卷、虚拟机磁盘和数据库的大小,并留给用户处理。
- 绝不清空废纸篓。 报告其大小,并告诉用户自行清空。
- 保留固定的工具链版本。 删除某个工具链版本前,对每个存放用户项目的目录运行
scripts/list-pinned-versions.sh <workspace>,并保留它列出的所有版本。退出码 64 表示路径不是目录,退出码 69 表示缺少必需工具:报告相应错误。 - 达到目标即停止。 采用用户指定的数值;若用户未指定,则使用
scripts/measure-caches.sh打印的目标。达到目标后停止,并说明跳过了哪些已批准的条目。
找出空间用在了哪里
- 在后台运行
scripts/measure-caches.sh;du可能需要几分钟。 - 它会先打印包含目标的卷信息,然后为每个已知位置打印一行。
- 按原样记录每行的类别、重新生成方式、命令和先关闭项,填入任何
<placeholder>;报告保留项,绝不要提议删除这些项目。 - 若退出码为 1 或 69,报告错误,并手动使用
df -h和du -x测量。退出码 64 表示提供了参数;不带参数重新运行。
然后从主目录开始,用 du -x 逐层检查脚本未列出的目录树,并针对存在的每个工具链检查缓存位置。自行分类这些项目:仅凭路径无法判断其中是否存有用户数据。
将找到的内容与已用空间进行对比。如果有大量空间去向不明,请测量卷根目录、/private/var(或 /var)、其他用户的主目录,以及本地 Time Machine 快照(tmutil listlocalsnapshots /)。如果计划只涉及已用空间的一小部分,务必说明其余空间的去向。
当可用空间少于 5 GB 且工作受阻时,跳过调查:将脚本中不含 <placeholder> 的重新生成条目作为一批操作提出,并一次性请求批准;如果仍未达到目标,再进行调查。
制定计划并执行
将每个候选项分类为 可重新生成(工具会按需补充)、可重建(需要重新构建或下载),或 保留(用户数据、没有工具能重新生成的状态,或被正在运行的进程占用)。只有可重新生成和可重建的候选项可以列入计划。
按从大到小的顺序列出一张表,然后等待批准:
| 路径 | 大小 | 类别 | 重新生成方式 | 命令 |
|---|
标明需要先关闭某些内容的条目,并显示总大小与目标的对比。
每次只运行一条已批准的命令,并在每次运行后通过 df 重新测量。若命令释放的空间远小于该条目的大小,通常表示剩余空间位于虚拟机磁盘或快照中;说明具体是哪一种。报告执行前后的可用空间,以及剩余最大的保留项。
评论
支持 Markdown