---
name: File Operations
slug: file-operations
category: Automation
description: File Operations analyzes files and reports metadata such as size, line counts, modification times, and content statistics. Use it when you need file information or comparisons without changing files.
github: "https://github.com/mhattingpete/claude-skills-marketplace/tree/main/code-operations-plugin/skills/file-operations"
language: HTML
stars: 664
forks: 95
install: "npx degit https://github.com/mhattingpete/claude-skills-marketplace/tree/main/code-operations-plugin/skills/file-operations ~/.claude/skills/file-operations"
installs_to: ~/.claude/skills/file-operations
source_path: code-operations-plugin/skills/file-operations/SKILL.md
collection_size: 18
category_size: 1523
collection_url: "https://dirskills.com/collections/mhattingpete/claude-skills-marketplace"
added: 2026-08-24T05:16:55.839Z
last_synced: 2026-08-24T05:16:55.839Z
canonical_url: "https://dirskills.com/skills/file-operations"
---

# File Operations

File Operations analyzes files and reports metadata such as size, line counts, modification times, and content statistics. Use it when you need file information or comparisons without changing files.

**Install:**

```bash
npx degit https://github.com/mhattingpete/claude-skills-marketplace/tree/main/code-operations-plugin/skills/file-operations ~/.claude/skills/file-operations
```

## README

# 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
