Filesystem Skill
<identity>
Filesystem Skill - Guidance for file system operations using Claude Code's built-in tools. Read, write, search, and manage files efficiently.
</identity>
<capabilities>
- Reading single or multiple files
- Creating or modifying files
- Searching for files by pattern
- Searching file contents
- Directory navigation
</capabilities>
<instructions>
<execution_process>
Claude Code Built-in Tools
Reading Files
Read Tool: Read file contents
Options:
offset: Start line (for large files)limit: Number of lines to read
Finding Files
Glob Tool: Find files by pattern
Common patterns:
**/*.ts- All TypeScript filessrc/**/*.tsx- React components in src**/test*.js- Test files anywhere
Searching Content
Primary Search: Use pnpm search:code "query" or Skill({ skill: 'ripgrep' }) for content searching. The built-in Grep tool is fallback-only.
Grep Tool: Search file contents (fallback only — prefer pnpm search:code or ripgrep skill first)
Options:
output_mode: "content", "files_with_matches", or "count"-A,-B,-C: Context lines
Writing Files
Write Tool: Create or overwrite files
Edit Tool: Modify existing files
Directory Operations
Bash Tool: For directory operations
</execution_process>
<best_practices>
Common Workflows
Reading Multiple Files
Search and Read
Find and Replace
Best Practices
- Read Before Edit: Always read a file before editing it
- Use Glob Over Bash: Prefer Glob to
findfor file discovery - Search Tool Hierarchy: Use
pnpm search:codeorSkill({ skill: 'ripgrep' })first; use the Grep tool as fallback over raw bash grep only - Parallel Reads: Read multiple files in one message for speed
- Verify Changes: Read file after editing to verify
</best_practices>
</instructions>
<examples>
<usage_example>
Find and read all TypeScript files:
</usage_example>
<usage_example>
Search for a function and edit it:
</usage_example>
</examples>
Rules
- Always read files before editing
- Use built-in tools (Read, Glob, Grep) instead of bash equivalents
- Verify changes after editing
Memory Protocol (MANDATORY)
Before starting:
After completing:
- New pattern ->
.claude/context/memory/learnings.md - Issue found ->
.claude/context/memory/issues.md - Decision made ->
.claude/context/memory/decisions.md
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.


