Skip to content

Commit d50e7db

Browse files
HumanBean17claude
andcommitted
update skills/ for six-tool trace surface
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent a934f32 commit d50e7db

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

skills/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# skills/ — RAG navigation skills for the java-codebase-rag MCP
22

3-
Two self-contained skills for navigating indexed Java codebases via the 5-tool MCP (`search` / `find` / `describe` / `neighbors` / `resolve`). Skills are agent-side prompt scaffolding — they are **not** a second MCP API and **not** CLI subcommands.
3+
Two self-contained skills for navigating indexed Java codebases via the 6-tool MCP (`search` / `find` / `describe` / `neighbors` / `resolve` / `trace`). Skills are agent-side prompt scaffolding — they are **not** a second MCP API and **not** CLI subcommands.
44

55
## Which skill to use
66

@@ -26,7 +26,7 @@ skills/
2626

2727
The comprehensive operating manual. Includes:
2828

29-
- **Five-tool reference**`search`, `find`, `describe`, `neighbors`, `resolve` with full argument shapes
29+
- **Six-tool reference**`search`, `find`, `describe`, `neighbors`, `resolve`, `trace` with full argument shapes
3030
- **Node kinds** — Symbol, Route, Client, Producer
3131
- **Edge taxonomy** — stored edges, composed dot-keys, direction semantics
3232
- **NodeFilter reference** — all filter keys by node kind, strict frame rules
@@ -56,7 +56,7 @@ The tactical tracing skill. Includes:
5656
│ Implementation: explore-codebase / navigate-codebase │
5757
├──────────────────────────────────────────────────────────────┤
5858
│ Layer 2 — Composable primitives (the MCP API) │
59-
│ search, find, describe, neighbors, resolve
59+
│ search, find, describe, neighbors, resolve, trace
6060
├──────────────────────────────────────────────────────────────┤
6161
│ Layer 1 — Storage primitives │
6262
│ Kuzu Cypher + LanceDB tables │

skills/navigate-codebase/SKILL.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@ The graph exists to confirm structure you already have a hypothesis about — no
1919

2020
## Tools
2121

22-
`search`, `find`, `describe`, `neighbors`, `resolve`.
22+
`search`, `find`, `describe`, `neighbors`, `resolve`, `trace`.
2323

2424
- **`search(query, table?, hybrid?, limit?, filter?)`** — ranked chunk retrieval. `table`: `java`|`sql`|`yaml`|`all` (default `java`). `limit` default 5.
2525
- **`find(kind, filter, limit?)`** — structured listing. `kind`: `symbol`|`route`|`client`|`producer`. `filter` is required.
2626
- **`describe(id)`** — full node record + `edge_summary` (per-label in/out counts). 1 arg.
2727
- **`neighbors(ids, direction, edge_types, filter?, edge_filter?, limit?)`** — one hop. `direction` and `edge_types` required. `filter` applies to the other node. `edge_filter` (CALLS only) applies to edges before pagination.
2828
- **`resolve(identifier, hint_kind?)`** — identifier lookup. Returns `one`, `many`, or `none`.
29+
- **`trace(ids, direction, edge_types, max_depth?, max_paths?, prune_roles?, fan_out_cap?, collapse_trivial?)`** — multi-hop BFS with server-side pruning. Use for 3+ hop path questions or when `neighbors` returns high fan-out (>8 CALLS edges). `direction` and `edge_types` required. `max_depth` 1–5 (default 3). `prune_roles` soft gate (edges recorded, frontier stops). `fan_out_cap` per-node limit (default 5). Cross-service edges are boundary signals — BFS stops at the service boundary.
2930

3031
### NodeFilter keys (for `find`, `search.filter`, `neighbors.filter`)
3132

@@ -48,8 +49,8 @@ The graph exists to confirm structure you already have a hypothesis about — no
4849
Before each MCP call, output one short line:
4950

5051
```
51-
Q-class: <semantic | structured | inspect | walk>
52-
Pick: <search|find|describe|neighbors|resolve> Why: <≤8 words>
52+
Q-class: <semantic | structured | inspect | walk | trace>
53+
Pick: <search|find|describe|neighbors|trace|resolve> Why: <≤8 words>
5354
```
5455

5556
Then use real JSON shapes.
@@ -119,7 +120,7 @@ Hypothesis: "assign() persists via a repository"
119120

120121
### Open-ended neighbors loops
121122

122-
Never chain `neighbors(out, CALLS)` calls without a stopping condition. Each hop multiplies the surface area. After 2 hops, stop and reassess.
123+
Never chain `neighbors(out, CALLS)` calls without a stopping condition. Each hop multiplies the surface area. After 2 hops, stop and reassess — or escalate to `trace` to batch the remaining traversal with server-side pruning.
123124

124125
### Walking all edge types at once
125126

0 commit comments

Comments
 (0)