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
最近来源活动
2026年8月12日 12:51
检测到的 SKILL.md 语言
英语
星标
968
分支
639

安装方式

默认使用会先检查来源的 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 查看