Codebase Memory
SkillDocs & knowledgeUse the codebase knowledge graph for structural code queries, trace call paths and dependencies, inspect architecture, assess change impact, or activate the bundled Claude Code discovery hooks.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Codebase Memory skill
What this skill tells your AI
The instructions your AI receives, as published by connorgriffin/skills in skills/tools/codebase-memory/SKILL.md and read by ahel’s review.
Follow reminder.md for the standing discovery policy; it is the one authored policy shared by this skill, the profile pointer, and the installed SessionStart hook.
Activate discovery guidance in Claude Code
After the standard skills installer copies this directory, run:
python3 ~/.claude/skills/codebase-memory/scripts/install.py
For a non-default Claude home:
python3 <installed-skill>/scripts/install.py --claude-home PATH
The installer owns three files under the selected Claude home's hooks/
directory and merges the skill's registrations into settings.json. It preserves
unrelated settings and hook registrations. Malformed settings, conflicting
registrations, symlinks, and unowned managed-path files are no-write failures.
Its scope is the bundled files and registrations.
To merge the registrations into a settings file kept outside the Claude home, for example one versioned in a dotfiles checkout:
python3 <installed-skill>/scripts/install.py --claude-home PATH \
--settings-file PATH/TO/settings.json
--settings-file moves only the settings file. The three hook files, and the
paths rendered into the registrations, still follow --claude-home. The named
target must be a regular non-symlink file, and its parent directory must already
exist, be a directory, and be writable and searchable; a symlinked target or an
unusable parent is a no-write failure. A parent reached through a symlinked
directory is fine, which is how a versioned checkout is usually wired.
For a consumer that manages its own settings.json hook registrations, add
--skip-settings:
python3 <installed-skill>/scripts/install.py --claude-home PATH --skip-settings
This installs the three managed hook files and stops there: it does not read,
parse, validate, merge, or write settings.json at all. The consumer owns
registering the installed hooks in its own settings. All the other guards
still run: source ownership, the hooks-directory symlink check, and the
unowned-managed-file check. --skip-settings and --settings-file name two
different settings targets, so the installer refuses both together at the
command-line level rather than picking one.
The external tool codebase-memory-mcp installs its own hooks at two of the
same names (cbm-code-discovery-gate, cbm-session-reminder). Activation does
not reclaim a name another tool already owns; it stops and names the likely
owner and the repair (move the foreign files out of hooks/, remove that
tool's registrations from settings.json, then rerun).
Graph-query vocabulary
list_projectsandindex_statusreport indexed-project inventory and health.get_architecturesummarizes repository structure and architectural relationships.search_graphlocates symbols by name, label, or qualified-name pattern.trace_pathfollows callers, callees, data flow, and cross-service paths.get_code_snippetreturns exact source for a resolved symbol.query_graphhandles complex multi-hop graph questions.search_codesearches literal source text.detect_changesmaps a Git diff to its structural impact.index_repositorycreates or refreshes a repository graph.
Signals
- GitHub stars
- 20
- Forks
- 5
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
codebase-memory- Source
- github.com/connorgriffin/skills