--- id: mhattingpete/claude-skills-marketplace/file-operations version: "a63afe8e" license: Apache-2.0 install: manual updated: 2026-07-25 --- # file-operations — File Operations retrieves detailed file metadata and statistics—including size, line counts, modification times, and content analysis—using read-only operations. Ideal for understanding file structure and gathering code metrics across projects. Publisher: mhattingpete · Stars: 657 · Updated: 2026-07-25 Install (manual): `git clone https://github.com/mhattingpete/claude-skills-marketplace` ## SKILL.md # 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 ```bash stat -f "%z bytes, modified %Sm" [file_path] # Single file ls -lh [directory] # Multiple files du -h [file_path] # Human-readable size ``` ### Line Counts ```bash 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 1. Get size/mod time: `stat -f "%z bytes, modified %Sm" file.py` 2. Count lines: `wc -l file.py` 3. Read file: `Read(file_path="file.py")` 4. Count functions: `Grep(pattern="^def ", output_mode="count")` 5. Count classes: `Grep(pattern="^class ", output_mode="count")` ### Compare File Sizes 1. Find files: `Glob(pattern="src/**/*.py")` 2. Get sizes: `ls -lh src/**/*.py` 3. Total size: `du -sh src/*.py` ### Code Quality Metrics 1. Total lines: `find . -name "*.py" | xargs wc -l` 2. Test files: `find . -name "test_*.py" | wc -l` 3. TODOs: `Grep(pattern="TODO|FIXME|HACK", output_mode="count")` ### Find Largest Files ```bash 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 [View on SkillFed](https://skillfed.io/mhattingpete/claude-skills-marketplace/file-operations) · [View on GitHub](https://github.com/mhattingpete/claude-skills-marketplace)