Skip to content
Agent Memory
Skill

/stacklit

Use stacklit.json to navigate codebases without burning tokens on file exploration

BOOST
From plugin
stacklit
1121 skill
Install
$ npx -y skills add glincker/stacklit --skill stacklit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/stacklit

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use stacklit.json to navigate codebases without burning tokens on file exploration

SKILL.md

stacklit.SKILL.md
name: stacklit-navigator
description: Use stacklit.json to navigate codebases without burning tokens on file exploration

When to use

At the start of any session on a repo that has `stacklit.json` at the root. Read it before you read any source files.

Reading the index

# Check if index exists
cat stacklit.json | head -5

The file has these sections:

  • `project` -- repo name, type (single/monorepo), workspaces
  • `tech` -- primary language, language breakdown, frameworks
  • `modules` -- the map: each module's purpose, files, exports, dependencies, activity level
  • `dependencies.edges` -- import relationships between modules
  • `dependencies.most_depended` -- the modules everything depends on (touch carefully)
  • `hints` -- where to add features, how to run tests, env vars to set

How to use each section

**Finding code:** Look up the module in `modules` by name. The `purpose` field tells you what it does. The `file_list` tells you exactly which files to read. Skip everything else.

**Understanding structure:** Check `depends_on` and `depended_by` to see how a module connects to the rest. If you need to change something in `src/auth`, check `depended_by` to know what might break.

**Knowing what changed recently:** The `activity` field (high/medium/low) tells you how actively a module is being worked on. `git.hot_files` lists the most-changed files in the last 90 days.

**Adding a feature:** Read `hints.add_feature` first. It tells you which directory to create files in and which files to update.

**Running tests:** Check `hints.test_command`.

What not to do

  • Do not `grep` across all files when `modules` tells you which module to look in
  • Do not read entire directories to understand the codebase
  • Do not re-explore the same repo every session. The index persists across sessions.
  • Do not ignore `most_depended` when planning changes. Those modules have the widest blast radius.

Using the MCP server

If `stacklit serve` is running as an MCP server, use these tools instead of reading the file:

  • `get_overview` -- full project summary (call this first)
  • `get_module("src/auth")` -- detailed info on one module
  • `find_module("auth")` -- search modules by name
  • `get_dependencies("src/auth")` -- what it imports and what imports it
  • `get_hot_files` -- most-changed files (90 days)
  • `get_hints` -- conventions, test commands, env vars

One `get_overview` call replaces reading 5-10 files to build context.

Keeping the index fresh

If you have made significant structural changes (new modules, moved files, changed dependencies):

stacklit generate

Use `stacklit diff` to check if the index is stale before regenerating.

Read more
Ships withstacklit

108,000 lines of code. 4,000 tokens of index. One command makes any repo AI-agent-ready. No server, no setup.

Get the whole plugin
Stats
112
Stars
9
Forks
Maintained
Maintenance
Go
Language
MIT
License
5mo ago
Last commit
6mo ago
Created
1d ago
Added

Repo: glincker/stacklit