Skip to main content

cleanup-screenshots

Find screenshots shared/accumulated during this Claude Code session and, with the user's approval, move them to the Trash (no permanent delete — recoverable). Use before ending a session, when asked to tidy the Desktop/screenshots folder, or when the screenshot-janitor Stop hook suggests cleanup. Triggers include "clean up screenshots", "delete screenshots", "tidy my desktop", "remove the screenshots".

معلومات المصدر

المستودع
ccplugins/awesome-claude-code-plugins
آخر نشاط في المصدر
١٢ أغسطس ٢٠٢٦ في ١٢:٥١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٩٦٨
التفرعات
٦٣٩

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
cleanup-screenshots
description
Find screenshots shared/accumulated during this Claude Code session and, with the user's approval, move them to the Trash (no permanent delete — recoverable). Use before ending a session, when asked to tidy the Desktop/screenshots folder, or when the screenshot-janitor Stop hook suggests cleanup. Triggers include "clean up screenshots", "delete screenshots", "tidy my desktop", "remove the screenshots".
# Screenshot Janitor — Cleanup Cleans up screenshots that piled up during this session **safely**: never `rm`; files are moved to the **Trash** and can be restored. Session scope comes from the `started_at` timestamp recorded by the SessionStart hook (only screenshots created during this session). Helper scripts live next to this plugin. Resolve their location like this (works whether or not `CLAUDE_PLUGIN_ROOT` is set in skill context): ```bash SCRIPTS="$(cat "$HOME/.claude/screenshot-janitor/scripts-path" 2>/dev/null)" [ -z "$SCRIPTS" ] && SCRIPTS="${CLAUDE_PLUGIN_ROOT}/scripts" ``` ## Flow ### 1. Find candidates ```bash bash "$SCRIPTS/find.sh" ``` Interpret the output: - `NO_SESSION` → no session record. Ask the user whether to scan **all** screenshots; if yes, run `bash "$SCRIPTS/scan.sh" 0`. - `SESSION_META:<path>` → **remember this path**; you will write the `handled` marker into its directory in step 5. - Following TSV lines are candidates: `<mtime_epoch>\t<size_bytes>\t<path>`. - If there are no TSV lines: say "No screenshots to clean up for this session 👍" and stop. ### 2. Show a clear list Present the candidates as a numbered, human-readable table. Convert bytes to MB/KB and the mtime epoch to a readable time. Example: ``` Found 3 screenshots from this session: 1. Screenshot 2026-06-07 at 04.44.07.png 3.6 MB 04:44 2. Screenshot 2026-06-07 at 04.44.17.png 3.4 MB 04:44 3. Screenshot 2026-06-07 at 15.49.25.png 5 KB 15:49 Total ~7.0 MB. ``` ### 3. Ask for approval Offer clear options and **wait** for the answer: - **All** → move every candidate to the Trash. - **Some** → "tell me the numbers, e.g. 1,3" → only those. - **Cancel** → do nothing. NEVER move files without approval. ### 4. Move to Trash For the approved files (not permanent deletion!): ```bash bash "$SCRIPTS/trash.sh" "/full/path/Screenshot ....png" "/another/file.png" ``` `trash.sh` is cross-platform (macOS Trash / Linux `gio trash` / `trash-cli`). Always double-quote paths (they contain spaces). Never use `rm`. ### 5. Mark handled and report After a successful cleanup, mark the session so it won't remind again (use the `SESSION_META` path from step 1): ```bash touch "$(dirname '<SESSION_META path>')/handled" ``` Then give a short summary: how many files, how much space freed, and that they went to the Trash ("you can restore from Trash if needed"). Mention any skipped files. ## Notes - Configuration: create `~/.claude/screenshot-janitor/config.sh` to override `SCAN_DIRS`, `NAME_PATTERNS`, or `MIN_AGE_SECONDS` (don't edit plugin files). - This skill also works standalone; it does not require the Stop hook. - Respond in the user's configured language.
عرض على GitHub