PluginBench
Skill
Review
Audit score 70

gitnexus-exploring

abhigyanpatwari/gitnexus

Explore codebases by querying execution flows, tracing calls, and understanding architecture.

What is gitnexus-exploring?

GitNexus helps you understand how code works by indexing a repository and letting you query execution flows, trace function calls, and explore unfamiliar code. Use it when you need to understand architecture, trace execution paths, or answer "how does X work?" questions.

  • Query execution flows related to a concept (e.g., "payment processing")
  • Trace incoming and outgoing calls for any symbol
  • View step-by-step execution traces for processes
  • Get codebase overview with stats and functional area clustering
  • Discover which processes involve a specific symbol

How to install gitnexus-exploring

npx skills add https://github.com/abhigyanpatwari/gitnexus --skill gitnexus-exploring
Prerequisites
  • Repository must be indexed with GitNexus (run `node .gitnexus/run.cjs analyze` if index is stale)
  • One or more repositories bound via `list_repos`
Claude Code
Cursor
Windsurf
Cline

How to use gitnexus-exploring

  1. 1.Run `list_repos {}` to discover and bind indexed repositories
  2. 2.Read `gitnexus://repo/{name}/context` to get codebase overview and check index freshness
  3. 3.Use `query({search_query: "concept"})` to find related execution flows and processes
  4. 4.Call `context({name: "symbol"})` to see incoming/outgoing calls and involved processes
  5. 5.Read `gitnexus://repo/{name}/process/{name}` for full step-by-step execution traces
  6. 6.Review source files for implementation details and report repository name and index status

Use cases

Good for
  • Understanding authentication or payment flows in an unfamiliar codebase
  • Answering "what calls this function?" or "where is the database logic?"
  • Exploring project structure and main components
  • Tracing execution paths for debugging or documentation
  • Learning how a new team's codebase is organized
Who it's for
  • Developers onboarding to a new codebase
  • Engineers debugging complex execution flows
  • Technical leads documenting architecture
  • Teams reviewing or auditing code

gitnexus-exploring FAQ

What do I do if the index is stale?

Run `node .gitnexus/run.cjs analyze` in the repository terminal to re-index. Check the `staleness` field in context — only re-analyze if status is `behind` or `diverged`.

Do I need to specify the repository name on every call?

Only if more than one repository is indexed. With a single indexed repo, omit `repo`. With multiple, pass `repo` on every call or ask which one is meant if ambiguous.

What's the difference between query and context?

`query` finds execution flows related to a concept; `context` shows a 360-degree view of a specific symbol (callers, callees, and processes it participates in).

Can I trace a full execution flow?

Yes. Use `query` to find the process name, then read `gitnexus://repo/{name}/process/{name}` for a step-by-step execution trace.

What if I don't know what to search for?

Start with `READ gitnexus://repo/{name}/clusters` to see all functional areas, then query concepts related to the area you want to understand.

Full instructions (SKILL.md)

Source of truth, from abhigyanpatwari/gitnexus.


name: gitnexus-exploring description: "Use when the user asks how code works, wants to understand architecture, trace execution flows, or explore unfamiliar parts of the codebase. Examples: "How does X work?", "What calls this function?", "Show me the auth flow""

Exploring Codebases with GitNexus

When to Use

  • "How does authentication work?"
  • "What's the project structure?"
  • "Show me the main components"
  • "Where is the database logic?"
  • Understanding code you haven't seen before

Bind the repository first

Step 1 discovers what is indexed; every call after it must say which of those it means. With one indexed repository, use the examples below as written. With more than one, pass repo on every call: an omitted repo normally errors, but under an MCP policy with a configured default it resolves to that default silently. If you cannot tell which repository is meant, stop and ask. Report the bound repository and index freshness alongside your explanation.

list_repos is paginated, so page with offset: pagination.nextOffset until hasMore is false before concluding a repository is absent.

Workflow

1. list_repos {} or READ gitnexus://repos                          → Discover indexed repos
2. READ gitnexus://repo/{name}/context             → Codebase overview, check staleness
3. query({search_query: "<what you want to understand>"})  → Find related execution flows
4. context({name: "<symbol>"})            → Deep dive on specific symbol
5. READ gitnexus://repo/{name}/process/{name}      → Trace full execution flow

If step 2 says "Index is stale" → run node .gitnexus/run.cjs analyze in terminal. Hot-tool staleness names which index answered (branch/lastCommit) and how fresh it is (status). Re-analyze only for behind or diverged — current is identity, unknown is unmeasurable.

Checklist

- [ ] list_repos {} — bind repo; explicit repo when >1 indexed, ask if ambiguous
- [ ] READ gitnexus://repo/{name}/context
- [ ] query for the concept you want to understand
- [ ] Review returned processes (execution flows)
- [ ] context on key symbols for callers/callees
- [ ] READ process resource for full execution traces
- [ ] Read source files for implementation details
- [ ] State the repository and index freshness with the explanation

Resources

ResourceWhat you get
gitnexus://repo/{name}/contextStats, staleness warning (~150 tokens)
gitnexus://repo/{name}/clustersAll functional areas with cohesion scores (~300 tokens)
gitnexus://repo/{name}/cluster/{name}Area members with file paths (~500 tokens)
gitnexus://repo/{name}/process/{name}Step-by-step execution trace (~200 tokens)

Tools

query — find execution flows related to a concept:

query({search_query: "payment processing", repo: "my-app"})
→ Processes: CheckoutFlow, RefundFlow, WebhookHandler
→ Symbols grouped by flow with file locations

context — 360-degree view of a symbol:

context({name: "validateUser", repo: "my-app"})
→ Incoming calls: loginHandler, apiMiddleware
→ Outgoing calls: checkToken, getUserById
→ Processes: LoginFlow (step 2/5), TokenRefresh (step 1/3)

repo is required once more than one repository is indexed, and may be omitted with a single one.

Example: "How does payment processing work?"

1. list_repos {}                             → total: 1 (my-app) — bind it
   READ gitnexus://repo/my-app/context       → 918 symbols, 45 processes
2. query({search_query: "payment processing"})
   → CheckoutFlow: processPayment → validateCard → chargeStripe
   → RefundFlow: initiateRefund → calculateRefund → processRefund
3. context({name: "processPayment"})
   → Incoming: checkoutHandler, webhookHandler
   → Outgoing: validateCard, chargeStripe, saveTransaction
4. Read src/payments/processor.ts for implementation details
5. Answer, noting: Repository my-app, index current

Had step 1 returned two repositories, every call above would carry repo: "my-app".