mcpField
G
graph-search

graph-search

github.com/atholaDevelopment34378 installsUpdated 1d ago
Repository

About graph-search

graph-search is a developer skill for finding named code entities in a code knowledge graph. It helps locate functions, classes, and types, adjusting relevance to query patterns and showing paths, line numbers, and scores.

Key features

  1. 01Searches code entities by name
  2. 02Filters results by function or class
  3. 03Adjusts relevance based on naming patterns
  4. 04Shows qualified names, file paths, lines, and scores
  5. 05Offers to open the top result's source

Use cases

  1. 01Locate a function or class definition
  2. 02Find an entity by its qualified path
  3. 03Explore matches in a built code graph

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/athola/claude-night-market --skill graph-search

After installing, type/graph-searchin Claude Code to confirm it loaded.

Details

From the project README

Search Code Knowledge Graph

Search .gauntlet/graph.db for code entities by name.

When NOT To Use

  • The graph is missing or stale (use gauntlet:graph-build)
  • Scoring the impact of a change (use pensive:blast-radius)

Steps

  1. Accept query: Get the search term from the user.

  2. Run the query script:

    python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_query.py \
        --action search --query "<term>" --limit 20
    

    Optional filters:

    • --kind Function to search only functions
    • --kind Class to search only classes
  3. Display results: Show qualified name, file path, line numbers, and relevance score for each match.

  4. Offer to read: Ask if the user wants to read the top result's source file.

Query Intelligence

The search engine detects query patterns:

  • PascalCase (e.g., UserService): boosts Class and Type results
  • snake_case (e.g., get_users): boosts Function results
  • Dotted path (e.g., app.models.User): boosts qualified name matches

Prerequisites

The graph must be built first. If .gauntlet/graph.db does not exist, suggest running the graph-build skill.

Exit Criteria

  • If .gauntlet/graph.db does not exist, the skill surfaces the missing-prerequisite error and suggests gauntlet:graph-build rather than failing silently
  • Results display qualified name, file path, line numbers, and relevance score for each match (up to --limit results)
  • Query intelligence applies correct boost: PascalCase boosts Class/Type results, snake_case boosts Function results, dotted path boosts qualified name matches
  • User is offered to read the top result's source file after results are shown
  • A count: 0 result is reported as "not in the graph" only after graph_query.py --action status shows node_count above zero. An unbuilt graph, or one built without tree-sitter, answers every query with zero, and that zero says nothing about the codebase

Comments

Markdown supported