/filesystem
File and directory operations via Claude Code built-in tools, replacing the Filesystem MCP server. Triggers on: "read this file", "write to file", "edit file", "find files matching", "search for text in files", "list directory", "show directory tree", "rename file".
$ npx -y skills add Mathews-Tom/armory --skill filesystem --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/filesystem
Context preview
The summary Claude sees to decide when to auto-load this skill.
File and directory operations via Claude Code built-in tools, replacing the Filesystem MCP server. Triggers on: "read this file", "write to file", "edit file", "find files matching", "search for text in files", "list directory", "show directory tree", "rename file".
SKILL.md
filesystem.SKILL.mdname: filesystem
description: 'File and directory operations via Claude Code built-in tools, replacing the Filesystem MCP server. Triggers on: "read this file", "write to file", "edit file", "find files matching", "search for text in files", "list directory", "show directory tree", "rename file".'
metadata:
version: 1.1.1
category: content
tags: [files, directories, search, navigation]
difficulty: beginner
Filesystem
All file and directory operations use Claude Code's built-in tools. No MCP server needed — native tools are faster, more capable, and cost zero context tokens when idle.
Quick Reference
| Filesystem MCP Tool | Replacement | Notes | | ----------------------------- | ------------------------------ | ---------------------------------------------------------------------- | | `read_file(path)` | `Read` tool | Supports line offset and limit | | `read_multiple_files(paths)` | Multiple parallel `Read` calls | Faster than sequential MCP calls | | `write_file(path, content)` | `Write` tool | Overwrites entire file | | `edit_file(path, edits)` | `Edit` tool | Exact string replacement; surgical edits | | `list_directory(path)` | `Glob` or `Bash ls` | Glob for patterns, ls for simple listing | | `directory_tree(path)` | `Bash fd` or `Glob **/*` | fd is fastest; Glob for pattern filtering | | `search_files(pattern, path)` | `Grep` tool | Full regex, file type filters, context lines | | `create_directory(path)` | `Bash mkdir -p` | `-p` creates intermediate directories | | `move_file(src, dst)` | `Bash mv` | Also handles renames | | `get_file_info(path)` | `Bash stat` or `Bash ls -la` | Size, permissions, timestamps | | `list_allowed_directories` | N/A | Claude Code operates in the working directory; no sandbox restrictions |
---
Reading Files
Read a Single File
Use the `Read` tool with an absolute path:
Read: /path/to/file.py
For large files, use offset and limit to read specific sections:
Read: /path/to/file.py (offset: 100, limit: 50)
This reads 50 lines starting from line 100. Use this for files with thousands of lines to avoid flooding context.
Read Multiple Files in Parallel
Issue multiple `Read` calls in a single response. Claude Code executes them concurrently:
Read: /path/to/file1.py
Read: /path/to/file2.py
Read: /path/to/file3.py
Parallel reads are faster than the MCP's `read_multiple_files` which serialized internally.
Read Images and PDFs
The `Read` tool handles binary formats:
- **Images** (PNG, JPG, SVG): displayed visually
- **PDFs**: extracted text; use `pages: "1-5"` for large documents (max 20 pages per call)
---
Writing and Editing Files
Write a New File
Use the `Write` tool to create a file or overwrite an existing one:
Write: /path/to/new-file.py
Content: <full file content>
The `Write` tool requires reading the file first if it already exists. For new files, write directly.
Edit an Existing File
Use the `Edit` tool for surgical modifications — replace exact string matches:
Edit: /path/to/file.py
old_string: "def old_function():"
new_string: "def new_function():"
The `Edit` tool fails if `old_string` is not unique in the file. Provide enough surrounding context to make the match unique, or use `replace_all: true` for find-and-replace across the entire file.
**Prefer Edit over Write** for existing files. Edit preserves everything outside the changed region and shows a clear diff. Write replaces the entire file.
---
Finding Files
By Name Pattern (Glob)
Glob: **/*.py → all Python files recursively
Glob: src/**/*.ts → TypeScript files under src/
Glob: *.md → Markdown files in current directory
Glob: **/test_*.py → test files anywhere in the tree
Results are sorted by modification time (most recent first).
By Content (Grep)
Grep: pattern="def process_data" type="py"
Grep: pattern="TODO|FIXME" glob="*.py"
Grep: pattern="class.*Controller" output_mode="content" -C=2
| Grep Parameter | Purpose | | ---------------- | -------------------------------------------------- | | `pattern` | Regex pattern to match | | `type` | File type filter (py, js, ts, rust, go, etc.) | | `glob` | Glob pattern filter (`*.tsx`, `src/**/*.py`) | | `output_mode` | `files_with_matches` (default), `content`, `count` | | `-C`, `-A`, `-B` | Context lines: around, after, before matches | | `-i` | Case-insensitive search |
Directory Listing
Simple listing:
ls -la /path/to/directory
Recursive tree with `fd`:
fd . /path/to/directory --type f
Tree with depth limit:
fd . /path/to/directory --type f --max-depth 2
Filter by extension:
fd -e py /path/to/directory
---
File Operations
Create Directory
mkdir -p /path/to/new/directory
The `-p` flag creates all intermediate directories. Always verify the parent path exists first with `ls`.
Move / Rename
mv /path/to/source.py /path/to/destination.py
Rename a file (same directory):
mv /path/to/old-name.py /path/to/new-name.py
Move
Read more
name: filesystem description: 'File and directory operations via Claude Code built-in tools, replacing the Filesystem MCP server. Triggers on: "read this file", "write to file", "edit file", "find files matching", "search for text in files", "list directory", "show directory tree", "rename file".' metadata: version: 1.1.1 category: content tags: [files, directories, search, navigation] difficulty: beginner
Filesystem
All file and directory operations use Claude Code's built-in tools. No MCP server needed — native tools are faster, more capable, and cost zero context tokens when idle.
Quick Reference
| Filesystem MCP Tool | Replacement | Notes | | ----------------------------- | ------------------------------ | ---------------------------------------------------------------------- | | `read_file(path)` | `Read` tool | Supports line offset and limit | | `read_multiple_files(paths)` | Multiple parallel `Read` calls | Faster than sequential MCP calls | | `write_file(path, content)` | `Write` tool | Overwrites entire file | | `edit_file(path, edits)` | `Edit` tool | Exact string replacement; surgical edits | | `list_directory(path)` | `Glob` or `Bash ls` | Glob for patterns, ls for simple listing | | `directory_tree(path)` | `Bash fd` or `Glob **/*` | fd is fastest; Glob for pattern filtering | | `search_files(pattern, path)` | `Grep` tool | Full regex, file type filters, context lines | | `create_directory(path)` | `Bash mkdir -p` | `-p` creates intermediate directories | | `move_file(src, dst)` | `Bash mv` | Also handles renames | | `get_file_info(path)` | `Bash stat` or `Bash ls -la` | Size, permissions, timestamps | | `list_allowed_directories` | N/A | Claude Code operates in the working directory; no sandbox restrictions |
---
Reading Files
Read a Single File
Use the `Read` tool with an absolute path:
Read: /path/to/file.py
For large files, use offset and limit to read specific sections:
Read: /path/to/file.py (offset: 100, limit: 50)
This reads 50 lines starting from line 100. Use this for files with thousands of lines to avoid flooding context.
Read Multiple Files in Parallel
Issue multiple `Read` calls in a single response. Claude Code executes them concurrently:
Read: /path/to/file1.py Read: /path/to/file2.py Read: /path/to/file3.py
Parallel reads are faster than the MCP's `read_multiple_files` which serialized internally.
Read Images and PDFs
The `Read` tool handles binary formats:
- **Images** (PNG, JPG, SVG): displayed visually
- **PDFs**: extracted text; use `pages: "1-5"` for large documents (max 20 pages per call)
---
Writing and Editing Files
Write a New File
Use the `Write` tool to create a file or overwrite an existing one:
Write: /path/to/new-file.py Content: <full file content>
The `Write` tool requires reading the file first if it already exists. For new files, write directly.
Edit an Existing File
Use the `Edit` tool for surgical modifications — replace exact string matches:
Edit: /path/to/file.py old_string: "def old_function():" new_string: "def new_function():"
The `Edit` tool fails if `old_string` is not unique in the file. Provide enough surrounding context to make the match unique, or use `replace_all: true` for find-and-replace across the entire file.
**Prefer Edit over Write** for existing files. Edit preserves everything outside the changed region and shows a clear diff. Write replaces the entire file.
---
Finding Files
By Name Pattern (Glob)
Glob: **/*.py → all Python files recursively Glob: src/**/*.ts → TypeScript files under src/ Glob: *.md → Markdown files in current directory Glob: **/test_*.py → test files anywhere in the tree
Results are sorted by modification time (most recent first).
By Content (Grep)
Grep: pattern="def process_data" type="py" Grep: pattern="TODO|FIXME" glob="*.py" Grep: pattern="class.*Controller" output_mode="content" -C=2
| Grep Parameter | Purpose | | ---------------- | -------------------------------------------------- | | `pattern` | Regex pattern to match | | `type` | File type filter (py, js, ts, rust, go, etc.) | | `glob` | Glob pattern filter (`*.tsx`, `src/**/*.py`) | | `output_mode` | `files_with_matches` (default), `content`, `count` | | `-C`, `-A`, `-B` | Context lines: around, after, before matches | | `-i` | Case-insensitive search |
Directory Listing
Simple listing:
ls -la /path/to/directory
Recursive tree with `fd`:
fd . /path/to/directory --type f
Tree with depth limit:
fd . /path/to/directory --type f --max-depth 2
Filter by extension:
fd -e py /path/to/directory
---
File Operations
Create Directory
mkdir -p /path/to/new/directory
The `-p` flag creates all intermediate directories. Always verify the parent path exists first with `ls`.
Move / Rename
mv /path/to/source.py /path/to/destination.py
Rename a file (same directory):
mv /path/to/old-name.py /path/to/new-name.py
Move
Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
Repo: Mathews-Tom/armory
Other skills on armory.
- /adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an ADR", "document this decision", "architecture decision record", "decision record", "design decision", "ADR for".
Open skill - /agent-builder
Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK, claude -p, SDK MCP servers, hooks, sessions. Triggers on: "build an agent", "agent SDK", "headless mode", "automate Claude", "programmatic agent".
Open skill - /api-docs-generator
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on: "generate API docs", "document this API", "OpenAPI for", "FastAPI docs", "document endpoints", "swagger docs".
Open skill - /architecture-diagram
Generate layered architecture diagrams as self-contained HTML with inline SVG icons, CSS Grid containers, and connection overlays. Triggers on: "architecture diagram", "infra diagram", "system diagram", "deployment diagram", "topology", "draw architecture". NOT for architecture
Open skill - /architecture-reviewer
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports. Triggers on: "review architecture", "critique design", "audit system", "assess scalability", "enterprise readiness", "technical due
Open skill - /arxiv-figures
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Triggers on: "optimize figures for arXiv", "reduce figure size", "convert figures for arXiv", "fix arXiv
Open skill

