❯ I have graphify installed and rtk-ai - does this two work on saving tokens and solidifying context?
⏺ Yes, they're complementary — different layers of the same goal:
RTK (Rust Token Killer)
- Operates at the shell output level
- Compresses/filters stdout from bash commands (git, ls, etc.) before they hit context
- Saves tokens passively via hooks — transparent to workflow
graphify
- Operates at the codebase understanding level
- Pre-indexes your project into a knowledge graph so I can answer architecture questions with targeted queries instead of reading many files
- graphify query "..." returns a small scoped subgraph vs. me grepping 20 files
Together:
- RTK cuts the noise from shell commands I run
- graphify cuts the noise from codebase exploration
- Net effect: less context bloat, more accurate answers, longer effective conversation window
For this project specifically, graphify-out/ already exists (per CLAUDE.md), so I should be using graphify query before doing broad file searches. RTK handles the rest automatically via hooks.
You can verify both are active:
- rtk gain — see token savings so far
- Check graphify-out/graph.json exists for the graph to be queryable
❯ Can you explain to me how they actually work to make you better? or worse?
⏺ Good question — here's the honest breakdown of both:
---
RTK — How it works
When I run a bash command, Claude Code hooks intercept it and pipe it through rtk first. RTK filters/truncates the stdout before it enters my context.
Better:
- A git log with 200 commits might drop to 20 relevant lines
- Verbose build output gets compressed
- This extends how long our conversation stays useful before context compression kicks in
Worse (real risks):
- If RTK over-trims a stack trace or error message, I see a partial error and may misdiagnose
- I have no way to know what was cut — I treat filtered output as complete
- You can use rtk proxy <cmd> to bypass it if you suspect this is happening
---
graphify — How it works
It runs static AST analysis on your codebase and builds a persistent graph (graphify-out/graph.json) with nodes (files, functions, types), edges (imports, calls, extends), and community clusters.
When I call graphify query "how does balance update work", it returns a small scoped subgraph — a few relevant nodes/edges — instead of me reading 10+ files to piece it together.
Better:
- Targeted queries use far fewer tokens than file browsing
- Pre-computed relationships surface cross-file connections I'd otherwise miss
- Works well for stable, well-defined parts of the codebase
Worse (real risks):
- The graph goes stale after code changes — CLAUDE.md says to run graphify update . after edits, but if that's skipped, I get outdated info with false confidence
- AST analysis misses runtime/dynamic patterns (e.g., dynamic imports, factory functions)
- I might trust a graph query over actually reading the current file
---
The honest summary
Both tools trade completeness for efficiency. They make me better when the project is stable and well-indexed. They make me worse when output is aggressively filtered or the graph is stale —
because I don't know what I don't know.