plugins/conserve/skills/context-map/SKILL.md
Generates a compressed project context map to avoid expensive Read/Grep calls. Use at session start or before implementing features in an unfamiliar codebase.
npx skillsauth add athola/claude-night-market context-mapInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a compressed context map for the current project. The map pre-compiles structural knowledge that AI assistants would otherwise discover through expensive Read/Grep calls, saving thousands of tokens per session.
| Category | Description | |----------|-------------| | Structure | Directory layout with file counts and languages | | Dependencies | Multi-ecosystem: Python, Node, Rust, Go, Java | | Frameworks | Framework detection from dependency analysis | | Entry Points | main.py, index.ts, CLI scripts, etc. | | Import Graph | File-to-file import relationships | | Hot Files | Files imported by 3+ others (high blast radius) | | Routes | FastAPI, Flask, Express, Hono API endpoints | | Env Vars | Environment variable references with defaults | | Middleware | Auth, CORS, rate-limit, logging patterns | | Models/Schemas | SQLAlchemy, Django, Pydantic, Prisma definitions | | Token Savings | Estimated tokens saved vs manual exploration |
PYTHONPATH="$(find . -path '*/conserve/scripts' -type d \
-print -quit 2>/dev/null || \
echo 'plugins/conserve/scripts')" \
python3 -m context_scanner .
Present the output to the user as the project overview.
Use the context map to guide subsequent file reads. Prioritize hot files and entry points first.
--format json for structured output--max-tokens N to adjust output size (default: 5000)--output FILE to save to a file--blast FILE to show blast radius for a specific file--section NAME to output a single section
(routes, deps, env, hot-files, models, structure,
middleware, frameworks)--wiki-only to generate wiki articles without stdout--no-cache to force a fresh scan--no-wiki to skip wiki article generationThe scanner generates per-topic knowledge articles in
.codesight/ for selective context loading:
python3 scanner.py .
# Creates .codesight/INDEX.md, auth.md, database.md, etc.
Load only what you need per session instead of the full map:
python3 scanner.py --section routes .
# ~200 tokens vs ~5,000 for the full map
# Context Map: myproject
Files: 127
## Structure
src 42 files (Python)
tests 18 files (Python)
docs 5 files (Markdown)
## Dependencies (Python)
Package manager: uv
- fastapi 0.104.0
- pydantic 2.5.0
- sqlalchemy 2.0.0
...12 more
## Frameworks Detected
- FastAPI
- SQLAlchemy
- Pytest
## Routes
GET /users (src/routes/users.py)
POST /users (src/routes/users.py)
GET /users/{id} (src/routes/users.py)
## Hot Files (high blast radius)
- src/models/base.py (12 importers)
- src/utils/auth.py (8 importers)
## Environment Variables
- DATABASE_URL (required)
- SECRET_KEY (has default)
## Token Savings: ~12,600 tokens saved
Routes: ~1,200
Hot files: ~300
Env vars: ~200
File scanning: ~10,200
tools
Detect friction signals; graduate patterns into rules. Use for session retrospectives.
testing
Use when you need a diff-derived test plan for an MR — reads the diff, groups changes by area, runs targeted verifications, and proves revert-tests are genuine guards, not dead assertions.
development
Curate the web-capture index. Use when the capture backlog grows, captures sit unprocessed at seedling/pending, or to surface stored research during work.
testing
Probe memory/summary clarity via dual anchor questions: task progress, info gaps. Use when verifying session state or summary before handoff or compression.