Install
$ agentstack add skill-aden-hive-hive-terminal-tools-fs-search ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
| Task | Tool | |---|---| | Find code/text matching a pattern in your project | files-tools.search_files (project-aware, ranks by relevance) | | Find code/text matching a pattern in /var/log, /etc, archives, system dirs | terminal_rg | | Find files matching name/glob/predicate | terminal_find | | List a directory | terminal_exec("ls -la /path") | | Tree view | terminal_exec("tree -L 2 /path") | | Single-path stat | terminal_exec("stat /path") | | Disk usage | terminal_exec("du -sh /path") or terminal_exec("du -h --max-depth=2 /") | | Count matches across files | terminal_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
| Flag | Effect | |---|---| | -tpy (type_filter="py") | Only Python files | | -uu | Don'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_rgyour project tree —files-tools.search_filesis project-aware and ranks results. - Don't reach for
terminal_findto list one directory —terminal_exec("ls -la /path")is shorter. - Don't use
terminal_exec("grep ...")whenterminal_rgexists — rg is faster, gitignore-aware, and returns structured matches. - Don't use
terminal_exec("find ...")to invent your own predicate combinations — useterminal_findand report missing capabilities.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: aden-hive
- Source: aden-hive/hive
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.