
Grepai Trace Callers
- 671 installs
- 18 repo stars
- Updated February 1, 2026
- yoanbernabeu/grepai-skills
grepai-trace-callers is a Claude Code skill that runs grepai trace callers to map every code location calling a target function for developers who need caller discovery before refactoring.
About
grepai-trace-callers is a grepai-skills workflow for using the grepai trace callers command to answer who calls a given function or method. Developers use it before refactors, during impact analysis, and for code navigation when understanding dependencies matters. The skill documents when to trace callers—finding usages, assessing blast radius, and exploring call graphs—and pairs with GrepAI's CLI trace subsystem. Reach for grepai-trace-callers when renaming functions, changing signatures, or evaluating how widely a method is used across a codebase.
- Answers the question 'Who calls this function?' with precise file, line, and context
- Supports both human-readable output and --json for scripts and agents
- Used for impact analysis before refactoring
- Enables fast code navigation and dependency discovery
- Works on any codebase with zero additional setup
Grepai Trace Callers by the numbers
- 671 all-time installs (skills.sh)
- +6 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #66 of 596 Debugging skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-trace-callersAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 671 |
|---|---|
| repo stars | ★ 18 |
| Security audit | 3 / 3 scanners passed |
| Last updated | February 1, 2026 |
| Repository | yoanbernabeu/grepai-skills ↗ |
How do you find all callers of a function?
Instantly map every location that calls a specific function before refactoring or changing code.
Who is it for?
Developers using GrepAI who need fast caller discovery and impact analysis before refactoring shared functions or APIs.
Skip if: Developers without grepai installed who only need simple text search without call-graph semantics.
When should I use this skill?
The user needs to find function callers, assess refactor impact, or explore who invokes a specific method.
What you get
A caller map listing every code location that invokes the target function or method.
- caller location list
- call graph context for target function
Files
GrepAI Trace Callers
This skill covers using grepai trace callers to find all code locations that call a specific function or method.
When to Use This Skill
- Finding all usages of a function before refactoring
- Understanding function dependencies
- Impact analysis before changes
- Code navigation and exploration
What is Trace Callers?
grepai trace callers answers: "Who calls this function?"
func Login(user, pass) {...}
↑
│
┌───────┴───────────────────┐
│ Who calls Login()? │
├───────────────────────────┤
│ • HandleAuth (auth.go:42) │
│ • TestLogin (test.go:15) │
│ • CLI (main.go:88) │
└───────────────────────────┘Basic Usage
grepai trace callers "FunctionName"Example
grepai trace callers "Login"Output:
🔍 Callers of "Login"
Found 3 callers:
1. HandleAuth
File: handlers/auth.go:42
Context: user.Login(ctx, credentials)
2. TestLoginSuccess
File: handlers/auth_test.go:15
Context: result := Login(testUser, testPass)
3. RunCLI
File: cmd/main.go:88
Context: err := auth.Login(username, password)JSON Output
For programmatic use:
grepai trace callers "Login" --jsonOutput:
{
"query": "Login",
"mode": "callers",
"count": 3,
"results": [
{
"file": "handlers/auth.go",
"line": 42,
"caller": "HandleAuth",
"context": "user.Login(ctx, credentials)"
},
{
"file": "handlers/auth_test.go",
"line": 15,
"caller": "TestLoginSuccess",
"context": "result := Login(testUser, testPass)"
},
{
"file": "cmd/main.go",
"line": 88,
"caller": "RunCLI",
"context": "err := auth.Login(username, password)"
}
]
}Compact JSON (AI Optimized)
grepai trace callers "Login" --json --compactOutput:
{
"q": "Login",
"m": "callers",
"c": 3,
"r": [
{"f": "handlers/auth.go", "l": 42, "fn": "HandleAuth"},
{"f": "handlers/auth_test.go", "l": 15, "fn": "TestLoginSuccess"},
{"f": "cmd/main.go", "l": 88, "fn": "RunCLI"}
]
}TOON Output (v0.26.0+)
TOON format offers ~50% fewer tokens than JSON:
grepai trace callers "Login" --toonOutput:
callers[3]:
- call_site:
context: "user.Login(ctx, credentials)"
file: handlers/auth.go
line: 42
symbol:
name: HandleAuth
...Note:--jsonand--toonare mutually exclusive.
Extraction Modes
GrepAI offers two extraction modes:
Fast Mode (Default)
Uses regex patterns. Fast and dependency-free.
grepai trace callers "Login" --mode fastPrecise Mode
Uses tree-sitter AST parsing. More accurate but requires tree-sitter.
grepai trace callers "Login" --mode preciseComparison
| Mode | Speed | Accuracy | Dependencies |
|---|---|---|---|
fast | ⚡⚡⚡ | Good | None |
precise | ⚡⚡ | Excellent | tree-sitter |
Configuration
Configure trace in .grepai/config.yaml:
trace:
mode: fast # fast or precise
enabled_languages:
- .go
- .js
- .ts
- .py
- .php
- .rs
exclude_patterns:
- "*_test.go"
- "*.spec.ts"Supported Languages
| Language | Extensions |
|---|---|
| Go | .go |
| JavaScript | .js, .jsx |
| TypeScript | .ts, .tsx |
| Python | .py |
| PHP | .php |
| C/C++ | .c, .h, .cpp, .hpp, .cc, .cxx |
| Rust | .rs |
| Zig | .zig |
| C# | .cs |
| Java | .java |
| Pascal/Delphi | .pas, .dpr |
Use Cases
Before Refactoring
# Find all usages before renaming
grepai trace callers "getUserById"
# Check impact of changing signature
grepai trace callers "processPayment"Understanding Codebase
# Who uses this core function?
grepai trace callers "validateToken"
# Find entry points to a module
grepai trace callers "initialize"Debugging
# Where is this function called from?
grepai trace callers "problematicFunction"Code Review
# Verify function usage before approving changes
grepai trace callers "deprecatedMethod"Handling Common Names
If your function name is common, results may include unrelated code:
Problem
grepai trace callers "get" # Too common, many false positivesSolutions
1. Use more specific name:
grepai trace callers "getUserProfile"2. Filter results by path:
grepai trace callers "get" --json | jq '.results[] | select(.file | contains("auth"))'Combining with Semantic Search
Use together for comprehensive understanding:
# Find what Login does (semantic)
grepai search "user login authentication"
# Find who uses Login (trace)
grepai trace callers "Login"Scripting Examples
Bash
# Count callers
grepai trace callers "MyFunction" --json | jq '.count'
# Get caller function names
grepai trace callers "MyFunction" --json | jq -r '.results[].caller'
# Get file paths only
grepai trace callers "MyFunction" --json | jq -r '.results[].file' | sort -uPython
import subprocess
import json
result = subprocess.run(
['grepai', 'trace', 'callers', 'Login', '--json'],
capture_output=True,
text=True
)
data = json.loads(result.stdout)
print(f"Found {data['count']} callers of Login:")
for r in data['results']:
print(f" - {r['caller']} in {r['file']}:{r['line']}")Common Issues
❌ Problem: No callers found ✅ Solutions:
- Check function name spelling (case-sensitive)
- Ensure file type is in
enabled_languages - Run
grepai watchto update symbol index
❌ Problem: Too many false positives ✅ Solutions:
- Use more specific function name
- Add exclude patterns in config
- Filter results with
jq
❌ Problem: Missing some callers ✅ Solutions:
- Try
--mode precisefor better accuracy - Check if files are in ignore patterns
Best Practices
1. Use exact function name: Case matters 2. Check symbol index: Run grepai watch first 3. Use JSON for scripts: Easier to parse 4. Combine with search: Semantic + trace = full picture 5. Filter large results: Use jq or grep
Output Format
Trace callers result:
🔍 Callers of "Login"
Mode: fast
Language files scanned: 245
Found 3 callers:
1. HandleAuth
File: handlers/auth.go:42
Context: user.Login(ctx, credentials)
2. TestLoginSuccess
File: handlers/auth_test.go:15
Context: result := Login(testUser, testPass)
3. RunCLI
File: cmd/main.go:88
Context: err := auth.Login(username, password)
Tip: Use --json for machine-readable output
Use --mode precise for more accurate resultsRelated skills
FAQ
What command does grepai-trace-callers use?
grepai-trace-callers teaches the grepai trace callers CLI command, which lists every code location that calls a specified function or method. Use it for refactor impact analysis and dependency exploration.
When should developers trace callers before editing code?
grepai-trace-callers recommends tracing callers before refactors, signature changes, and dependency reviews. Mapping all usages first reduces the risk of breaking unknown call sites across the repository.
Is Grepai Trace Callers safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.