skills/process-cleanup/SKILL.md
Finds stale and resource-hungry processes, scores them by waste, and presents a cleanup report with friendly names. Use this skill when the user says 'what's eating my RAM', 'kill stale processes', 'clean up my machine', 'free up memory', 'my computer is slow', 'what's running', 'too many things open', or asks to find/kill background processes. Also use proactively when you notice sluggishness, process spawn failures, or many duplicate processes during normal work.
npx skillsauth add b-open-io/prompts process-cleanupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Autonomously investigate running processes, score them by waste (resources x staleness), and produce a categorized report with friendly names and ready-to-use kill commands.
This skill runs without user interaction. Gather everything, analyze, score, and present the full report. The user decides what to kill after reading it.
Run the bundled script — it handles all data collection, scoring, and safety classification in one pass:
bash ${CLAUDE_PLUGIN_ROOT}/skills/process-cleanup/scripts/cleanup-report.sh
The script outputs structured JSON to stdout (progress messages go to stderr). Parse the JSON to build your report.
ps -eo pid,ppid,rss,%cpu,lstart,tty,command)lsof -iTCP -sTCP:LISTEN)lsof -c node -c bun -c next -c python -c ruby -a -d cwd){
"my_pid": 12345,
"total_recoverable_mb": 4300,
"safe": [{"pid": 38585, "name": "Claude Code (resumed session, likely stale)", "memory_mb": 4300, "age_hours": 456, "score": 92, "port": null}],
"caution": [{"pid": 28755, "name": "Next.js dev -> agentcraft", "memory_mb": 156, "age_hours": 48, "score": 45, "port": "3000"}],
"protected": [{"pid": 76187, "name": "Claude Code -> prompts", "memory_mb": 553, "age_hours": 1, "score": 21, "port": null}],
"kill_command": "kill 38585 ..."
}
The score field is already computed (0-100, resources + staleness + replaceability). Use it directly for sorting.
The script applies these mappings automatically. This table is for your reference when the script output looks unexpected:
| Pattern in command | Friendly name |
|---|---|
| claude (bare or -c) | Claude Code -> {project} |
| claude --resume | Claude Code (resumed session, likely stale) |
| claude.*--claude-in-chrome | Claude Chrome bridge |
| opencode | OpenCode session |
| codex | Codex app |
| next dev or next-router-worker | Next.js dev -> {project} |
| bun dev | Bun dev -> {project} |
| vite | Vite dev -> {project} |
| convex dev | Convex dev -> {project} |
| portless | Portless proxy -> {project} |
| turso | Turso DB |
| postgres | PostgreSQL |
| redis-server | Redis |
| mongod | MongoDB |
| node.*webpack\|esbuild\|turbopack | Bundler watcher |
| tsc.*--watch | TypeScript watcher |
| Google Chrome Helper | Chrome (renderer) |
| Dia.*Helper | Dia browser (renderer) |
| Wispr Flow | Wispr Flow voice |
| iTerm2 | iTerm terminal |
| Electron\|Helper (Renderer) | Derive app name from path |
Present findings as a single report. Sort by waste score descending within each safety tier.
## Process Cleanup Report
**Total recoverable**: ~X.X GB across N processes
### SAFE TO KILL (X.X GB)
| Score | Process | Memory | Age | PID |
|-------|--------------------------------|---------|----------|-------|
| 92 | Claude Code (Feb 14, stale) | 4.3 GB | 19 days | 38585 |
| 78 | OpenCode (x15 sessions) | 1.3 GB | 25-31 d | ... |
### USE CAUTION (X.X GB)
| Score | Process | Memory | Age | PID |
|-------|--------------------------------|---------|----------|-------|
| 45 | Next.js dev → agentcraft | 156 MB | 2 days | 28755 |
### PROTECTED
- This Claude session — 553 MB — PID 76187
- Chrome (47 tabs) — 2.9 GB
- iTerm2 — 264 MB
Rules for the report:
End with kill commands:
# SAFE — reclaim ~X.X GB
kill PID1 PID2 PID3
# CAUTION — review first:
# kill PID4 # Next.js dev → agentcraft :3000 (156 MB)
Then state what you recommend and let the user decide.
development
This skill should be used when the user asks to "design a business card", "make a printable PDF", "render HTML to PDF", "generate a postcard", "build print collateral", "set up an HTML print pipeline", or needs help with bleed, safe areas, font embedding, or QR generation for print. Provides a Playwright-based pipeline with multiple bundled templates and theme variants for business cards (minimal, watercolor light, watercolor dark) and instructions for adding new templates.
tools
Get recent tweets from an X/Twitter user. Use when user asks "what has @username posted", "recent tweets from", "user's X posts", "show timeline for", "what is @user saying". Requires X_BEARER_TOKEN.
data-ai
Get X/Twitter user profile by username. Use when user asks "who is @username", "get X profile", "lookup Twitter user", "find X account", "user details", "follower count for". Requires X_BEARER_TOKEN.
data-ai
Search recent X/Twitter posts by query. Returns RAW TWEETS (last 7 days). Use when user asks "search X for", "find tweets about", "what are people saying about", "Twitter search", "raw tweets about". For AI summaries/sentiment, use x-research instead. Requires X_BEARER_TOKEN.