360 Secure SkillHub
360 安全技能中心

context-map

在项目根目录运行 Python 扫描器,检测目录结构、依赖、框架、入口点、导入图、热点文件、路由、环境变量、中间件与模型定义,输出压缩上下文地图,并可生成分主题 Markdown 文章或 JSON,用于降低逐文件读取与搜索的开销。

athola
athola
热度 57.13
最近更新 2026-08-26 21:10:56
分类:开发依赖:代码执行 / 读写文件应用场景:研究 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-conserve-context-map
Metadata
name
context-map
description
Generates a compressed project context map to avoid expensive Read/Grep calls. Use at session start or before implementing features in an unfamiliar codebase
version
1.9.8
triggers
["context","scanning","token-conservation","exploration","import-graph","routes"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/conserve","emoji":"🦞"}}
source
claude-night-market
source_plugin
conserve

Night Market Skill — ported from claude-night-market/conserve. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Context Map

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.

When to Use

  • At the start of a session to understand project layout
  • Before implementing features to identify entry points
  • When exploring an unfamiliar codebase
  • To reduce token waste from Read calls
  • To identify hot files (high blast radius) before changes

What It Detects

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

Procedure

  1. Run the scanner on the project root:
PYTHONPATH="$(find . -path '*/conserve/scripts' -type d \
  -print -quit 2>/dev/null || \
  echo 'plugins/conserve/scripts')" \
  python3 -m context_scanner .
  1. Present the output to the user as the project overview.

  2. Use the context map to guide subsequent file reads. Prioritize hot files and entry points first.

Options

Output

  • --format json for structured output
  • --max-tokens N to adjust output size (default: 5000)
  • --output FILE to save to a file

Modes

  • --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

Opt-out

  • --no-cache to force a fresh scan
  • --no-wiki to skip wiki article generation

Wiki Articles

The 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

Example Output

# 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