Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/KhaledSMQ/greplmWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/khaledsmq/greplm/greplm-search)<a href="https://agentmods.dev/agents/khaledsmq/greplm/greplm-search"><img src="https://agentmods.dev/badge/agents/khaledsmq/greplm/greplm-search.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.00998 |
| Opus 5 | $0.00021 | $0.00499 |
| Sonnet 5 | $0.00008 | $0.00200 |
| Haiku 4.5 | $0.00004 | $0.00100 |
Grade C, and why
greplm-search scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://raw.githubusercontent.com/KhaledSMQ/greplm/main/install.sh | sh Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsSL https://raw.githubusercontent.com/KhaledSMQ/greplm/main/install.sh | sh Copies of this mod
8 near-identical copies found in the catalogue:
- greplm-search — 100% identical, 4 lines differ
- greplm-search — 100% identical, 6 lines differ
- greplm-search — 100% identical, 3 lines differ
- greplm-search — 100% identical, 0 lines differ
- greplm-search — 100% identical, 3 lines differ
- greplm-search — 97% identical, 5 lines differ
- greplm-search — 97% identical, 5 lines differ
- greplm-search — 97% identical, 7 lines differ
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Use greplm to explore codebases faster than raw grep — and to reason about them with real code intelligence (call graph, typed go-to-definition, structural search, git history) without burning context on whole-file reads.
greplm index # build or refresh the index
# Find code
greplm search "authentication flow"
greplm search "SegmentWriter" --word # whole-identifier match
greplm search -e 'fn .*candidates' --lang rust --limit 20
greplm search "needle" --exhaustive # every match: no ranking/limit/per-file cap (grep parity)
greplm symbols extract --exact # symbol / definition lookup
greplm outline crates/greplm-core/src/trigram.rs
greplm snippet crates/greplm-core/src/trigram.rs 15 25 --context 3
# Code intelligence
greplm pack "how does incremental indexing work" --budget 8000 # task -> ranked, budgeted context
greplm def <file> <line> <col> # typed go-to-definition (file line col)
greplm callers references # who calls this symbol
greplm callees merge_segments # what this symbol calls
greplm impact add_doc --depth 3 # blast radius: what breaks if I change this
greplm xref SegmentWriter # resolved references (defs + calls + imports)
greplm ast 'fn $NAME() {}' --lang rust # structural / AST search (or a tree-sitter query)
# Git time-travel
greplm blame <file> <line>
greplm history references # commits that touched a symbol
greplm changed main # files + symbols changed since a revision
greplm summary
Pass -C ./my-project to search another directory. Add --json for machine-readable output.
For repeated queries in an agent loop, run greplm serve in the background to keep the index hot; queries then route to the daemon automatically.
If greplm is not on $PATH, install with:
curl -fsSL https://raw.githubusercontent.com/KhaledSMQ/greplm/main/install.sh | sh
Workflow
- Run
greplm indexbefore searching a project (incremental by default).indexed 0 filesmeans nothing changed since the last run — not an empty index; confirm the index is populated withgreplm status/greplm summary(checkfiles/doc_count) before falling back to grep. - Start a task with
greplm pack "<task>" --budget Nto load exactly the relevant code instead of reading whole files. - Before editing a symbol, run
greplm impact <symbol>to see the blast radius, plusgreplm callers/greplm calleesto map the call graph. - Use
greplm def <file> <line> <col>for typed go-to-definition andgreplm xref <symbol>for resolved references (definitions, calls, imports). - Use
greplm ast '<pattern>' --lang <lang>for structural matches regex can't express. - Use
greplm blame/greplm history/greplm changedto understand how and why code evolved. - For "find every occurrence", use
greplm search --exhaustive(no ranking/limit/per-file cap); drop to raw grep only for a quick one-off confirmation of an exact string.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 63 lines · 42 tokens per session scan C a15551af4787
greplm-search is an agent published in the GitHub repository KhaledSMQ/greplm (14 stars, last pushed 27d ago), licensed MIT. It adds 42 tokens to every session and 998 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
tldrcrew-investigator
Read-only code locator. Returns file:line table for "where is X defined", "what calls Y", "list all uses of Z", "map this directory". Output is tldr-compressed so the main thread eats fewer tokens. Refuses to suggest fixes.
minimal-fixer
A focused bug-fixing agent that changes the implementation to make an existing failing reproduction test pass. A reproduction test is a test that demonstrates the bug, and a regression check confirms other behavior still works.
prod-logs
Pulls recent production logs filtered for errors, warnings, and anomalies, a quick health check after any deploy, after a load test, or any time you want to know if something is going wrong. Treats logs as the only acceptable primary source for incident analysis.
Tenable Host Doctor
Diagnoses why a single host failed a Tenable credentialed scan, from its .nessus export.
bug-hunter
Hunts correctness bugs that are provable from the code as written — logic errors, off-by-one, null/undefined dereferences, unresolved references, inverted conditions, wrong operators, unreachable code. Requires a concrete failure scenario for every finding. Refuses style, performance speculation, and…
codebase-analyzer
Analyzes codebase implementation details. Call the codebase-analyzer agent when you need to find detailed information about specific components.