Skip to main content
skill CX Codex

file-operations — Claude Code skill: what it does, how to install

Collects file metadata, line counts, and content metrics across a project without editing or altering any files.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add mhattingpete/claude-skills-marketplace --skill file-operations -a claude-code
Open on GitHub

What file-operations does

The skill defines non-destructive workflows to inspect repository files. It focuses on gathering metadata: file sizes, modification dates, line counts, and code metrics like function or class definitions.

It relies on standard command-line tools like stat, ls, du, wc, and find, combined with agent tools such as Read, Grep, and Glob. Small files are read directly, while larger files are analyzed with Grep patterns for imports or TODO comments. Note that the included stat -f example follows BSD/macOS syntax rather than standard GNU flags.

This tool never edits existing files. Because operations are strictly read-only, it works cleanly ahead of refactoring tasks or documentation passes.

What it helps with

  • count total lines of code across directory trees
  • locate the 20 largest files in a project
  • tally function definitions, classes, and TODO tags
  • compare sizes and modification timestamps of files

Example prompts for the agent

  • how many lines in src/app.py
  • find the largest files in the repository
  • compare file sizes in the src directory

How to install file-operations

1Skills CLI (Vercel)

npx skills add mhattingpete/claude-skills-marketplace --skill file-operations -a claude-code

2Manually: put the files in place

~/.claude/skills/file-operations/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/file-operations/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about file-operations

How to install file-operations in Claude Code?

Run npx skills add mhattingpete/claude-skills-marketplace --skill file-operations -a claude-code.

What does file-operations do?

It provides file inspection workflows to retrieve sizes, modification timestamps, line counts, and pattern tallies without modifying code.

Does file-operations alter any project files?

No, it is strictly non-destructive. It only runs read-only commands and tools like stat, wc, du, Read, and Grep.

Source text

SKILL.md · Apache-2.0
---
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.
---

# 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

© mhattingpete · Apache-2.0 · mhattingpete/claude-skills-marketplace

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set7

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor