AgentSkillsCN

file-operations

分析文件并获取详细的元数据,包括文件大小、行数、修改时间以及内容统计信息。适用于用户请求获取文件信息、统计信息或分析结果,而无需实际修改文件时使用。

SKILL.md
--- frontmatter
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

code
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

code
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