using-codebase-memory-cli skill
✓ VerifiedPerform graph-first codebase indexing, symbol search, and data-flow tracing using a CLI-only mode.
- GitHub stars
- 17
- Files
- 2
- Last commit
- Nov 7, 2026
- License
- MIT
- Allowed tools
- —
What does the using-codebase-memory-cli skill do?
using-codebase-memory-cli is an agent skill. Perform graph-first codebase indexing, symbol search, and data-flow tracing using a CLI-only mode.
Summary generated from the skill's SKILL.md.
About the using-codebase-memory-cli skill
Developers seeking to navigate complex codebases through structural relationships rather than simple text searches can use this CLI-driven tool. It enables graph-first indexing and discovery by mapping symbols, functions, and data flows within a repository. An agent should load this skill when it needs to understand how different parts of a project interact, such as finding inbound callers for a specific function or tracing how data moves through a system.
Users interact with the system through specific commands like search_graph for finding identifiers, trace_path for following execution flows, and get_code_snippet for inspecting source code. The tool relies on an established index, which can be created using index_repository with different modes like fast, moderate, or full. While it excels at finding architectural patterns and symbol relationships using Cypher queries, it is intended as a discovery aid rather than a replacement for direct source inspection or runtime evidence. It is particularly useful for identifying the impact of changes before performing broad repository searches.
What an agent can do with it
- 1Trace function call hierarchiesFind all inbound callers or outbound callees for a specific function to understand its impact.
- 2Locate specific code symbolsSearch for classes, methods, or variables using name patterns or keyword queries.
- 3Analyze project architectureObtain a compact summary of the project structure after performing focused discovery.
- 4Identify code changesDetect which files and symbols are affected by recent Git changes.
Written from the skill's SKILL.md. Every use case is checked against a quote from it.
How to install the using-codebase-memory-cli skill
Each command copies the skill folder into the client's skills directory. Restart the client or start a new session to load it.Install the using-codebase-memory-cli skill in Claude Code
~/.claude/skills/using-codebase-memory-cli/SKILL.md
$ npx degit narumiruna/skills/deprecated/using-codebase-memory-cli ~/.claude/skills/using-codebase-memory-cliInstall the using-codebase-memory-cli skill in Claude Code (project)
.claude/skills/using-codebase-memory-cli/SKILL.md
$ npx degit narumiruna/skills/deprecated/using-codebase-memory-cli .claude/skills/using-codebase-memory-cliInstall the using-codebase-memory-cli skill in Codex
~/.agents/skills/using-codebase-memory-cli/SKILL.md
$ npx degit narumiruna/skills/deprecated/using-codebase-memory-cli ~/.agents/skills/using-codebase-memory-cliInstall the using-codebase-memory-cli skill in Gemini CLI
~/.gemini/skills/using-codebase-memory-cli/SKILL.md
$ npx degit narumiruna/skills/deprecated/using-codebase-memory-cli ~/.gemini/skills/using-codebase-memory-cliInstall the using-codebase-memory-cli skill in Claude.ai
npx degit narumiruna/skills/deprecated/using-codebase-memory-cli using-codebase-memory-cli && zip -r using-codebase-memory-cli.zip using-codebase-memory-cli # claude.ai → Customize → Skills → + → Create skill → Upload a skill → using-codebase-memory-cli.zip
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the scripts before you let an agent run them. How checks work · What to fix for more points
- Source repository linked and reachablenarumiruna/skills/deprecated/using-codebase-memory-cli is public and reachablegithub.com/narumiruna/skills/tree/HEAD/deprecated/using-code ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit 2026-11-07github.com/narumiruna/skills/commits ↗Pass
- No download-and-run or credential theft in scriptsNo scripts in the skill folderPass
- No hidden instructions in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/narumiruna/skills/blob/HEAD/deprecated/using-code ↗Pass
- Pre-approved tools are scopedNo pre-approved tools; the agent asks before using onegithub.com/narumiruna/skills/blob/HEAD/deprecated/using-code ↗Pass
- SKILL.md follows the Agent Skills formatthe description does not say when to use the skillgithub.com/narumiruna/skills/blob/HEAD/deprecated/using-code ↗Finding
SKILL.md
View on GitHubUsing Codebase Memory CLI (Deprecated Reference)
This workflow is excluded from active discovery but retained for repository reference and explicit local compatibility. Always prefer codebase-memory CLI graph tools over grep, glob, or file search for code discovery when the CLI is installed, even if the user does not name the tool. Use the graph to locate structure and relationships before broad repository search. It is discovery evidence, not a replacement for source, tests, history, or runtime evidence.
Run graph tools only as codebase-memory-mcp cli <tool> .... codebase-memory-mcp with no arguments starts the stdio server; never run it. Do not call MCP graph tools or configure an agent to use them.
Read the command reference only when selecting index modes, constructing structured input, or using a less common tool.
Establish a Trustworthy Index
- Run
list_projectsdirectly without preliminary availability, version, or help checks. If the command is unavailable, continue with repository tools and report the lost graph coverage; do not block ordinary discovery on installation. - Select a project by its exact
root_path; for worktrees also verify the reported canonical root, worktree root, branch, and HEAD rather than trusting the derived name. - For a match, run
index_statusand compare its root and indexed HEAD with the target repository. Re-index before relying on graph evidence when the root or HEAD differs, when uncommitted source being explored is newer than the index, or when the required index mode cannot be established. In v0.9.0, status does not report the mode or prove working-tree freshness. - For a new or stale project, run
index_repositorywith an absolute path and an unambiguous name. Default tofast; usemoderateonly for semantic/similarity search,fullonly when relevant files filtered by ordinary modes must be included, andcross-repo-intelligenceonly for repositories within the requested scope. - Inspect the indexing result. Treat
degraded, skipped files, exclusions, a mismatched root, or an unexpected node count as coverage limits, not a successful complete index. Omit--persistenceunless a repository artifact was explicitly requested.
Discovery Priority
Use this order and stop when evidence is sufficient:
search_graph— find functions, methods, classes, interfaces, routes, variables, or other symbols. Start with--queryfor BM25 keywords or--name-pattern/--qn-patternfor identifiers; add label and file filters where useful. Do not combine--querywith--name-pattern, because the query wins. Paginate untilhas_moreis false when completeness matters.trace_path— find inbound callers, outbound callees, parameter data flow, or cross-service traversal. Resolve a short or duplicated name throughsearch_graph, then pass the returnedqualified_name; include tests explicitly when they matter.get_code_snippet— inspect the selected symbol's source and optional neighbors by qualified name.query_graph— express a relationship or aggregation the focused tools cannot. Runget_graph_schemafirst and constrain the read-only Cypher result.get_architecture— obtain a compact, preferably path-scoped project summary after focused evidence, not instead of it.
For semantic discovery, use search_graph only on a known moderate or full index. Pass semantic_query as an array and evaluate semantic_results; ordinary results and total are separate and can be broad without a structural filter. For a diff or Git range, use detect_changes to identify changed files and candidate impacted symbols before following the priority order on important paths.
Example chain:
codebase-memory-mcp cli search_graph --project my-project --name-pattern '.*OrderHandler.*'
codebase-memory-mcp cli trace_path --project my-project --function-name OrderHandler --direction inbound
codebase-memory-mcp cli get_code_snippet --project my-project --qualified-name my-project.pkg.orders.OrderHandler
Verify critical claims in the reported source lines and relevant tests or runtime behavior. Missing edges do not prove that no relationship exists. Re-index when later traversal must reflect source changes, and report stale index state, ambiguity, exclusions, skipped files, or unresolved edges instead of inferring through them.
Fallback and Boundaries
Leave the graph-tool priority only when searching string literals, error messages, or configuration values; searching non-code files such as Dockerfiles, shell scripts, or configs; or when graph tools return insufficient results. Prefer CLI search_code for exact text or regex in indexed files before repository search. Use rg, find, globbing, or targeted reads only for non-code, generated, ignored, excluded, changed-but-unindexed, unsupported, or still-unresolved paths. State the material fallback and why it was needed.
Ordinary discovery authorizes an index in the tool's local cache without --persistence; it does not authorize repository artifacts or unrelated repositories. --persistence additionally writes into the repository. Existing-index deletion, ADR mutation, trace ingestion, cross-repository expansion, native install/update/config, agent integration, and server/UI setup require explicit scope or authorization. A uniquely named temporary index created during the current task may be deleted during cleanup; never delete a pre-existing or reused index without exact approval.
Installation expands scope. Only with explicit approval to download and execute the upstream script, use its binary-only mode because the default configures detected agents:
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --skip-config
Verify the installed path and version afterward; do not start the server.
Prefer flags for scalar values and stdin JSON or --args-file for arrays and complex input. Positional raw JSON is deprecated. Parse stdout as JSON; initialization and progress logs can appear on stderr. If a command reports a schema mismatch, consult its installed help instead of relying on remembered flags or this version-qualified reference.
Conclude with the matched root/project, known index mode and freshness, decisive symbols and file/line evidence, relevant impact paths, material fallbacks, and coverage limits. Do not claim an unknown reused-index mode or complete coverage.
Files in this skill
2using-codebase-memory-cli skill questions
How do I install the using-codebase-memory-cli skill in Claude Code?
Run npx degit narumiruna/skills/deprecated/using-codebase-memory-cli ~/.claude/skills/using-codebase-memory-cli. Claude Code loads skills from ~/.claude/skills (all projects) or .claude/skills (one project) and uses a skill when its description matches the task.
Which clients can use the using-codebase-memory-cli skill?
Any client that reads the Agent Skills format: Claude Code, Codex, Gemini CLI and claude.ai (upload as a ZIP). Scripts in the skill run only where the client allows code execution.
How should I run the codebase-memory-mcp tool?
Run graph tools using the command codebase-memory-mcp cli <tool> .... Do not run codebase-memory-mcp without arguments as it starts the stdio server.
When should I use the graph tools instead of grep or file search?
You should always prefer codebase-memory CLI graph tools over grep, glob, or file search for code discovery when the CLI is installed.
What are the different indexing modes available?
The available modes are fast (default), moderate (for semantic/similarity search), full (to include relevant files filtered by ordinary modes), and cross-repo-intelligence.