返回顶部
F

Files

Safely organize, deduplicate, and analyze files with intelligent bulk operations and full undo support.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
2,072
下载量
4
收藏
概述
安装方式
版本历史

Files

## What This Skill Does (and Doesn't) **YES:** Organize existing files, find duplicates, analyze disk usage, batch rename/move, clean up clutter **NO:** Open files, create files/folders, copy files, extract archives, basic file browsing — use standard file operations for those This is a power tool for reorganization, not a replacement for basic file commands. ## Path Security (Non-Negotiable) - Canonicalize ALL paths before any operation: resolve `..`, `~`, symlinks, then validate - After canonicalization, reject if path is outside user's home or explicitly allowed directories - NEVER follow symlinks during traversal — report them as "symlink to X, skipped" and let user decide - Block these paths absolutely: `/`, `/etc`, `/var`, `/usr`, `/System`, `/Library`, `C:\Windows`, `C:\Program Files` - Paths containing `..` after canonicalization = reject with explanation ## Fast Path vs Safe Path **Fast path (1-9 files):** Execute immediately with brief confirmation: "Move 3 files to Archive? [Y/n]" **Safe path (10+ files):** Create manifest, show summary, require explicit "yes" or review This prevents confirmation fatigue for simple operations while protecting bulk actions. ## Trash Handling - Use the operating system's native trash: `trash` CLI on macOS/Linux, Recycle Bin API on Windows - If OS trash unavailable, move to `~/.local/share/file-organizer-trash/` with metadata sidecar - Metadata sidecar (JSON): original path, deletion timestamp, operation ID — NOT path-in-filename - Never permanently delete without explicit "permanently delete" or "empty trash" command ## Undo System - Every operation creates an undo record in `~/.local/share/file-organizer/undo/TIMESTAMP.json` - Record contains: operation type, source paths, destination paths, checksums of moved files - "Undo last" reverses the most recent operation using the record - Undo records expire after 30 days — warn user before expiry - NO shell scripts for undo — JSON metadata only, executed by the agent ## Symlink Policy - During directory traversal: skip symlinks, report them separately - "This folder contains 12 symlinks pointing outside — review before proceeding?" - Never follow symlinks automatically — they're a classic attack vector - User can explicitly request "follow symlinks" but must confirm each external target ## Duplicate Detection (Scalable) - Phase 1: Group by exact size (instant, no I/O) - Phase 2: Hash first 4KB of same-size files (fast filter) - Phase 3: Full hash only for files matching phase 2 - For >10,000 files, require confirmation: "This will take ~15 minutes. Proceed?" - Cache hashes in `~/.local/share/file-organizer/hash-cache.db` (SQLite) with mtime invalidation ## Bulk Operations - **Batch rename:** Preview ALL transformations if <50 files, first/last 10 if more, always show total count - **Batch move:** Verify destination has space before starting, atomic per-file with rollback on error - **Progress:** Update every 5% or 30 seconds, whichever is less frequent — not per-file spam - **Error handling:** On ANY error, stop, report what succeeded/failed, offer "continue skipping errors" or "rollback completed" ## Organization Proposals - Analyze directory contents FIRST, then propose: "80% images, 15% videos, 5% docs — organize by date or type?" - Always show concrete examples: "vacation-photo.jpg → 2024/06-June/vacation-photo.jpg" - Preserve original filenames unless user requests rename pattern - Create `.file-organizer-manifest.json` in destination documenting the reorganization for future reference ## Size Analysis - Top consumers by directory, not individual files — users think in folders - Flag known safe-to-delete: node_modules, __pycache__, .gradle, build/, target/, Pods/ - Calculate actual vs apparent size (sparse files, hardlinks) - For cleanup suggestions, always state recoverability: "Deleting node_modules: fully recoverable with npm install" ## Platform Specifics - macOS: Respect .app bundles (they're directories), use `trash` via Homebrew if available - Windows: Use long path prefix `\\?\` for paths >260 chars, use shell API for Recycle Bin - Linux: XDG trash spec (`~/.local/share/Trash/`), handle different filesystem capabilities ## Limits and Failures - Refuse operations on >100,000 files without explicit override: "This affects 250K files. Type 'I understand' to proceed" - If manifest would exceed 10MB, paginate: "Showing batch 1 of 15 (page through with 'next')" - Network drives: detect by response time, warn about reliability, suggest local copy first - Disk full: check before starting, reserve 1% headroom, fail gracefully with partial completion report

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 files-1776420033 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 files-1776420033 技能

通过命令行安装

skillhub install files-1776420033

下载 Zip 包

⬇ 下载 Files v1.0.0

文件大小: 3 KB | 发布时间: 2026-4-17 19:43

v1.0.0 最新 2026-4-17 19:43
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部