Help us improve
Share bugs, ideas, or general feedback.
From hatch3r
User-friendly find replacement, gitignore-aware. Locates filenames or directories by glob with parallel walking; outputs newline-separated hit records.
npx claudepluginhub hatch3r/hatch3rHow this skill is triggered — by the user, by Claude, or both
Slash command
/hatch3r:hatch3r-cli-fdThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- HATCH3R-CLI-SKILL-GENERATED v1 -->
Finds files quickly using fd CLI tool with gitignore awareness, parallel execution, regex, glob patterns, and filters like size or time. Use for searching by name, extension, or pattern in directories.
Provides cheatsheets for fd to find files, ripgrep (rg) to search code content, and fzf for interactive fuzzy selection with previews. Includes combined workflows and performance tips.
Fast recursive grep with gitignore awareness for regex content searches across source trees. Invoke `rg` with `-c` or `--max-count` to bound results.
Share bugs, ideas, or general feedback.
User-friendly find replacement, gitignore-aware
Before invoking fd, resolve these via agents/shared/user-question-protocol.md (default behavior, not exception-driven):
-H including dotfiles), confirm the target path before running.fd is read-only on its own, but fd … -x / -X runs an arbitrary command per match. fd <pat> -x rm or any mutating --exec is destructive and fan-out-wide — confirm the command and the match set before running, and prefer printing the list first.-g glob, -e ext vs path regex), ask which one.Tier 1 reference card — no fan-out. This skill is a single-tool usage reference an agent consults inline; it spawns no sub-agents. Fan-out is owned by the calling workflow per its own Fan-out Discipline block. Source: .claude/rules/fan-out-discipline.md (P8 B2).
Reach for fd when the task is in the search category and the agent would otherwise call an MCP tool or read large outputs into context.
CLI tools return structured stdout that fits in <1KB for typical queries; equivalent MCP calls regularly exceed 10KB. Reference: Anthropic engineering (Nov 4 2025) — code-execution-over-MCP yields 98.7% token reduction.
fd '\.test\.ts$' src/
Regex match against the path tail — locates every test file under src/ without traversing node_modules or .git (gitignore-aware by default).
fd -e ts -e tsx --exec wc -l
Extension filter plus parallel --exec — one process per match, returns line counts for sizing audits.
fd -H -E .git -E node_modules 'config'
Includes hidden files (-H) and explicitly excludes vendor trees — useful when scanning dotfiles for stale config.
fd --changed-within 7d -e md
Time-windowed query for recent edits — pairs with gh pr list to spot undocumented changes.
fd 'SKILL\.md$' skills/ -x rg -l 'placeholder'
Pipeline: locate every SKILL.md, then rg-search each for a marker string in one parallel batch.
fd when the recursive predicate needs POSIX find features like -mtime +N -delete, -path with mixed Boolean operators, or NFS-mount handling. Reach for system find.fd as a content searcher — it matches paths, not file bodies. Reach for ripgrep (hatch3r-cli-ripgrep), optionally piped after fd for filename pre-filtering.fd against a system-wide indexed search ("which package owns this file?"); it walks the live filesystem each call. Reach for locate / mlocate.| Tool | When to prefer |
|---|---|
find (POSIX) | Mixed predicates with -and/-or, -mtime, -prune, or actions like -delete and -execdir. |
locate | Pre-indexed lookups across the entire filesystem (no live walk). |
ripgrep (hatch3r-cli-ripgrep) | When you want content matches, not path matches — fd ... -x rg if both. |
git ls-files | Restrict to tracked files only; ignores untracked even if not in .gitignore. |
Verify with:
command -v fd
Install (macOS — default for this machine):
# brew
brew install fd
Install (Linux):
# apt
sudo apt install fd-find
Install (Windows):
# scoop
scoop install fd
Homepage: https://github.com/sharkdp/fd