Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Advanced filesystem operations for listing files, searching content, batch processing, and directory analysis. Supports recursive search, file type filtering, size analysis, and batch operations like copy/move/delete. Use when you need to: list directory contents, search for files by name or content, analyze directory structures, perform batch file operations, or analyze file sizes and distribution.
.claude/skills/leoyeai-filesystem/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-17 | ✓→✓ | = Same ✓ | 156% | 0% |
| case-16 | ✓→✓ | = Same ✓ | 138% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 104% | 0% |
文件系统操作工具,提供目录列表、内容搜索、批量处理和目录分析功能。
bash# 列出当前目录 ls -la # 递归列出目录树 find . -type f -name "*.md" | head -20 # 按类型过滤 find . -type f \( -name "*.md" -o -name "*.txt" \)
bash# 按名称搜索 find . -name "*keyword*" # 按内容搜索 grep -r "keyword" . --include="*.md" # 不区分大小写搜索 grep -ri "keyword" . --include="*.md"
bash# 统计文件类型 find . -type f -name "*.md" | wc -l # 查看目录大小 du -sh . # 找出最大文件 find . -type f -exec ls -lh {} \; | sort -k5 -h | head -10
基础列表:
bashls -la # 详细列表 ls -lh # 人类可读大小 ls -lt # 按修改时间排序 ls -R # 递归列表
高级列表:
bash# 列出特定类型 find . -type f -name "*.md" # 按深度列出 find . -maxdepth 2 -type f # 排除特定目录 find . -type f -not -path "*/node_modules/*"
按名称搜索:
bash# 精确匹配 find . -name "filename.md" # 模式匹配 find . -name "*pattern*" # 大小写不敏感 find . -iname "*pattern*"
按内容搜索:
bash# 基础搜索 grep -r "keyword" . # 包含行号 grep -rn "keyword" . # 只搜索特定文件 grep -r "keyword" . --include="*.md" # 排除目录 grep -r "keyword" . --exclude-dir=node_modules
正则表达式搜索:
bash# 使用正则 grep -r "^## " . --include="*.md" # 多个关键词 grep -r "key1\|key2" . # 行首/行尾 grep -r "^关键词" . grep -r "关键词$" .
批量复制:
bash# 复制特定类型 find . -name "*.md" -exec cp {} backup/ \; # 复制到多个位置 for file in *.md; do cp "$file" dir1/ && cp "$file" dir2/; done
批量移动:
bash# 移动特定文件 find . -name "*.log" -exec mv {} logs/ \; # 按条件移动 find . -type f -size +1M -exec mv {} large/ \;
批量删除:
bash# 删除特定类型 find . -name "*.tmp" -delete # 删除空目录 find . -type d -empty -delete # 删除旧文件 find . -type f -mtime +30 -delete
批量重命名:
bash# 使用 rename 命令 rename 's/old/new/' *.md # 添加前缀 for file in *.md; do mv "$file" "prefix_$file"; done
大小分析:
bash# 总大小 du -sh . # 各目录大小 du -h --max-depth=1 . | sort -hr # 最大的文件 find . -type f -exec ls -lh {} \; | sort -k5 -hr | head -10
文件类型统计:
bash# 按扩展名统计 find . -type f -name "*.md" | wc -l # 各类型统计 find . -type f -name "*.*" | sed 's/.*\.//' | sort | uniq -c
目录结构分析:
bash# 目录树 tree -L 2 # 递归深度 find . -type d | wc -l # 文件分布 find . -type f | cut -d/ -f1-2 | sort | uniq -c
文件详情:
bash# 完整信息 stat filename # 只看大小 ls -lh filename # 只看时间 ls -lt filename
文件内容预览:
bash# 头部 head -20 filename # 尾部 tail -20 filename # 随机行 shuf -n 10 filename # 字符数 wc -c filename # 行数 wc -l filename
bash# 安装 brew install tree # 使用 tree -L 2 -I 'node_modules|__pycache__'
bash# 安装 brew install fd # 使用 fd "pattern" /path fd -e md . # 只找 md 文件 fd -t f . # 只找文件
bash# 安装 brew install ripgrep # 使用 rg "keyword" . rg -t md "keyword" . rg -i "keyword" . # 不区分大小写 rg --type md "pattern" .
fd 或 ripgrep 替代 find 和 grep(更快)--dry-run 查看会发生什么-max-depth 限制递归深度-size 过滤大文件-mtime 按时间筛选bash# 查找所有 md 文件 find . -name "*.md" -type f # 统计 md 文件数量 find . -name "*.md" | wc -l # 列出最大的 md 文件 find . -name "*.md" -exec ls -lh {} \; | sort -k5 -hr | head -5
bash# 搜索所有匹配项 grep -rn "old_text" . --include="*.md" # 替换(使用 sed) find . -name "*.md" -exec sed -i '' 's/old_text/new_text/g' {} \;
bash# 删除 .tmp 文件 find . -name "*.tmp" -delete # 删除空目录 find . -type d -empty -delete # 删除 30 天前的日志 find . -name "*.log" -mtime +30 -delete
⚠️ 批量操作前先确认:
⚠️ 删除操作不可逆:
rm 删除后无法恢复rm -i 交互式删除⚠️ 权限注意:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-17 | pass→pass | 5,728 | 5,187 | -9% | 1 | 1 | 0% | 1,049 | 2,685 | +156% | 0 | 0 | — |
case-01 | fail→fail | 8,703 | 5,691 | -35% | 1 | 1 | 0% | 1,690 | 2,897 | +71% | 0 | 0 | — |
case-16 | pass→pass | 4,737 | 2,472 | -48% | 1 | 1 | 0% | 977 | 2,324 | +138% | 0 | 0 | — |
case-02 | fail→pass | 6,340 | 3,994 | -37% | 1 | 1 | 0% | 1,118 | 2,525 | +126% | 0 | 0 | — |
case-03 | pass→pass | 5,036 | 2,987 | -41% | 1 | 1 | 0% | 1,160 | 2,364 | +104% | 0 | 0 | — |
case-04 | pass→pass | 3,328 | 3,609 | +8% | 1 | 1 | 0% | 731 | 2,518 | +244% | 0 | 0 | — |
case-05 | pass→pass | 3,458 | 2,463 | -29% | 1 | 1 | 0% | 559 | 2,242 | +301% | 0 | 0 | — |
case-11 | pass→pass | 6,094 | 4,538 | -26% | 1 | 1 | 0% | 1,290 | 2,548 | +98% | 0 | 0 | — |
case-06 | pass→pass | 7,378 | 5,705 | -23% | 1 | 1 | 0% | 1,512 | 2,828 | +87% | 0 | 0 | — |
case-07 | pass→pass | 11,367 | 11,869 | +4% | 1 | 1 | 0% | 2,028 | 4,332 | +114% | 0 | 0 | — |
case-08 | pass→pass | 9,335 | 7,843 | -16% | 1 | 1 | 0% | 1,715 | 3,290 | +92% | 0 | 0 | — |
case-09 | fail→pass | 8,439 | 3,868 | -54% | 1 | 1 | 0% | 1,585 | 2,639 | +66% | 0 | 0 | — |
case-10 | pass→pass | 3,356 | 2,523 | -25% | 1 | 1 | 0% | 696 | 2,253 | +224% | 0 | 0 | — |
case-12 | pass→pass | 3,797 | 2,178 | -43% | 1 | 1 | 0% | 844 | 2,241 | +166% | 0 | 0 | — |
case-13 | fail→fail | 8,797 | 4,593 | -48% | 1 | 1 | 0% | 1,521 | 2,741 | +80% | 0 | 0 | — |
case-14 | pass→pass | 4,403 | 3,529 | -20% | 1 | 1 | 0% | 1,034 | 2,560 | +148% | 0 | 0 | — |
case-15 | pass→pass | 8,633 | 2,479 | -71% | 1 | 1 | 0% | 1,676 | 2,260 | +35% | 0 | 0 | — |
case-18 | pass→pass | 5,145 | 5,634 | +10% | 1 | 1 | 0% | 1,052 | 2,953 | +181% | 0 | 0 | — |
case-19 | pass→pass | 6,416 | 7,544 | +18% | 1 | 1 | 0% | 1,423 | 3,209 | +126% | 0 | 0 | — |
case-20 | pass→pass | 9,112 | 8,579 | -6% | 1 | 1 | 0% | 2,115 | 3,588 | +70% | 0 | 0 | — |
case-21 | pass→pass | 7,082 | 8,290 | +17% | 1 | 1 | 0% | 1,648 | 3,561 | +116% | 0 | 0 | — |
case-22 | pass→pass | 8,856 | 7,738 | -13% | 1 | 1 | 0% | 1,808 | 3,257 | +80% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.