file-nav
Skill3 starsChanged 10 months agoMITView on GitHub
Navigate and find files using fd. Use when finding files by name, listing directory contents, exploring project structure, or when the user asks to find/list/show files or directories.
- Installs packages
In this repository13 other files it gives its agents.
- alpinejsSkill
- browser-toolsSkill
- clojure-replSkill
- clojure-symbolsSkill
- code-renameSkill
- code-searchSkill
- code-symbolsSkill
- githubSkill
- janetSkill
- lib-docsSkill
- plansSkill
- playwrightSkill
- skill-creatorSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Use fd for finding files and navigating directory structures.
- Very specific: line 13
If fd is not installed, recommend the user install it:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
File Navigation Skill
Use fd for finding files and navigating directory structures. fd is a fast, user-friendly alternative to find.
Prerequisites
If fd is not installed, recommend the user install it:
# Arch Linux
sudo pacman -S fd
# Ubuntu/Debian (note: binary is 'fdfind', alias to 'fd')
sudo apt install fd-find
alias fd=fdfind
# macOS
brew install fd
# Cargo
cargo install fd-findQuick Reference
| Task | Command |
| Find files by name | fd "pattern" |
| List all files | fd |
| List directory contents | fd . directory/ --max-depth 1 |
| Find by extension | fd -e clj |
Core fd Options
Basic Search
fd "pattern" # Find files/dirs matching pattern
fd # List all files (like recursive ls)
fd . path/ # List all files under path/
fd "pattern" path/ # Search within specific directoryFiltering by Type
fd -t f "pattern" # Files only
fd -t d "pattern" # Directories only
fd -t l "pattern" # Symlinks only
fd -t x "pattern" # Executables onlyFiltering by Extension
fd -e clj # All .clj files
fd -e ts -e tsx # All .ts and .tsx files
fd -e md "readme" # Markdown files matching "readme"Depth Control
fd --max-depth 1 # Current directory only (like ls)
fd --max-depth 2 # Current + one level down
fd --min-depth 2 # Skip current directory levelCase Sensitivity
fd "pattern" # Smart case (default)
fd -s "Pattern" # Case sensitive
fd -i "pattern" # Case insensitiveIncluding Hidden/Ignored Files
fd -H "pattern" # Include hidden files
fd -I "pattern" # Include gitignored files
fd -u "pattern" # Unrestricted (hidden + ignored)Exclusion
fd -E node_modules # Exclude directory
fd -E "*.test.*" # Exclude pattern
fd -E vendor -E dist # Multiple exclusionsCommon Tasks
List Directory Contents (like ls)
# Current directory only
fd . --max-depth 1
# With file types visible
fd . --max-depth 1 -t f # Files only
fd . --max-depth 1 -t d # Directories only
# Specific directory
fd . src/ --max-depth 1Explore Project Structure
# Show top-level structure
fd . --max-depth 1
# Show two levels deep
fd . --max-depth 2
# Show only directories (project skeleton)
fd -t d --max-depth 3Find Files by Name
# Find config files
fd config
fd "config\.(json|yaml|edn)"
# Find test files
fd "_test\."
fd "test" -t d # Find test directories
# Find specific file anywhere
fd "^package\.json$"
fd -g "package.json" # Glob mode (exact match)Find Files by Extension
# Single extension
fd -e clj
# Multiple extensions
fd -e ts -e tsx -e js -e jsx
# Extension in specific directory
fd -e sql db/Find Recently Modified
fd --changed-within 1d # Modified in last day
fd --changed-within 1h # Modified in last hour
fd --changed-before 1w # Modified more than a week agoFind by Size
fd --size +1m # Files larger than 1MB
fd --size -10k # Files smaller than 10KBOutput Formats
fd "pattern" # One path per line (default)
fd -0 "pattern" # Null-separated (for xargs -0)
fd -l "pattern" # Long format (like ls -l)
fd --color always # Force color outputExecuting Commands on Results
fd -e log -x rm # Delete all .log files
fd -e clj -x wc -l # Count lines in each Clojure file
fd -t f -x chmod 644 # Set permissions on all filesCombining with Other Tools
# Find and grep
fd -e clj -x rg "defn"
# Find and read (use Read tool after fd)
fd "interface.clj" # Find the file
# Then use Read tool on the result
# Count files by extension
fd -e clj | wc -lSearch Patterns
fd uses regex by default:
fd "^test" # Starts with "test"
fd "test$" # Ends with "test"
fd "test.*spec" # "test" followed by "spec"
fd "\d{4}" # Contains 4 digitsFor glob patterns:
fd -g "*.config.js" # Glob mode
fd -g "src/**/*.ts" # Glob with directoryWhen to Use fd vs rg
| Task | Tool |
| Find files by name | fd |
| Find files by content | rg |
| List directory structure | fd |
| Search inside files | rg |
| Find + search content | fd -e ext -x rg "pattern" |
Performance Tips
- Specify directory -
fd pattern path/is faster than searching everywhere - Use extension filter -
fd -e cljskips irrelevant files - Limit depth -
--max-depth Nfor large trees - Exclude heavy dirs -
-E node_modules -E .git
Examples
Find all interface files in a project
fd "interface" -e cljShow source directory structure
fd -t d src/ --max-depth 2Find configuration files
fd -g "*.{json,yaml,yml,edn,toml}" --max-depth 2Find test files excluding vendor
fd "_test\." -E vendor -E node_modulesFind large files
fd -t f --size +1m -lDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

