mcpbeat

File Operations

mhattingpete/file-operations

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.

635 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
656
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/mhattingpete/claude-skills-marketplace --skill file-operations

The instruction itself

15 sections, as written by the author

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.

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

How to use it

Copy the folder

Take mhattingpete/file-operations from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.