Filesystem
DocumentsfilesystemFilesystem is an Agent Skill for documents published in the Memento-Teams/Memento-Skills repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Direct filesystem operations (read, write, edit, list, search files). Use for any file manipulation tasks.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/Memento-Teams/Memento-Skills/blob/HEAD/builtin/skills/filesystem/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/filesystem, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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
File Search
# 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