skills/file-operations
Skills for code manipulation operations including line-based code transfer, bulk refactoring, and file analysis - converted from code-copy-mcp
name: file-operations
description: Analyze files and get detailed metadata including size, line counts, modification times, and content statistics. Use when users request file information, statistics, or analysis without modifying files.
mhattingpete
How to use this skill?
- Click install button to copy plugin bin to clipboard.
- Open your claude app and paste the plugin bin to install the skill.
File Operations
Analyze files and retrieve metadata using Claude's native tools without modifying files.
When to Use
- "analyze [file]"
- "get file info for [file]"
- "how many lines in [file]"
- "compare [file1] and [file2]"
- "file statistics"
Core Operations
File Size & Metadata
stat -f "%z bytes, modified %Sm" [file_path] # Single file
ls -lh [directory] # Multiple files
du -h [file_path] # Human-readable size
Line Counts
wc -l [file_path] # Single file
wc -l [file1] [file2] # Multiple files
find [dir] -name "*.py" | xargs wc -l # Directory total
Content Analysis
Use Read to analyze structure, then count functions/classes/imports.
Pattern Search
Grep(pattern="^def ", output_mode="count", path="src/") # Count functions
Grep(pattern="TODO|FIXME", output_mode="content", -n=true) # Find TODOs
Grep(pattern="^import ", output_mode="count") # Count imports
Find Files
Glob(pattern="**/*.py")
Workflow Examples
Comprehensive File Analysis
- Get size/mod time:
stat -f "%z bytes, modified %Sm" file.py - Count lines:
wc -l file.py - Read file:
Read(file_path="file.py") - Count functions:
Grep(pattern="^def ", output_mode="count") - Count classes:
Grep(pattern="^class ", output_mode="count")
Compare File Sizes
- Find files:
Glob(pattern="src/**/*.py") - Get sizes:
ls -lh src/**/*.py - Total size:
du -sh src/*.py
Code Quality Metrics
- Total lines:
find . -name "*.py" | xargs wc -l - Test files:
find . -name "test_*.py" | wc -l - TODOs:
Grep(pattern="TODO|FIXME|HACK", output_mode="count")
Find Largest Files
find . -type f -not -path "./node_modules/*" -exec du -h {} + | sort -rh | head -20
Best Practices
- Non-destructive: Use Read/stat/wc, never modify
- Efficient: Read small files fully, use Grep for large files
- Context-aware: Compare to project averages, suggest optimizations
Integration
Works with:
- code-auditor: Comprehensive analysis
- code-transfer: After identifying large files
- codebase-documenter: Understanding file purposes
