# Send Trash Cli to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "trash-cli",
    "name": "Trash Cli",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/xlionjuan/trash-cli",
    "canonicalUrl": "https://clawhub.ai/xlionjuan/trash-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/trash-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=trash-cli",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "trash-cli",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-10T04:48:55.189Z",
      "expiresAt": "2026-05-17T04:48:55.189Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=trash-cli",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=trash-cli",
        "contentDisposition": "attachment; filename=\"trash-cli-1.0.5.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "trash-cli"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/trash-cli"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/trash-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/trash-cli",
    "agentUrl": "https://openagent3.xyz/skills/trash-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/trash-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/trash-cli/agent.md"
  }
}
```
## Documentation

### trash-cli

A command line interface to the freedesktop.org trashcan. It trashes files recording the original path, deletion date, and permissions. It uses the same trashcan used by KDE, GNOME, and XFCE.

### Installation

# Via Homebrew (Linux/macOS)
brew install trash-cli

# Via pip
pip install trash-cli

# Via apt (Debian/Ubuntu)
sudo apt install trash-cli

# Via pacman (Arch Linux)
sudo pacman -S trash-cli

# Via dnf (Fedora)
sudo dnf install trash-cli

### Commands Overview

CommandDescriptiontrash-putMove files/directories to trashtrash-listList trashed filestrash-restoreRestore trashed filestrash-emptyPermanently delete trashed filestrash-rmRemove specific files from trash

### trash-put

Move files or directories to the trash can.

trash-put <file>           # Trash a file
trash-put <dir>/           # Trash a directory
trash-put -f <file>        # Silently ignore nonexistent files
trash-put -v <file>        # Verbose output

### Options

-f, --force - Silently ignore nonexistent files
-v, --verbose - Explain what is being done
--trash-dir TRASHDIR - Use TRASHDIR as trash folder

### Notes

Unlike rm, trash-put does not require -R for directories
Files trashed from home partition go to ~/.local/share/Trash/
Files from other partitions go to $partition/.Trash/$uid or $partition/.Trash-$uid

### trash-list

List all trashed files.

trash-list                          # List all trashed files
trash-list | grep <pattern>         # Search for specific files
trash-list --all-users              # List trashcans of all users

### Output Format

2008-06-01 10:30:48 /home/user/bar
2008-06-02 21:50:41 /home/user/baz

Format: deletion_date original_path

### trash-restore

Restore trashed files to their original location.

trash-restore                       # Interactive restore
trash-restore --overwrite          # Overwrite existing files
trash-restore --sort date          # Sort by date (default)
trash-restore --sort path          # Sort by path

### Interactive Mode

$ trash-restore
0 2007-08-30 12:36:00 /home/andrea/foo
1 2007-08-30 12:39:41 /home/andrea/bar
2 2007-08-30 12:39:41 /home/andrea/baz
What file to restore [0..2]: 0

Enter the number to restore that file
Use 0-2,3 to restore multiple files
Use --overwrite to replace existing files

### trash-empty

Permanently remove files from trash.

trash-empty                 # Remove ALL trashed files
trash-empty 7              # Remove files older than 7 days
trash-empty 1              # Remove files older than 1 day

### Examples

# Delete everything in trash
trash-empty

# Keep only files from the last 7 days
trash-empty 7

# Keep only today's files
trash-empty 1

### trash-rm

Remove specific files from trash (by pattern).

trash-rm <pattern>         # Remove files matching pattern
trash-rm '*.o'             # Remove all .o files
trash-rm foo               # Remove all files named "foo"
trash-rm /full/path        # Remove by original path

Note: Use quotes to protect pattern from shell expansion.

trash-rm '*.log'          # Correct
trash-rm *.log            # Wrong - shell will expand

### Replace rm with trash-put

Add to .bashrc or .zshrc:

# Remind yourself not to use rm directly
alias rm='echo "Use trash-put instead!"; false'

# Or use a safer alias
alias rm='trash-put'

To bypass the alias when you really need rm:

\\rm file.txt

### Recovery Workflow

Check what's in trash: trash-list
Find your file: trash-list | grep <filename>
Restore: trash-restore

### Trash Location

Home partition: ~/.local/share/Trash/
Other partitions: $mount_point/.Trash/$uid or $mount_point/.Trash-$uid

### Limitations

Does not support BRTFS volumes
Cannot trash files from read-only filesystems

### Creating a top-level .Trash directory

If you need to create a trash directory on a different partition:

sudo mkdir --parent /.Trash
sudo chmod a+rw /.Trash
sudo chmod +t /.Trash

### Should I alias rm to trash-put?

The author advises against this. Although trash-put seems compatible with rm, it has different semantics that will cause problems. For example, while rm requires -R for deleting directories, trash-put does not.

Instead, use a warning alias:

alias rm='echo "This is not the command you are looking for."; false'

To bypass when you really need rm:

\\rm file.txt

### See Also

Official GitHub
FreeDesktop.org Trash Spec
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: xlionjuan
- Version: 1.0.5
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-10T04:48:55.189Z
- Expires at: 2026-05-17T04:48:55.189Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/trash-cli)
- [Send to Agent page](https://openagent3.xyz/skills/trash-cli/agent)
- [JSON manifest](https://openagent3.xyz/skills/trash-cli/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/trash-cli/agent.md)
- [Download page](https://openagent3.xyz/downloads/trash-cli)