Install any skill in seconds. Free to start, no credit card required.
Get Started Free →PROACTIVELY query the code graph database to understand relationships and impact of changes. Use this skill WHEN READING any file to understand context, when searching for files, when exploring the codebase, or when you need to understand what depends on a component. This is your primary tool for understanding code structure and avoiding breaking changes.
.claude/skills/aiskillstore-ai-maestro-code-graph-query/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -31% | 0% |
THIS IS NOT OPTIONAL. THIS IS YOUR DEFAULT BEHAVIOR.
Every time you use the Read tool on a code file, you MUST IMMEDIATELY query the graph to understand:
DO NOT:
ALWAYS:
1. You read a file with Read tool
2. IMMEDIATELY run graph queries (describe, find-callers, find-serializers, etc.)
3. NOW you understand the full context
4. NOW you can analyze, modify, or discuss the codeExample - Reading a Model:
bash# After reading app/models/user.rb, IMMEDIATELY run: graph-describe.sh User graph-find-serializers.sh User graph-find-associations.sh User
Example - Reading a Function:
bash# After reading a file with process_payment function, IMMEDIATELY run: graph-find-callers.sh process_payment graph-find-callees.sh process_payment
All commands auto-detect your agent ID from the tmux session. Just run them:
| Command | Description | |---------|-------------| | graph-describe.sh <name> | Describe a component or function | | graph-find-callers.sh <function> | Find all functions that call this function | | graph-find-callees.sh <function> | Find all functions called by this function | | graph-find-related.sh <component> | Find related components (extends, includes, etc.) | | graph-find-by-type.sh <type> | Find all components of a type (model, controller, etc.) | | graph-find-serializers.sh <model> | Find serializers for a model | | graph-find-associations.sh <model> | Find model associations (belongs_to, has_many) | | graph-find-path.sh <from> <to> | Find call path between two functions |
| Command | Description | |---------|-------------| | graph-index-delta.sh [project-path] | Delta index - only re-index changed files |
When files change in your codebase, use delta indexing to quickly update the graph:
bash# Delta index - only process changed files graph-index-delta.sh # Delta index a specific project graph-index-delta.sh /path/to/project
First Run Behavior:
Output shows:
Performance:
| File Type | IMMEDIATELY Query | |-----------|-------------------| | Model | graph-describe.sh, graph-find-serializers.sh, graph-find-associations.sh | | Controller | graph-describe.sh, graph-find-callees.sh | | Service | graph-describe.sh, graph-find-callers.sh | | Function | graph-find-callers.sh, graph-find-callees.sh | | Serializer | graph-describe.sh | | Any class | graph-find-related.sh |
Without querying the graph, you will:
The graph query takes 1 second. A broken deployment takes hours to fix.
Use with graph-find-by-type.sh:
model - Database modelsserializer - JSON serializerscontroller - API controllersservice - Service objectsjob - Background jobsconcern - Shared modulescomponent - React/Vue componentshook - React hooksScript not found:
which graph-describe.shls -la ~/.local/bin/graph-*.sh~/.local/bin/ which should be in your PATH./install-graph-tools.shAPI connection fails:
curl http://localhost:23000/api/agentsGraph is unavailable:
If commands are not found:
bash./install-graph-tools.sh
This installs scripts to ~/.local/bin/.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | 13,976 | 2,354 | -83% | 1 | 1 | 0% | 2,118 | 1,744 | -18% | 0 | 0 | — |
case-01 | fail→fail | 7,880 | 7,323 | -7% | 1 | 1 | 0% | 587 | 1,870 | +219% | 0 | 0 | — |
case-02 | fail→fail | 5,872 | 7,885 | +34% | 1 | 1 | 0% | 254 | 1,770 | +597% | 0 | 0 | — |
case-03 | fail→fail | 2,480 | 3,999 | +61% | 1 | 1 | 0% | 246 | 1,563 | +535% | 0 | 0 | — |
case-04 | fail→pass | 13,238 | 4,253 | -68% | 1 | 1 | 0% | 1,792 | 2,068 | +15% | 0 | 0 | — |
case-05 | fail→pass | 9,010 | 2,867 | -68% | 1 | 1 | 0% | 1,264 | 1,852 | +47% | 0 | 0 | — |
case-07 | fail→pass | 10,819 | 13,683 | +26% | 1 | 1 | 0% | 1,629 | 1,813 | +11% | 0 | 0 | — |
case-08 | fail→pass | 14,157 | 1,885 | -87% | 1 | 1 | 0% | 2,381 | 1,634 | -31% | 0 | 0 | — |
case-09 | fail→pass | 8,004 | 1,340 | -83% | 1 | 1 | 0% | 1,235 | 1,542 | +25% | 0 | 0 | — |
case-10 | fail→pass | 22,334 | 2,558 | -89% | 1 | 1 | 0% | 1,988 | 1,718 | -14% | 0 | 0 | — |
case-11 | fail→pass | 13,038 | 4,463 | -66% | 1 | 1 | 0% | 1,946 | 1,654 | -15% | 0 | 0 | — |
case-12 | fail→pass | 11,628 | 1,954 | -83% | 1 | 1 | 0% | 1,855 | 1,643 | -11% | 0 | 0 | — |
case-13 | pass→pass | 4,963 | 2,226 | -55% | 1 | 1 | 0% | 851 | 1,699 | +100% | 0 | 0 | — |
case-14 | pass→pass | 7,415 | 1,498 | -80% | 1 | 1 | 0% | 1,307 | 1,571 | +20% | 0 | 0 | — |
case-15 | pass→pass | 13,044 | 1,583 | -88% | 1 | 1 | 0% | 2,047 | 1,567 | -23% | 0 | 0 | — |
case-16 | pass→pass | 8,540 | 2,302 | -73% | 1 | 1 | 0% | 1,385 | 1,683 | +22% | 0 | 0 | — |
case-17 | fail→pass | 16,073 | 1,934 | -88% | 1 | 1 | 0% | 1,783 | 1,599 | -10% | 0 | 0 | — |
case-18 | fail→pass | 13,108 | 2,742 | -79% | 1 | 1 | 0% | 2,139 | 1,788 | -16% | 0 | 0 | — |
case-19 | fail→pass | 9,284 | 2,980 | -68% | 1 | 1 | 0% | 1,259 | 1,761 | +40% | 0 | 0 | — |
case-20 | fail→pass | 15,527 | 4,377 | -72% | 1 | 1 | 0% | 1,400 | 2,058 | +47% | 0 | 0 | — |
case-21 | pass→pass | 13,833 | 4,691 | -66% | 1 | 1 | 0% | 1,301 | 2,083 | +60% | 0 | 0 | — |
case-22 | fail→pass | 4,225 | 3,846 | -9% | 1 | 1 | 0% | 749 | 1,967 | +163% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +64 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.