skills/deepsearch/SKILL.md
Exhaustive multi-strategy codebase search using grep, ripgrep, find, and AST-aware tracing to locate implementations, references, dependencies, and usage patterns for a given symbol, pattern, or concept. Use when you need to find every occurrence of a function, type, config key, or concept across a project — especially when simple text search misses indirect references, re-exports, or dynamic usage.
npx skillsauth add MeroZemory/oh-my-droid deepsearchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Perform an exhaustive, multi-pass search of the codebase for the specified query, pattern, or concept. Go beyond naive text matching by combining literal search, regex patterns, structural analysis, and dependency tracing to produce a complete map of where and how the target appears.
Start broad. Run parallel searches to catch exact matches, variations, and related terms.
# Case-sensitive exact match across the project (ripgrep)
rg --word-regexp 'FunctionName' --type-add 'src:*.{ts,tsx,js,jsx,py,go,rs,java}' -t src -n
# If ripgrep is unavailable, fall back to grep
grep -rn --include='*.ts' --include='*.tsx' 'FunctionName' src/
# Catch naming-convention variants (camelCase, snake_case, SCREAMING_CASE)
rg -in 'function.name|function_name|FUNCTION_NAME' --glob '!node_modules' --glob '!dist'
# Find all call sites, including method calls and chained usage
rg 'functionName\s*\(' -n --glob '*.{ts,tsx,js,jsx}'
# Find type annotations, generic usage, and interface references
rg ':\s*FunctionName[<\s,\)]' -n --glob '*.{ts,tsx}'
# Find decorators or annotations referencing the target
rg '@FunctionName|@.*FunctionName' -n
# Find files whose name matches the concept
find . -type f \( -name '*function-name*' -o -name '*FunctionName*' \) -not -path '*/node_modules/*'
# Find config or manifest entries
rg 'function.name|functionName' -g '*.{json,yaml,yml,toml,ini,env}'
Move beyond text matching to understand the dependency graph around the target.
# Who imports this symbol?
rg "import.*FunctionName.*from" -n --glob '*.{ts,tsx,js,jsx}'
rg "from\s+['\"].*function-name['\"]" -n --glob '*.{ts,tsx,js,jsx}'
# Who re-exports it? (barrel files, index files)
rg "export.*FunctionName|export \* from.*function-name" -n --glob '*.{ts,tsx,js,jsx}'
# For Python
rg "from\s+\S+\s+import\s+.*FunctionName" -n --glob '*.py'
For each file that contains the target, ask: "What imports this file?"
# Extract the module path from the file, then search for imports of that path
rg "from ['\"].*modules/target-module['\"]" -n --glob '*.{ts,tsx,js,jsx}'
# String-based lookups (config keys, event names, route paths)
rg "'function.name'|\"function.name\"|`function.name`" -n
# Object bracket access
rg "\[.*['\"]functionName['\"].*\]" -n
# Reflection, decorators, or registry patterns
rg "register\(.*functionName|resolve\(.*functionName" -n
Read the files identified in Phases 1 and 2 to understand context.
# Find related test files
find . -type f \( -name '*FunctionName*test*' -o -name '*FunctionName*spec*' -o -name '*test*FunctionName*' \) -not -path '*/node_modules/*'
# Search test content for usage
rg 'FunctionName' --glob '*{test,spec}*.{ts,tsx,js,jsx,py}'
components/, hooks/, pages/, app/, lib/, utils/, services/, store/, context/routes/, middleware/, controllers/, handlers/views/, models/, serializers/, urls.py, tasks/cmd/, internal/, pkg/, plus any *_test.go files.env*, docker-compose*, Dockerfile, *.yaml, *.toml, CI workflow filesCite every finding with file:line references. Group related findings together.
Before reporting results, verify coverage:
If any checklist item is uncovered, go back and run the missing search before finalising the report.
documentation
Agentic memory system for writers - track characters, relationships, scenes, and themes
development
Decompose multi-step tasks into parallel sub-agent workloads, route each sub-task to the cheapest capable model tier (Haiku/Sonnet/Opus), run long-running commands in the background, and verify all deliverables before stopping. Use when the user asks to 'go fast', 'parallelize', 'ultrawork', or when a request contains 3+ independent sub-tasks that benefit from concurrent execution.
tools
QA cycling workflow - test, verify, fix, repeat until goal met
development
Parallel autopilot with file ownership partitioning