hdd-storage-cleaning · v1.0.0 · 2026-11-02 · sha256 914adde44b52846c
hdd-storage-cleaning v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/914adde44b52846c.
--- name: hdd-storage-cleaning description: "Audit a full disk and free space safely: measure first, prove a restore path, show exact objects, delete only what the user approved. Use when the disk is full, free up space, what is eating my storage, or before a risky cleanup on Mac or Windows." license: MIT metadata: version: "1.0.0" --- # HDD storage cleaning Найди, что занимает место, сохрани нужное и освободи только проверенный объём. Скилл не даёт разрешения удалять данные, менять синхронизацию или включать автоматическую чистку. Для текущей ОС прочитай [Mac](references/mac.md) или [Windows](references/windows.md). При переносе между ОС прочитай оба документа. ## Сначала замер - Подними прежние решения по чистке/миграции, актуальные правила среды и текущих владельцев данных. Не повторяй уже сделанное и не мешай другому писателю. - Определи настоящие корни из переменных среды/конфига и фактические диски. Не угадывай пути другой машины. Сначала свободное место на томе, затем верхние папки, затем крупные ветви. - Раздели логический размер, занятые блоки, общие блоки/снимки и облачные заглушки. Отмечай ошибки доступа и неполный охват; отсутствие доступа не означает нулевой размер. - Не складывай вложенные папки дважды. Дай таблицу: объект, размер и метод замера, зачем нужен, предлагаемое действие, восстановление, статус разрешения. Большие деревья обрабатывай потоково: манифест на диске, счётчики и хэши по файлу/пакету, возобновляемые checkpoints. Не загружай миллионный список целиком в память/JSON и не выводи его в tool output. В stdout только сводка, ограниченная выборка и путь к манифесту; во время долгого обхода показывай статус и возраст checkpoint. ## Что сохранять По умолчанию исключай кошельки и их хранилища, seed/ключи/пароли, SSH/Keychain, фотографии, резервные копии, `_originals`, `.stversions`, sync-conflict-файлы и канон. Читай только безопасные метаданные; не выводи содержимое секретов и не считай их хэши для обычного аудита. Сильнее действуют правила конкретной среды и исключения пользователя. Имя `cache`, `tmp`, `old` или большой размер не доказывают ненужность. Внутри могут быть единственные документы, состояния приложений, модели или кошельки. Удаление приложения и его данных — разные решения. Удаление значка из Dock тоже не удаляет приложение. Для репозитория проверь dirty/untracked, stash, локальные ветки, теги, коммиты вне remote refs и достижимые только через reflog. Проверь linked worktrees и общий git-dir, незавершённые merge/rebase/bisect, уникальные данные submodules и локальные LFS-объекты. Обычный bundle веток не гарантирует сохранность reflog-only коммитов, рабочего дерева и LFS. Устаревшие remote refs не доказывают наличие копии на сервере. Без проверки доступности удалённой версии и сохранения уникального состояния репозиторий нельзя считать восстановимым через clone. Зависимости пригодны к пересозданию лишь при наличии исходников, lockfile, доступного источника и нужной версии. ## Проверка восстановления 1. Назови источник восстановления и проверь доступность. Ещё одна копия на переполненном томе может ухудшить ситуацию; выбери проверенную копию или разрешённый другой диск. 2. Для обычных файлов проверь полный перечень, размер и SHA-256. Для архива проверь чтение и пробное извлечение в отдельную папку. Секретные хранилища требуют отдельного согласованного способа проверки. 3. Для SQLite получи согласованный снимок через backup API или корректно остановленного владельца. Не копируй только `.db`, игнорируя непустой WAL. Зафиксируй значимые таблицы/счётчики из того же согласованного снимка, из которого сделан бэкап; не сравнивай его с более поздней живой БД. На отдельном восстановленном экземпляре выполни `integrity_check` и сравни эти показатели. Наличие файла бэкапа — недостаточное доказательство. 4. Для кэша докажи, как владелец пересоздаёт именно этот кэш. Закрой приложение штатно; не удаляй живую БД и не гаси сервисы без соответствующего разрешения. ## Незавершённая миграция Сравни старую staging-копию с актуальным источником и назначением. Размер/mtime помогают отбору, но не доказывают равенство или полезность. Составь точный манифест обычных файлов; отдельно сохрани уникальные документы и изменения кода. Кэши, зависимости и старые профили не копируй автоматически. Копируй добавочно: только отсутствующие обычные файлы, без перехода через symlink/junction и без перезаписи. Проверь корни и все компоненты пути; исключи выход за корень, секреты, защищённые ветви и активные файлы. Создавай назначение с режимом «только новый файл», сравни SHA-256 и перечитай результат. При расхождении оставь источник и пометь конфликт. Не используй mirror/delete-режимы rsync/robocopy. Перенос профиля браузера допустим только по явному запросу владельца между его устройствами. Ключи передавай через защищённый канал из памяти в штатное защищённое хранилище ОС, без аргументов команд, файлов, вывода и логов. Не копируй весь Keychain или хранилища расширений с кошельками. Совпадение файлов не доказывает работоспособность входов; проверь запуск и укажи, какие входы реально проверены. Не удаляй staging целиком. После копирования отдельно решается судьба каждого остатка. Папки очистки при запуске могут содержать пользовательские данные: не перезагружай машину ради их автоматического удаления. ## Чистка и результат Перед действием покажи точные объекты, число затронутых файлов включая вложенные, ожидаемый эффект, доказательство восстановления и способ отката. Существующее разрешение используй в его конкретных границах. Массовое удаление/перемещение более пяти файлов, очистка корзины и необратимое действие требуют явного согласования согласно местным правилам. Уточняй конкретный подготовленный пакет, а не проси повторно общее разрешение на аудит. Непосредственно перед каждой чисткой заново проверь манифест, покрытие восстановления всех выбранных объектов и отсутствие активного использования/чужого писателя. Повторяй проверку перед очередным пакетом длинной операции. Изменились исходник, назначение, набор файлов, владелец/процесс или состояние восстановления — останови затронутую операцию, сохрани остаток и пересобери доказательства. Если изменился согласованный объём действий, получи новое разрешение на конкретный новый пакет; старое разрешение на него не распространяется. Не выполняй `rm -rf`, не обходи сторожи, не очищай корзину целиком и не меняй расписания/политику хранения по ходу разовой чистки. Синхронизируемое удаление может уйти на все устройства; сначала проверь эту связь. После согласованного пакета измерь тот же том тем же способом, проверь приложение/восстановленные данные и запиши exit-коды. Перемещение в корзину на том же диске обычно не освобождает место. Отдельно сообщи объём удалённых файлов и изменение свободного места; фоновую чистку, снимки и новые записи не приписывай своей работе. Не обещай равенство этих чисел. Отчёт содержит время, устройство/том, до→после, действия, пропуски, доказательства и ограничения. Вердикт «проверено» требует фактического прогона; проверку на Mac не называй проверкой Windows. При необходимом независимом ревью результат остаётся предложенным до его получения. ## Паспорт и счётчик Вход: запрос пользователя и измеряемые диски. Выход: манифест и отчёт без секретов. Вызывает пользователь или агент по запросу о хранении. Рельса: местные команды ОС/приложений, без платного API. Ошибка доступа → неполный аудит; неизвестное восстановление → сохранять объект; ошибка копирования → источник остаётся целым. Если доступен существующий `a local usage-log script, if you keep one`, после реального применения запиши один вызов `--log hdd-storage-cleaning --outcome ok` либо `--outcome fail` подходящим локальным Python. `ok` относится к выполненному объёму задачи, а не к обещанию, что весь диск очищен. Уважай его правила записи; недоступность счётчика отрази в отчёте и не создавай новый механизм. При доработке скилла меняй только то, что подтвердил реальный случай или независимая проверка. <!--kit-footer--> --- **Like this skill?** It is part of [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need. Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes). Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_) **Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.