From claude-leverage
Rebuilds the `.claude-leverage-context-map.json` manifest for the smart-context-surfacing PreToolUse hook after AIDEV anchors, AGENTS.md files, or ADRs change.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-leverage:refresh-context-mapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Rebuild the smart-context-surface manifest used by the PreToolUse hook
Rebuild the smart-context-surface manifest used by the PreToolUse hook
(scripts/hooks/context-surface.sh). See
docs/adr/0008-smart-context-surfacing-via-pretooluse-hook.md
for the design rationale.
AIDEV-NOTE / AIDEV-TODO / AIDEV-QUESTION anchors.AGENTS.md files.docs/adr/ that reference specific source files.git merge that touched anchor-bearing files (.gitattributes keeps
the local manifest on conflict via merge=ours, but it'll be stale relative
to the merged tree until rebuilt)./stack-check flags drift between the manifest and git ls-files..githooks/) does it automatically
if enabled. If you've enabled it, manual /refresh-context-map is redundant..claude-leverage-context-map.json present means the PreToolUse hook
silently no-ops — nothing to refresh).Runs:
python ${CLAUDE_PLUGIN_ROOT}/scripts/build-context-map.py
from the repo root. The script:
git ls-files), skipping binaries (NUL-byte sniff).AIDEV-* anchors, indexes:
AGENTS.md from dirname(file) to repo rootdocs/adr/*.md) that mention this file path verbatim (word-boundary match).claude-leverage-context-map.json at the repo root, atomically (.tmp + rename).The PreToolUse hook reads this manifest on every Read/Edit/Write/MultiEdit
and injects a per-file context slice via hookSpecificOutput.additionalContext.
.claude-leverage-context-map.json. It's generated. Edit
the source (anchors, per-dir AGENTS.md, ADRs) and rebuild. A hand-edited
manifest drifts from the tree, and the next rebuild silently overwrites it..gitattributes sets merge=ours so merge conflicts
on it auto-resolve to local — rebuild afterward (see "When to invoke").A failed rebuild is safe. If python is missing or the script errors, the
manifest is simply not updated — the PreToolUse hook then reads a stale (or
absent) manifest and no-ops gracefully, surfacing slightly less context. It
never blocks a tool call. So a failed rebuild degrades the feature; it does not
break your session. Fix the Python environment and re-run when convenient.
After running, the script prints a summary line:
Wrote ./.claude-leverage-context-map.json (234 files, 89 anchors)
Higher numbers than last time → you've added anchors / ADR references.
Lower numbers → anchors were deleted or files removed from git ls-files.
To check drift without writing (CI use):
python scripts/build-context-map.py --check
# exit 0 if up to date, exit 1 with "DRIFT:" line on stderr if regen would differ
Set CLAUDE_LEVERAGE_CTX_DISABLE=1 in the environment to disable the hook
entirely without removing the manifest. Useful for one-off diagnostic sessions
where the context injection is noise.
By default the hook surfaces only AIDEV-* anchors (the trap-catching content
per the Run-3 token-tax finding). Set CLAUDE_LEVERAGE_CTX_VERBOSE=1 to also
include per-dir AGENTS.md references and related ADR paths in every
injection. Useful in repos where the per-dir AGENTS.md surface is dense and
worth the extra tokens; off by default to keep the tax minimal in the common
case.
npx claudepluginhub filip-podstavec/claude-leverage --plugin claude-leverageDetects drift in .arkhe/roadmap/ context files via git commits and days old, regenerates project.md, architecture.md, documents.md from README, CLAUDE.md, docs. Scaffolds if missing.
Creates, refreshes, or validates repo AGENTS.md files using evidence from files, git history, CI to keep them concise and current. Use when missing, stale, or after refactors/tooling changes.
Creates minimal, high-signal CLAUDE.md and AGENTS.md context files for repos using empirical best practices. Triggers on /init, create/update requests, or missing context during brainstorming.