| name | cft-cross-repo-search |
| description | Search across all cloned HMCTS repos using the workspace's pre-tuned ripgrep wrapper. Use when the user asks about code or text patterns spanning multiple service teams or platform components. |
Cross-repo search
The workspace has a tuned ripgrep wrapper at ./scripts/grep that excludes the noisy directories CFT projects accumulate (node_modules, build, .gradle, target, dist, .terraform, lock files, large generated jars). Always use it for workspace-spanning searches.
When to use
Use this skill when the user asks any of:
- "Where is X used across the platform?"
- "Which services do Y?"
- "Find all references to / / ."
- "Compare how and handle ."
When NOT to use
- Single-repo questions —
cd into the repo and use rg or Grep directly.
- Taxonomy-keyed questions ("all services using Notice of Change") — use
INDEX.md via /cft-ccd-find-feature or /cft-list-integrations. Those are O(1); ripgrep is O(many GB).
How to invoke
./scripts/grep '<pattern>'
./scripts/grep -t java '<pattern>'
./scripts/grep -l '<pattern>'
./scripts/grep --glob '!**/test/**' '<pattern>'
The wrapper passes every flag through to rg and only adds the workspace's standard excludes plus the right search roots (apps libs platops).
Reading the output
Results are shown as path:line:match. Group by product (the segment after apps/) when summarising — the user usually cares about which products hit, not raw line counts.
For large result sets, prefer -l (file list) plus a follow-up read of the most relevant files over showing 100 raw match lines.