recycle-bin

Recover accidentally deleted files from the recycle bin.

11 stars

Best use case

recycle-bin is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Recover accidentally deleted files from the recycle bin.

Teams using recycle-bin 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

$curl -o ~/.claude/skills/recycle-bin/SKILL.md --create-dirs "https://raw.githubusercontent.com/aidanmorgan/token-bonfire/main/.claude/skills/recycle-bin/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/recycle-bin/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How recycle-bin Compares

Feature / Agentrecycle-binStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Recover accidentally deleted files from the recycle bin.

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

# Recycle Bin - File Recovery Skill

Recover accidentally deleted files from the recycle bin. Use this skill proactively when you detect that a file has been
deleted and may need to be recovered.

## When to Use

Use this skill when:

- A file deletion was accidental or premature
- You need to recover a file that was moved to trash
- You want to list what files are available for recovery
- The user asks about recovering deleted files

## Usage

```
/recycle-bin list                       # List all recoverable files
/recycle-bin recover <id>               # Recover to original location
/recycle-bin recover <id> --to <path>   # Recover to different location
/recycle-bin recover <id> --force       # Overwrite if destination exists
/recycle-bin purge <id>                 # Permanently delete from trash
/recycle-bin status                     # Check if hook is installed
```

## Instructions

### Listing Recoverable Files

To see what files can be recovered:

```bash
python3 .claude/scripts/manage-recycle-bin.py list
```

This shows:

- Recovery ID (use this for recover/purge commands)
- Original file name
- When it was deleted
- File type
- Original path

### Recovering a File

To recover a file to its original location:

```bash
python3 .claude/scripts/manage-recycle-bin.py recover <recovery_id>
```

To recover to a different location:

```bash
python3 .claude/scripts/manage-recycle-bin.py recover <recovery_id> --to /path/to/new/location
```

To overwrite an existing file:

```bash
python3 .claude/scripts/manage-recycle-bin.py recover <recovery_id> --force
```

### Proactive Recovery

When you notice:

1. A file was deleted that shouldn't have been
2. A build/test failure references a missing file that was recently deleted
3. The user mentions a file they need that was deleted

You should:

1. List recoverable files to find the file
2. Verify it's the right file (check original path and deletion time)
3. Recover it to the appropriate location
4. Inform the user what was recovered

### Checking Hook Status

To verify the recycle bin hook is active:

```bash
python3 .claude/scripts/manage-recycle-bin.py status
```

If not installed, suggest: `/recycle-bin install`

## Security Guarantees

The hook **NEVER** allows deletion of:

1. **Files in `.trash/` directories** - Prevents loss of recoverable files
2. **Files outside `CLAUDE_PROJECT_DIR`** - Prevents system damage

If a file cannot be safely moved to trash, deletion is **BLOCKED** (not allowed).

## How the Hook Works

When installed, the recycle bin hook:

1. Verifies the file is inside the project directory
2. Intercepts `rm`, `unlink`, and `trash` commands
3. Moves files to `.claude/bonfire/[plan]/.trash/`
4. Creates metadata for each file (original path, deletion time, etc.)
5. Blocks the original deletion command with feedback to Claude

The hook does NOT protect files in (deletions proceed normally):

- `node_modules/`, `.git/`, `__pycache__/`
- `dist/`, `build/`, `.next/`, `.nuxt/`
- `.venv/`, `venv/`, `.tox/`, `coverage/`

## File Locations

- Trash directory: `.claude/bonfire/[plan]/.trash/`
- Each file has: `[recovery_id]-[filename]/content` (the file) and `metadata.json`

## Example Session

```
Claude: I notice the config.py file was deleted but is needed for the build.
        Let me check if it can be recovered.

> python3 .claude/scripts/manage-recycle-bin.py list

Recoverable Files
============================================
Recovery ID  Original Name  Deleted At            Type    Path
abc12345     config.py      2026-01-16T10:30:00   file    ...src/config.py
--------------------------------------------

Claude: Found it. Let me recover the config.py file.

> python3 .claude/scripts/manage-recycle-bin.py recover abc12345

FILE RECOVERED
Original: /path/to/src/config.py
Restored: /path/to/src/config.py

Claude: I've recovered src/config.py to its original location.
        The build should work now.
```

## Dependencies

The hook requires `bashlex` for bash command parsing:

```bash
pip install bashlex
```

Related Skills

librarian

11
from aidanmorgan/token-bonfire

Semantic documentation architect. Analyzes PROSE CONTENT to organize by concept affinity, eliminate contradictions in explanations, and consolidate scattered ideas.

bonfire

11
from aidanmorgan/token-bonfire

Bootstrap an implementation plan and coordinate a parallel team of named agents using native Agent Teams.

ast-grep

11
from aidanmorgan/token-bonfire

Use for searching code, finding code patterns, refactoring, and analyzing code structure. NEVER use Grep for Python code.

swe-cli-skills

12
from SylphAI-Inc/skills

Senior engineer CLI expertise for AI agents — workflows, safety guardrails, gotchas, and anti-patterns across cloud, IaC, containers, databases, dev tools, and platforms

DevOps & Infrastructure

PicoClaw Fleet

11
from EricGrill/agents-skills-plugins

Orchestrate a fleet of remote PicoClaw workers over SSH for fast, ephemeral one-shot tasks.

DevOps & Infrastructure

VibeCollab — Setup Instructions for AI Assistants

9
from flashpoint493/VibeCollab

You are helping a user set up VibeCollab in their project.

Workflow & Productivity

raycast-extension-docs

9
from lemikeone/Codex-skill-raycast-extension

Guidance for building, debugging, and publishing Raycast extensions using the Raycast documentation set. Use when Codex needs to create or modify Raycast extensions (React/TypeScript/Node), consult Raycast API reference or UI components, build AI extensions, handle manifest/lifecycle/preferences, troubleshoot issues, or prepare/publish extensions to the Raycast Store or Teams.

Coding & Development

evomap

9
from hyz0906/paper

Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, register as a worker, create and express recipes, collaborate in sessions, bid on bounties, resolve disputes, and earn credits via the GEP-A2A protocol. Use when the user mentions EvoMap, evolution assets, A2A protocol, capsule publishing, agent marketplace, worker pool, recipe, organism, session collaboration, or service marketplace.

AI Agent Marketplace

maestro

8
from Viniciuscarvalho/maestro

Intelligent skill knowledge gateway. Routes tasks to the right knowledge without loading all skills into context. MUST be consulted before any coding task — call the search_skills MCP tool to retrieve relevant expertise from 100+ indexed skills covering Swift, SwiftUI, concurrency, testing, architecture, performance, and security.

Coding & Development

opentui

7
from LeonardoTrapani/better-skills

Comprehensive OpenTUI skill for building terminal user interfaces. Covers the core imperative API, React reconciler, and Solid reconciler. Use for any TUI development task including components, layout, keyboard handling, animations, and testing.

Coding & Development

calm-ui

7
from brijr/vibe

Apply a restrained, Swiss/Japanese/Scandinavian/German-influenced product design system when building or refining UI in React, Next.js, TypeScript, and shadcn/ui. Use when the user asks to build, refine, critique, redesign, or review a page, screen, component, form, table, dashboard, layout, or other frontend interface, especially in projects using shadcn/ui. Do not use for marketing sites, landing pages, non-UI work, or requests for bold, playful, maximalist, or otherwise expressive aesthetics.

Frontend Development

solid

7
from fellipeutaka/denji

Apply SOLID principles to write flexible, maintainable, and testable code. Use when designing classes, interfaces, and module boundaries. Covers Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion with practical TypeScript examples and detection heuristics.