Skip to content
FunCoding

filesystem

Direct filesystem operations (read, write, edit, list, search files). Use for any file manipulation tasks.

Star
1,573
License
Apache-2.0
Last commit
Aug 17, 2026

builtin/skills/filesystem/SKILL.md

View on GitHub

Filesystem Skill

Overview

Direct filesystem operations without external dependencies. Read, write, edit, list, copy, move, and search files.

Usage

Use the available builtin tools to perform file operations directly. Commonly used tools for this skill are: list_dir, read_file, file_create, edit_file_by_lines, grep, and bash.

When the task requires programmatic/structured processing (e.g., parsing complex formats or batch transformations), python_repl can be used as an advanced fallback.

  • Paths can be absolute or relative to working_dir
  • Parent directories are created automatically for write operations
  • For complex file operations not covered by builtin tools, use bash

Common Recipes

JSON

import json

# Read
with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# Write (pretty-printed)
with open('output.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, indent=2, ensure_ascii=False)

CSV

import csv

# Read
with open('data.csv', 'r', encoding='utf-8') as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row)

# Write
with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=['name', 'value'])
    writer.writeheader()
    writer.writerows([{'name': 'a', 'value': 1}])

YAML

# Requires: pip install pyyaml
import yaml

# Read
with open('config.yaml', 'r') as f:
    data = yaml.safe_load(f)

# Write
with open('output.yaml', 'w') as f:
    yaml.dump(data, f, default_flow_style=False, allow_unicode=True)

Directory Operations

# List files recursively
find . -type f -name "*.py"

# Directory size
du -sh /path/to/dir

# Copy directory
cp -r src/ dst/

# Move/rename
mv old_name.txt new_name.txt
# Search file contents (grep)
grep -r "search_term" --include="*.py" .

# Find files by name
find . -name "*.log" -mtime -7  # Modified in last 7 days

# Count lines
wc -l *.py

Text Processing

# Sort and deduplicate
sort file.txt | uniq > sorted.txt

# Extract columns
cut -d',' -f1,3 data.csv

# Replace text
sed -i '' 's/old/new/g' file.txt  # macOS
sed -i 's/old/new/g' file.txt     # Linux

Similar Skills

writing-skills

OBobra/superpowers298k2,631 new stars in the last 7 days

writing-plans

OBobra/superpowers298k2,631 new stars in the last 7 days

writing-shape

MAmattpocock/skills288k10,178 new stars in the last 7 days

writing-beats

MAmattpocock/skills288k10,178 new stars in the last 7 days

writing-fragments

MAmattpocock/skills288k10,178 new stars in the last 7 days

domain-modeling

MAmattpocock/skills288k10,178 new stars in the last 7 days