Mmcp.market

vps-cleanup skill

by kevinnft·kevinnft/ai-agent-skills·14 stars·MIT

Systematic VPS cleanup — analyze files, categorize by importance, safely delete temporary/old data to free disk space

A100/100content scan

Is the vps-cleanup skill safe?

Clean: nothing in its files matched our rules. We read 3 files in the folder on 2026-09-28.

No findings.

Install the vps-cleanup skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/kevinnft/ai-agent-skills.git /tmp/ai-agent-skills
mkdir -p ~/.claude/skills
cp -r /tmp/ai-agent-skills/skills/devops/vps-cleanup ~/.claude/skills/vps-cleanup
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

VPS Cleanup

Systematic approach to cleaning up VPS disk space — analyze files, categorize by importance, safely delete temporary/old data without losing critical files.

When to Use

  • User asks "apa yang gak penting?" or "what can I delete?"
  • Disk space running low (> 80% used)
  • Home directory cluttered with temporary files
  • After completing projects (cleanup workspace)

Workflow

Phase 1: Analyze Current State

# Check disk usage
df -h /

# Analyze home directory
cd /home/ubuntu
du -sh * 2>/dev/null | sort -h

# Check large directories
du -h --max-depth=1 | sort -h | tail -20

Phase 2: Categorize Files

For each file/directory, assess:

Phase 3: Build Decision Matrix

Create analysis table:

files = {
    'file.zip': {
        'size': '135M',
        'type': 'backup',
        'keep': True,
        'reason': 'Important backup'
    },
    'temp-workspace/': {
        'size': '538M',
        'type': 'workspace',
        'keep': False,
        'reason': 'Temporary analysis, reports done'
    },
    # ... more files
}

Calculate:

  • Total size
  • Deletable size
  • Keep size
  • Percentage reclaimable

Phase 4: Present Analysis

Show user:

  1. Summary stats (total, keep, delete, %)
  2. Keep list (sorted by size, with reasons)
  3. Delete list (sorted by size, with reasons)
  4. Recommendations (phased approach)

Format:

✅ KEEP (IMPORTANT)
  135M  backup.zip        Important backup
  2.4M  snap/             System directory

❌ CAN DELETE (NOT IMPORTANT)
  538M  temp-workspace/   Temporary, work done
  1.2M  diagrams/         PNGs generated

Phase 5: Confirm with User

CRITICAL: Always confirm before deleting, especially for:

  • Large directories (> 100 MB)
  • Project directories (might have uncommitted work)
  • Anything user-created (not system files)

Ask:

  • "Mau gue delete sekarang?" (Want me to delete now?)
  • "Ada yang mau keep?" (Anything you want to keep?)

Phase 6: Safe Deletion

# Delete directories
rm -rf ~/temp-workspace/
rm -rf ~/old-project/

# Delete files
rm ~/old-archive.tar.gz
rm ~/report.md

# Verify
ls -lh ~/
df -h /

Safety checks:

  • Use rm -rf only for confirmed directories
  • Delete one category at a time (easier to undo if mistake)
  • Verify disk space freed after deletion

User Preference Patterns

For "Delete All Unimportant"

When user says "delete semua yang gak penting" or "delete all unimportant":

DO:

  • ✅ Analyze and categorize first
  • ✅ Present full list with reasons
  • ✅ Ask about ambiguous items (projects, large files)
  • ✅ Delete after confirmation

DON'T:

  • ❌ Delete immediately without analysis
  • ❌ Skip showing what will be deleted
  • ❌ Delete backups or system files
  • ❌ Delete active projects without asking

For Safety Confirmation

When presenting cleanup plan, user may respond:

  • "Aman di bersihkan?" (Safe to clean?) → User wants reassurance
  • ✅ Confirm: "100% AMAN" + list what won't be deleted
  • ✅ Explain worst-case scenario (e.g., "cache can be regenerated")
  • ✅ Emphasize zero data loss
  • ✅ Then ask: "Gas cleanup?" (Ready to proceed?)
  • "Ya" (Yes) → Proceed immediately
  • ✅ Execute cleanup commands
  • ✅ Show progress for each step
  • ✅ Verify results (before/after disk usage)
  • ✅ Celebrate success: "✅ Cleanup complete! Freed XMB"

User's decision-making pattern:

  1. Asks for analysis → wants to see what's unused
  2. Asks "aman?" → wants safety confirmation
  3. Says "ya" → ready to execute
  4. Expects immediate action after confirmation (no further questions)

For Ambiguous Items

Projects (e.g., oh-my-china/):

🟡 AMBIGUOUS: oh-my-china/ (340 MB)
   Type: Project
   Question: "Masih aktif develop atau cuma testing?"
   
   If active → KEEP
   If testing → DELETE

Generated outputs:

🟡 OPTIONAL: diagram.png (4 MB)
   Type: Output
   Question: "Masih perlu atau gak?"
   
   If needed → KEEP
   If done → DELETE

Common File Types

Temporary Workspaces (DELETE)

Patterns:

  • -analysis/, -test/, *-workspace/
  • Cloned repos for one-time analysis
  • Temporary diagram folders

Indicators:

  • Reports already generated
  • Work completed
  • No uncommitted changes

Example:

hermes-analysis/  # 538 MB
├─ 10 cloned repos
├─ ANALYSIS_REPORT.md (done)
└─ install script (used)

→ DELETE (reports done, repos installed elsewhere)

Old Archives + Extracted (DELETE)

Pattern: Both .tar.gz AND extracted folder exist

Example:

gmail_research/              # 100 KB (extracted)
gmail_research_2026-05-01.tar.gz  # 20 KB (archive)

→ DELETE BOTH (duplicate, old data)

Temporary Reports (DELETE)

Patterns:

More skills from kevinnft/ai-agent-skills

  • Aaddyosmani-tddDrives development with tests. Use when implementing any logic, fixing any bug, or changing any behavior. Use when you need to prove that code works, when a bug report arrives, or when you're about to modify existing functionality.
  • AairtableAirtable REST API via curl. Records CRUD, filters, upserts.
  • Aapi-and-interface-designGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
  • Aapi-monitoring-botsBuild monitoring bots that poll APIs and send notifications on state changes (new listings, price alerts, status updates)
  • Aapple-notesManage Apple Notes via memo CLI: create, search, edit.
  • Aapple-remindersApple Reminders via remindctl: add, list, complete.
  • Aarchitecture-diagramDark-themed SVG architecture/cloud/infra diagrams as HTML.
  • AarxivSearch arXiv papers by keyword, author, category, or ID.
  • Aascii-artASCII art: pyfiglet, cowsay, boxes, image-to-ascii.
  • Aascii-videoASCII video: convert video/audio to colored ASCII MP4/GIF.
  • AaudiocraftAudioCraft: MusicGen text-to-music, AudioGen text-to-sound.
  • CaxolotlAxolotl: YAML LLM fine-tuning (LoRA, DPO, GRPO).

All agent skills → · MCP servers