traversing-the-knowledge-baselisted
Install: claude install-skill jhutchison0/tacsop
# Traversing the Knowledge Base
The corpus is already a graph; walk it before you grep it. Session docs declare typed edges, CONTEXT.md hand-maintains a Reading Order, and every doc references others by link or path. Keyword search finds words; traversal finds structure: where a rule came from, what depends on it, and what a change will break.
## The graph that already exists
| Edge type | Where it lives | Snapshot (2026-08-14) |
|---|---|---|
| Typed relations: Follows, Documents, Implements, References, Completes, Requires, Cites | Session-doc headers, pinned by `docs/session-doc-format.md` | 17 of 18 session docs carry them |
| Markdown links `[text](path.md)` | All docs | 157 |
| Bare path mentions (backticked or plain prose) | Heaviest in `docs/tasks.md`, `docs/doctrine-updates.md` | 816, outnumbering links 5:1 |
| Reading Order | `CONTEXT.md` | Hand-maintained orientation list |
Counts are method-dependent snapshots (a recount with a different regex found 168 links and 1,321 mentions); the load-bearing fact is the ratio. A traversal that only follows `[text](path)` syntax misses most of the real graph. Match paths, not just links.
## Core traversals
**1. Lineage: where did this come from?** Walk the Follows chain backward from any session doc; walk Documents/Implements to the artifacts it produced.
```bash
grep -n "^\*\*Follows\*\*:" docs/sessions/<doc>.md # one hop back; repeat
grep -rn "^\*\*Follows\*\*:.*<doc>" docs/sessions/ # one hop forward
```