本文へ移動
cccskills
無料GitHub で公開

cleanup-tmp-dir

一時領域 (/private/tmp の Claude Code の作業場所・$TMPDIR・dotfiles の tmp/) に溜まったものを bin/tmpclean で数え、消す候補を種類ごとに見せて、ユーザーが承認した plan の古くて使用中でないものだけをゴミ箱へ移す (dotfiles の tmp/ は別の承認を取って make clean-tmp で消す)。

「/tmp を掃除して」「一時ファイルを片付けて」「TMPDIR が溜まっていないか見て」「cleanup-tmp-dir」で発火。消す前に必ず承認を取る。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

cleanup-tmp-dir — 一時領域の掃除

一時領域に件数が溜まると、起動時の削除が長引いて再起動が遅くなるとされる (_claude/CLAUDE.md「一時ファイルの配置」)。 判定と移動は bin/tmpclean だけが行う (本体と守りの一覧・検出しないものは src/tmpclean/README.md)。

🚨 一時領域を自分で rm / mv / find -delete しない。生きているセッションの scratchpad を消すとそのセッションが壊れ、 見分けは tmpclean が層を重ねて行う。浅い場所を直接消す形は PreToolUse の hook (_claude/hooks/deny-tmp-area-rm.sh) が止める。

種類場所扱い
sessionClaude Code の scratchpad (/private/tmp/claude-<uid>/<project>/<session-id>/)tmpclean。既定は 7 日より古いもの
tmpdir$TMPDIR の直下tmpclean。既定は 3 日より古いもの
repo-tmpdotfiles の本体 checkout の tmp/make clean-tmp (既定 30 日)。dotfiles 以外の repo の tmp/ は容量を見せるだけ

$TMPDIR の直下の空の TemporaryDirectory.* (Swift のツールチェーンが残す。issue 851) は、この skill を通さずに SessionStart hook (_claude/hooks/tmpdir-swift-sweep.sh) が 1 日 1 回 tmpclean sweep で消す。手順 2 の数で TemporaryDirectory. が多いときは、 先に ~/.cache/dotfiles-tmpdir-sweep/sweep.log で sweep が走っているか (rc= と removed=) と、last.json に limit があれば それ (消すのを止めている一番古い Swift のツール) を見せる。

手順

  1. 置き場を決める: skill-tmpdir cleanup-tmp-dir が返す絶対パスを <D> とし、以降はリテラルで書く

  2. 数える: tmpclean count > <D>/count-before.txt 2>&1 (読み取りのみ。手順 6 で前後を並べるので残す)。あわせて du -sh <本体>/tmp (<本体> は <D> の 3 つ上の dir)。dotfiles (<本体>/scripts/clean_tmp.sh が在る) なら make -C <本体> clean-tmp DRY_RUN=1 も取る。 それ以外の repo では make clean-tmp を打たず、容量を見せるだけにする (同名の target が DRY_RUN を解釈するとは限らない)

  3. 候補を作る: tmpclean plan -kinds session,tmpdir -out <D> > <D>/plan-out.txt 2>&1; echo rc=$? (何も動かさない)。候補は 1 件 1 行で出るので ファイルに落とし、id: と plan: の行、candidates.<種類>: の件数、kept (<理由>): <件数> を読む。lsof の全体を取るので 30〜60 秒かかる。 rc≠0 なら止まった理由が出力の 止めた: の行にある (rc=2 = 生きている claude を見分けられない等、rc=3 = 実行環境の失敗)。理由を伝えて先へ進まない

  4. 見せて承認を取る: AskUserQuestion で「この plan (ID と種類ごとの件数) を移してよいか」を聞く。選択肢は「移す」と「移さない」。 「移す」の説明に ID・種類ごとの件数・失うもの・移し先 を書く:

    • 失うもの: 終わったセッションの scratchpad (--resume で再開したときの作業ファイル)、$TMPDIR の古いテストの残骸とアプリの一時ファイル
    • 移し先: ~/.Trash/tmpclean-<日時>-<ID>/ (Finder から戻せる。容量はゴミ箱を空にするまで減らない)
    • 所要: 件数 × 0.3 秒 (1 件ごとに lsof を取り直す)。🚨 数万件なら数時間かかる (12 万件で約 8 時間。2026-10-21 実測)。 $TMPDIR と scratchpad だけなら、再起動 (起動時に macOS が消す) の方が早いと添える
    • repo-tmp も扱うなら別の質問にする。🚨 こちらはゴミ箱を経由せず消す (戻せない) と説明に書く。make clean-tmp DRY_RUN=1 の件数と、 grep -rn 'tmp/' <本体>/issues <本体>/_claude で issue や doc が指しているパスを見せる。plan の ID に結び付かないので、承認の直後に打つ

    回答が無い・取れない・「移さない」なら、何も移さずに終える。種類を絞りたいと言われたら、-kinds を変えて手順 3 からやり直す (plan を手で書き換えない)

  5. 移す: 承認された plan だけを tmpclean apply -plan <plan のパス> -approve <ID> -json > <D>/apply-<ID>.json 2> <D>/apply-<ID>.err; echo rc=$? > <D>/apply-<ID>.rc。 候補が数百件を超えるなら Bash ツールの run_in_background で走らせ、完了の通知の後に .rc と .json を読む (1 件ごとに lsof を取り直すので 1 件 0.3 秒ほど。通知そのものは rc を保証しない)。plan は作ってから 1 時間で使えなくなる: rc=2 で「plan が古い」と出たら手順 3 から作り直し、 新しい ID で承認を取り直す (古い ID の承認を流用しない)。 repo-tmp は別の質問で承認されたときだけ、打つ直前に make -C <本体> clean-tmp DRY_RUN=1 を取り直して見せた一覧から増えていないかを確かめ、 make -C <本体> clean-tmp DAYS=30 を打つ (増えていたら、増えた分を見せて承認を取り直す)

  6. 報告する: apply の終了コードで読む。0 = 走り切った / 1 = 移せなかったものがある (JSON の failed) / 2 = 前提の検査で止めた (何も移していない) / 3 = 実行環境の失敗 / 4 = 途中で止めた (一部は移した。止まった理由は JSON の stopped)。3 と 4 は何を移したかを moved-<ID>.jsonl で確かめる。 plan を読む段で止まったとき (古い plan・ID の不一致) は .json が空で、理由は apply-<ID>.err の 止めた: の行にある。 移した件数 (moved)・残した理由ごとの件数 (kept)・移し先を出し、tmpclean count を取り直して count-before.txt と前後を並べる。 何をどこへ移したかは <D>/moved-<ID>.jsonl。手で消すのが続くようなら、溜めている元 (テストの後始末の漏れ) を 1 行で添える

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

