screenshot
Find and display recent screenshots. Triggers: screenshot, check screenshot, show screenshot, recent screenshot, last screenshot.
Best use case
screenshot is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Find and display recent screenshots. Triggers: screenshot, check screenshot, show screenshot, recent screenshot, last screenshot.
Teams using screenshot should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/screenshot/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How screenshot Compares
| Feature / Agent | screenshot | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Find and display recent screenshots. Triggers: screenshot, check screenshot, show screenshot, recent screenshot, last screenshot.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Screenshot Viewer
Quickly find and display recent screenshots from common screenshot directories.
## Usage
```
/screenshot # Show last 5 screenshots (default)
/screenshot 1 # Show only the most recent
/screenshot 10 # Show last 10 screenshots
```
## How It Works
1. **Auto-detect screenshot locations** - Checks common directories in this order:
- Windows: `Pictures\Screenshots`, ShareX, Greenshot, OneDrive\Screenshots
- macOS: `~/Desktop`, `~/Screenshots`
- Linux: `~/Pictures`, `~/Desktop`
2. **Find recent screenshots** - Uses Glob to find image files (png, jpg, jpeg, gif, webp) sorted by modification time
3. **Display visually** - Uses Read tool to show screenshots so you can analyze and discuss them
## Implementation
### Step 1: Detect Screenshot Directory
Check common locations and use the first one that exists:
**Windows:**
```bash
# Priority order
1. %USERPROFILE%\Pictures\Screenshots # Windows 11 native
2. %USERPROFILE%\Documents\ShareX\Screenshots # ShareX
3. %USERPROFILE%\Pictures\Greenshot # Greenshot
4. %USERPROFILE%\OneDrive\Pictures\Screenshots # OneDrive sync
5. %USERPROFILE%\Pictures # Fallback
```
**macOS:**
```bash
1. ~/Desktop # Default macOS location
2. ~/Screenshots # Custom folder
3. ~/Pictures # Fallback
```
**Linux:**
```bash
1. ~/Pictures/Screenshots # GNOME/KDE
2. ~/Pictures # Fallback
3. ~/Desktop # Alternative
```
### Step 2: Find Recent Screenshots
Use Glob to find image files, sorted by modification time:
```bash
# Find all image files in screenshot directory
fd -e png -e jpg -e jpeg -e gif -e webp . "$SCREENSHOT_DIR" --max-depth 1 -t f --exec stat --format="%Y %n" {} \; | sort -rn | head -n $COUNT
```
Or using native tools:
**Windows (PowerShell):**
```powershell
Get-ChildItem "$env:USERPROFILE\Pictures\Screenshots" -File |
Where-Object {$_.Extension -match '\.(png|jpg|jpeg|gif|webp)$'} |
Sort-Object LastWriteTime -Descending |
Select-Object -First $COUNT
```
**Unix (Bash):**
```bash
find "$SCREENSHOT_DIR" -maxdepth 1 -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.gif" -o -iname "*.webp" \) -printf '%T@ %p\n' | sort -rn | head -n $COUNT | cut -d' ' -f2-
```
### Step 3: Display Screenshots
For each screenshot found, use Read tool to display it visually:
```
Found 3 screenshots in C:\Users\...\Pictures\Screenshots
1. Screenshot_2026-01-28_14-32-10.png (45 KB, 2 minutes ago)
[Read tool displays image visually]
2. Screenshot_2026-01-28_14-15-03.png (128 KB, 19 minutes ago)
[Read tool displays image visually]
3. Screenshot_2026-01-28_13-58-22.png (67 KB, 36 minutes ago)
[Read tool displays image visually]
```
## Arguments
| Argument | Default | Description |
|----------|---------|-------------|
| `count` | 5 | Number of screenshots to show |
**Examples:**
- `/screenshot` - Show last 5
- `/screenshot 1` - Show only most recent
- `/screenshot 10` - Show last 10
## Output Format
```
Screenshots from [directory]
## Screenshot 1 of N
**File**: [filename]
**Size**: [size] KB
**Modified**: [time ago]
[Visual display of screenshot via Read tool]
## Screenshot 2 of N
...
```
## Edge Cases
### No Screenshot Directory Found
```
No screenshot directory found.
Checked locations:
- C:\Users\...\Pictures\Screenshots (not found)
- C:\Users\...\Documents\ShareX\Screenshots (not found)
- C:\Users\...\Pictures\Greenshot (not found)
To use this skill, either:
1. Take a screenshot (Win+Shift+S on Windows)
2. Specify a custom directory: /screenshot --dir="C:\path\to\screenshots"
```
### No Screenshots Found
```
No screenshots found in C:\Users\...\Pictures\Screenshots
Directory exists but contains no image files (.png, .jpg, .jpeg, .gif, .webp)
```
### Count Exceeds Available
```
Found 3 screenshots (requested 10)
Showing all 3:
[displays all available screenshots]
```
## Performance
- **Fast** - Uses filesystem tools (fd or native) instead of reading all files
- **Efficient** - Only reads the exact number requested
- **Token-conscious** - Large screenshots are automatically resized by Read tool
## Custom Directory (Optional)
To use a non-standard directory:
```
/screenshot 5 --dir="C:\Custom\Path"
```
Or create a project-specific config in `.claude/screenshot.json`:
```json
{
"directory": "C:\\Custom\\Screenshots",
"default_count": 3,
"file_extensions": ["png", "jpg", "webp"]
}
```
## Integration
Works well with:
- `/explain` - Explain what's in the screenshot
- `/review` - Review UI/code in screenshot
- Browser automation tools - Verify screenshot matches expected state
## Notes
- Respects modification time (newest first)
- Ignores subdirectories (only top-level)
- Supports common image formats (png, jpg, jpeg, gif, webp)
- Works across Windows, macOS, Linux with platform-specific pathsRelated Skills
windows-ops
Comprehensive Windows workstation operations - diagnose slow boot, identify failing drives, decode BSOD crashes, manage startup apps, audit event logs. Use for: Windows is slow, slow bootup, won't boot, blue screen, BSOD, kernel crash, drive failing, SMART errors, disk errors, Event 41, Event 129, storahci reset, BugCheck, CRITICAL_PROCESS_DIED, crash dump, MEMORY.DMP, minidump, msconfig, services.msc, registry Run keys, StartupApproved, scheduled tasks at logon, slow login, high CPU at boot, Adobe startup, Docker startup, disable startup app.
vue-ops
Vue 3 development patterns, Composition API, Pinia state management, Vue Router, and Nuxt 3. Use for: vue, vuejs, composition api, pinia, vue router, nuxt, nuxt3, script setup, composable, reactive, defineProps, defineEmits, defineModel, v-model, provide inject, vue3.
unfold-admin
Django Unfold admin theme - build, configure, and enhance modern Django admin interfaces with Unfold. Use when working with: (1) Django admin UI customisation or theming, (2) Unfold ModelAdmin, inlines, actions, filters, widgets, or decorators, (3) Admin dashboard components and KPI cards, (4) Sidebar navigation, tabs, or conditional fields, (5) Any mention of 'unfold', 'django-unfold', or 'unfold admin'. Covers the full Unfold feature set: site configuration, actions system, display decorators, filter types, widget overrides, inline variants, dashboard components, datasets, sections, theming, and third-party integrations.
typescript-ops
TypeScript type system, generics, utility types, strict mode, and ecosystem patterns. Use for: typescript, ts, type, generic, utility type, Partial, Pick, Omit, Record, Exclude, Extract, ReturnType, Parameters, keyof, typeof, infer, mapped type, conditional type, template literal type, discriminated union, type guard, type assertion, type narrowing, tsconfig, strict mode, declaration file, zod, valibot.
tool-discovery
Recommend the right agents and skills for any task. Covers both heavyweight agents (Task tool) and lightweight skills (Skill tool). Triggers on: which agent, which skill, what tool should I use, help me choose, recommend agent, find the right tool.
testing-ops
Cross-language testing strategies and patterns. Triggers on: test pyramid, unit test, integration test, e2e test, TDD, BDD, test coverage, mocking strategy, test doubles, test isolation.
testgen
Generate tests with expert routing, framework detection, and auto-TaskCreate. Triggers on: generate tests, write tests, testgen, create test file, add test coverage.
techdebt
Technical debt detection and remediation. Run at session end to find duplicated code, dead imports, security issues, and complexity hotspots. Triggers: 'find tech debt', 'scan for issues', 'check code quality', 'wrap up session', 'ready to commit', 'before merge', 'code review prep'. Always uses parallel subagents for fast analysis.
task-runner
Run project commands with just. Check for justfile in project root, list available tasks, execute common operations like test, build, lint. Triggers on: run tests, build project, list tasks, check available commands, run script, project commands.
tailwind-ops
Tailwind CSS utility patterns, responsive design, component patterns, v4 migration, and configuration. Use for: tailwind, tailwindcss, utility classes, responsive design, dark mode, tailwind v4, tailwind config, tw, container queries, @apply, prose, typography, animation.
supply-chain-defense
Behavioural-first software supply chain defense - catches poisoned npm/PyPI packages in the publish-to-advisory window that CVE tools miss. Socket.dev integration (free CLI + GitHub app + depscore MCP for Claude Code), stale-OIDC audit, dependency cooldown policy, publish-token rotation, VS Code extension audit, and a self-integrity scan that detects worm persistence hooks injected into Claude Code / VS Code settings. Triggers on: supply chain, supply chain attack, malicious package, poisoned dependency, npm worm, Shai-Hulud, behavioural scanning, Socket.dev, socket scan, dependency security, postinstall malware, OIDC token theft, compromised maintainer, typosquat, dependency confusion, package provenance, SLSA, persistence hook, malicious VS Code extension.
summon
Transfer Claude Desktop Code-tab sessions between Claude accounts — copy (default) or move (--move) the session metadata file so the session shows up in another account's left-hand sidebar (the session picker on the left side of Desktop's Code tab). Two natural framings: push (run while still on your current near-limit account, send sessions to the next one, then Logout/Login as the natural switch) or pull (after switching accounts, bring earlier sessions into the now-active one). Push is the recommended workflow because the Logout/Login becomes invisible — it IS the switch you were going to do anyway. Triggers on: summon, summon sessions, push sessions, pull sessions, before switching accounts, account approaching usage limit, account ran out of usage, prepare next account, mid-flight desktop sessions, claude desktop multi-account workflow, transfer claude desktop sessions across accounts, peek session, see desktop sessions across accounts. Default copy keeps the session visible in both accounts' sidebars; --move for lean cleanup. Transcript JSONLs are account-agnostic and stay where they are — both wrappers point at the same conversation. No API calls, no summarisation, full transcripts intact. The left-hand session picker is loaded at login, so a Logout/Login on the destination is required for new sessions to appear there.