agentsclimarketplace

Organize screenshots

Skill mostafa-drz/claude-skills/code/organize-screenshots

Collection of Claude Code and Claude Desktop skills for developer workflows, automation, and productivity

Install
npx -y skills add mostafa-drz/claude-skills --skill organize-screenshots

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Scans a folder for recent screenshots, visually classifies which ones are relevant to current work, and organizes them into a target directory with descriptive filenames. Use when collecting screenshots for PRs, bug reports, docs, or Linear issues.

SKILL.md

6.5 KB, as published. Nobody here has run it

Organize Screenshots

Scan for recent screenshots, visually classify them, and organize with descriptive names.

Preferences

Read ~/.claude/skills/organize-screenshots/preferences.md using the Read tool. If not found, no preferences are set.

Context

On startup, use Bash to detect: current git branch and count recent screenshots in the source folder (default ~/Desktop). Skip any that fail.

Command routing

Check $ARGUMENTS:

  • help → display help then stop
  • config → interactive setup then stop
  • reset → delete ~/.claude/skills/organize-screenshots/preferences.md, confirm, stop
  • anything else → process screenshots

Flags

Parse from $ARGUMENTS:

  • --source <dir> — override source folder (default: ~/Desktop or preference)
  • --days <N> — look back N days (default: 3 or preference)
  • --move — move instead of copy
  • --all — skip classification, take everything
  • Remaining text — target directory

Help

Screenshots — Scan, classify, and organize screenshots

Usage:
  /organize-screenshots <target-dir>                     Scan Desktop, organize into target
  /organize-screenshots <target-dir> --source ~/Downloads Scan specific folder
  /organize-screenshots <target-dir> --days 1             Only last 24 hours
  /organize-screenshots <target-dir> --move               Move instead of copy
  /organize-screenshots <target-dir> --all                Skip classification, take all
  /organize-screenshots config                            Set defaults
  /organize-screenshots reset                             Clear preferences
  /organize-screenshots help                              This help

Examples:
  /organize-screenshots ./docs/images
  /organize-screenshots ./pr-assets --days 1
  /organize-screenshots ~/bug-report --source ~/Downloads --move

What it does:
  1. Finds recent screenshots in source folder
  2. Visually reviews each one (reads the image)
  3. Classifies: relevant to current work or not
  4. Suggests descriptive filenames
  5. Copies (or moves) to target with new names

Current preferences:
  (shown above under Preferences)

Config

Use AskUserQuestion:

Q1 — "Default source folder?" (~/Desktop (default), ~/Downloads, custom path) Q2 — "Lookback days?" (1 day, 3 days (default), 7 days) Q3 — "Default action?" (Copy (default), Move) Q4 — "Naming style?" (descriptive — feature-what-it-shows (default), timestamp — YYYY-MM-DD-description, sequential — 01-description)

Save to ~/.claude/skills/organize-screenshots/preferences.md.

First-time detection

If no preferences file exists, show: "First time using /organize-screenshots? Run /organize-screenshots config to set source folder and defaults, or continue — scanning ~/Desktop for the last 3 days."

Then proceed.

Steps

1. Identify work context

Read context to understand what's relevant:

  • Current branch name and recent commits (from pre-injected context)
  • CLAUDE.md if present (for project/feature names)
  • Any files discussed in current conversation

Build a mental model of what screenshots to look for.

2. Find screenshots

Scan source folder for images modified within lookback period:

find {source} -maxdepth 1 -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.webp" \) -mtime -{days}

If none found → inform user, stop. If >20 found → ask if user wants to narrow time range or proceed.

3. Visual review

For each image:

  1. Read the image using Read tool (multimodal)
  2. Classify: Is it related to current work context?
    • Related: shows project UI, relevant code, error messages, terminal output matching current work
    • Unrelated: random browser tabs, personal content, unrelated apps
  3. Describe if relevant: generate a short descriptive filename

If --all flag, skip classification — include everything.

4. Present findings

Found {N} screenshots in {source} from the last {days} days.
{M} appear related to current work:

  1. Screenshot 2026-02-17 at 11.19.00 AM.png
     → {descriptive-name}.png
     Shows: {brief description}

  2. Screenshot 2026-02-17 at 11.24.00 AM.png
     → {descriptive-name}.png
     Shows: {brief description}

  Skipped {K} unrelated screenshots.

Use AskUserQuestion to confirm:

  • "Organize these screenshots?" (Approve all, Exclude specific ones, Include skipped ones, Cancel)

5. Organize

Create target directory:

mkdir -p {target}

Copy (or move) each approved screenshot. Important: macOS screenshot filenames contain a Unicode narrow no-break space (U+202F) before AM/PM. Always use find with timestamp wildcards:

# CORRECT — use find with wildcards:
find {source} -maxdepth 1 -name "*2026-02-17*11.19*" -exec cp {} "{target}/{descriptive-name}.png" \;

# WRONG — will fail due to Unicode:
cp "Screenshot 2026-02-17 at 11.19.00 AM.png" dest/name.png

6. Naming convention

{context}-{what-it-shows}.{ext}
  • All lowercase, hyphens as separators
  • Context first (feature, page, component), then what's shown
  • No dates or timestamps in filename (unless timestamp naming style preference)
  • Under 60 characters
  • Preserve original extension

Examples:

  • settings-page-form-validation.png
  • api-error-500-response.png
  • dashboard-metrics-overview.png
  • terminal-test-failures.png

7. Report

Organized {M} screenshots:

  {target}/
  ├── {name-1}.png
  ├── {name-2}.png
  └── {name-3}.png

  Originals: {preserved in source / moved}

Next steps:
  1. Review in {target}/
  2. Upload to PR, Linear, or docs as needed

8. Learn

If user renames files after organizing, note the naming pattern. If user changes source folder, save preference.

Principles

  • Always copy by default — originals stay. User decides when to delete.
  • Ask before acting — present classification, get confirmation before copying.
  • Be conservative — when in doubt, include and let user exclude.
  • Respect privacy — skip screenshots with personal info, don't describe their contents.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.