kavin525zhang/llm_reasoning_framework/terminal-tools-fs-search

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use terminal_rg / terminal_find when you need raw filesystem search outside the project tree — system configs, /var/log, /etc, archive contents — or when files-tools.search_files is too project-scoped. Teaches the rg vs find vs terminal_exec("ls/du/tree") split, common rg flag combos for code/logs/configs, find predicates for mtime/size/type queries, and the rule that for tree views or single-file stat info you should just use terminal_exec instead of inventing a tool. Read before reaching for raw shell to grep or find anything.

Install

npx vskill@latest install kavin525zhang/llm_reasoning_framework/terminal-tools-fs-search

SKILL.md

The same SKILL.md was published earlier as aden-hive/hive/terminal-tools-fs-search.

Filesystem search

terminal-tools provides two structured search tools: terminal_rg (ripgrep for content) and terminal_find (find for predicates). Everything else (tree, stat, du) is just terminal_exec.

When to use what

TaskTool
Find code/text matching a pattern in your projectfiles-tools.search_files (project-aware, ranks by relevance)
Find code/text matching a pattern in /var/log, /etc, archives, system dirsterminal_rg
Find files matching name/glob/predicateterminal_find
List a directoryterminal_exec("ls -la /path")
Tree viewterminal_exec("tree -L 2 /path")
Single-path statterminal_exec("stat /path")
Disk usageterminal_exec("du -sh /path") or terminal_exec("du -h --max-depth=2 /")
Count matches across filesterminal_rg(pattern, count=True via extra_args=["-c"])

terminal_rg — content search

ripgrep is fast, gitignore-aware, and has a deep flag surface. The structured wrapper exposes the most useful flags directly; extra_args covers the rest.

Common patterns
# All Python files containing "TODO"
terminal_rg(pattern="TODO", path=".", type_filter="py")
# Case-insensitive, with context
terminal_rg(pattern="error", path="/var/log", ignore_case=True, context=2)
# Search hidden files (rg ignores them by default)
terminal_rg(pattern="api_key", path="~", hidden=True)
# Don't respect .gitignore (find files git would ignore)
terminal_rg(pattern="generated", path=".", no_ignore=True)
# Multi-line pattern (e.g., function definitions spanning lines)
terminal_rg(pattern=r"def\s+\w+\(.*\n.*\n", path="src", extra_args=["--multiline"])
# Specific filename glob
terminal_rg(pattern="version", path=".", glob="*.toml")
rg flag idioms
FlagEffect
-tpy (type_filter="py")Only Python files
-uuDon't respect any ignores (incl. .git/)
--multiline (extra_args)Allow regex spanning lines
--max-count (max_count)Stop after N matches per file
--max-depth (max_depth)Limit recursion
-w (extra_args)Whole word match
-F (extra_args)Fixed string (no regex)

See references/ripgrep_cheatsheet.md for the long form.

terminal_find — predicate search

find excels at "files matching N criteria". The wrapper surfaces the most common predicates; combine via the structured arguments.

# All .log files modified in the last 7 days, larger than 1MB
terminal_find(path="/var/log", iname="*.log", mtime_days=7, size_kb_min=1024)
# All directories named ".git" (find Git repos under a tree)
terminal_find(path="~/projects", name=".git", type_filter="d")
# Only the top three levels
terminal_find(path="/etc", max_depth=3, type_filter="f")
# Symlinks
terminal_find(path=".", type_filter="l")

See references/find_predicates.md for combinations not directly exposed.

Output truncation

Both tools return truncated: true when their output exceeded the inline cap. For terminal_rg, this means matches were dropped (refine the pattern or narrow the path); for terminal_find, results past max_results (default 1000) are dropped. Tighten predicates rather than raising the cap.

Anti-patterns

  • Don't `terminal_rg` your project tree — files-tools.search_files is project-aware and ranks results.
  • Don't reach for `terminal_find` to list one directory — terminal_exec("ls -la /path") is shorter.
  • Don't use `terminal_exec("grep ...")` when terminal_rg exists — rg is faster, gitignore-aware, and returns structured matches.
  • Don't use `terminal_exec("find ...")` to invent your own predicate combinations — use terminal_find and report missing capabilities.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/kavin525zhang/llm_reasoning_framework/terminal-tools-fs-search/badge)](https://verified-skill.com/skills/kavin525zhang/llm_reasoning_framework/terminal-tools-fs-search)

Something wrong with this skill or its page? Tell us.