audit

無料概要あり

プロジェクト監査。「監査して」「audit」「/audit」で発火。設計/UX/品質/テストなどの観点でコードベース全体を監査し、課題をissuesディレクトリに書き出す。実行ログで重複実行を防止。特定の差分・コミットのレビューには使わない(codex-review / cross-review を使う)。

jiikko/dotfiles22026年10月22日 更新

avfoundation-reference

無料概要あり

AVFoundation (AVPlayer / AVPlayerLayer / AVPlayerItemVideoOutput / AVAsset) の落とし穴・文書化されていない実装挙動・debugging チェックリストを集約した reference skill。Swift / Objective-C で AVPlayer を使った動画再生 / seek / scrub / frame stepping を実装・debug するときに発火。VLCKit ではなく **AVFoundation 系** の問題に特化。

jiikko/dotfiles22026年10月22日 更新

c

無料概要あり

このセッションで行った変更をコミットする。「コミットして」「commit」「/c」で発火。push はしない/クレデンシャルは混入させない。

jiikko/dotfiles22026年10月22日 更新

claude-md-refresh

無料概要あり

ディレクトリ・レイヤーごとに置いた CLAUDE.md と README.md が実体 (コード・コマンド・構成) とずれていないかを点検し、裏の取れた乖離だけを直す。引数で対象のディレクトリを任意に指定できる (省略時は repo 全体)。「CLAUDE.md を refresh して」「README が古くないか見て」「claude-md-refresh」「/claude-md-refresh」で発火。issues/ の更新漏れは issue-writeback / issue-sync の担当で、この skill は扱わない。

jiikko/dotfiles22026年10月22日 更新

codex-drive

無料概要あり

Codex が設計・実装を担い、Claude が要件確定・成果物の検証・反復・commit/push を管理する。「codex に書かせて」「codex メインで実装」「codex-drive」で発火。大きめの機能・移植・プロトコル実装向け。余剰トークンを厚く使う運用も選べる。

jiikko/dotfiles22026年10月22日 更新

codex-lead

無料概要あり

タスク着手時に codex にリードしてもらうワークフロー。codex に設計/方針を主導(リード)させ、その方針に沿って Claude が実装し、実装後は codex で設計適合・実装正当性・敵対的(red team)の 3 観点でレビューする。余っている codex トークンを積極的に消費したい時に使う。「codexにリードしてもらって」「設計から codex に任せて」「タスクを codex 主導で」「codex-lead」「/codex-lead」で発火。

jiikko/dotfiles22026年10月22日 更新

jiikko のスキルをすべて見る

このスキルの問題を報告する