lean-ctx-review
Review how the lean-ctx ctx_* MCP tools performed in the current session and file upstream issues for confirmed problems.
Skill by yvgude
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/yvgude-lean-ctx-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, security, agent-building, debugging, version-control
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/lean-ctx-review
What's inside
- Skill name
lean-ctx-review- Description
- Review how the lean-ctx ctx_* MCP tools performed in the current session and file upstream issues for confirmed problems. Use when the user asks to review/audit lean-ctx tool performance, says "lean-ctx review", asks why ctx_* tools failed or fell back to native tools, or wants to report a lean-ctx bug.
- License
- Apache-2.0
- Instructions
- 137 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- scan_session.py · scripts/
SKILL.md (first lines)
# lean-ctx session review Upstream repo: `yvgude/lean-ctx` (https://github.com/yvgude/lean-ctx). Reads a Claude Code session transcript, so it applies to agents that write `~/.claude/projects/*/*.jsonl`. Other harnesses need their own extractor; the triage rules below are harness-independent. ## 1. Extract Run from this skill's directory (needs `python3`): ```bash python3 scripts/scan_session.py ``` Defaults to the newest transcript under `~/.claude/projects/*/` — the live Claude Code session. Pass a path to review a different one. `-d N` dumps call `#N` in full. The script reports **facts, not verdicts**: every `ctx_*` call in order, which results the harness flagged `is_error`, which calls repeated identical arguments, which asked for `raw`/`fresh` output, and how many native `Read`/`Grep`/`Bash` calls happened. It deliberately does not guess which of those is a problem — that judgment is yours, below. Transcripts run to megabytes, so read the table, not the raw JSONL. ## 2. Triage **Start from `is_error`.** In practice every genuine tool failure carries it. Then read the call list for the softer signals: identical retries, `raw`/`fresh` re-reads, native calls clustered right after a `ctx_*` call, or a sequence that only completed once `ctx_*` was abandoned. ### Before absolving anything, do these two things Skipping them is how this review returns a false "nothing to report". Both cost one command each. **Search the tracker for the guard or tool you are about to excuse.** Do this during triage, not at step 4. A closed issue defines intended behaviour: if a shipped fix says a form is supported and you just watched it fail, that is a regression and one of the most valuable things this review finds. It also stops you re-filing a settled design decision. ```bash gh issue list --repo yvgude/lean-ctx --search "<guard or tool keyword>" --state all ``` **Probe the stated rationale — never accept a message's self-description.** An error explains itself, and that explanation can be wrong. Three checks, each one command: - *Does the sanctioned alternative achieve the same thing?* If the block is bypassable through a route the message itself recommends, it constrains syntax, not capability. Sometimes that is deliberate (structured input parses reliably where a shell string does not) — decide which, do not assume. - *Does the stated reason match the observed rule?* Vary one axis at a time. A guard blaming payload size that actually keys on path, or blaming a pipe on a command that is piped, is misdiagnosing itself. - *Does the message contradict itself?* A rejection that also states the rejected form is allowed is a finding on its own, whichever way the policy should go. A wrong diagnostic is a real bug even when the block is correct: it sends the next caller down a route that cannot work. ### Not a finding - **Words inside returned content.** A file containing `http.StatusConflict`, a `git rebase` printing `CONFLICT (content):`, `gh` returning `"mergeable":"CONFLICTING"`, a test run printing `not found`. The tool returned exactly what was asked for. Judge the tool's own behaviour, never the payload's vocabulary. - **Self-reference.** Any result that quotes a previous scan, this skill, or a transcript will echo every error word in it. - **Guard blocks — only after they survive the probe above.** Inline env overrides (`GIT_EDITOR=`), shell redirects (`>`/`>>`), non-allowlisted commands, paths outside the project root. "It offered an alternative and the alternative worked" is *not* enough to clear one: that is true of a guard whose reason is wrong, whose rule is different from its description, or that contradicts itself. Clear it only once the stated rationale holds up. - **Malformed tool input.** `InputValidationError` on `__unparsedToolInput` is the caller's own JSON serialization — commonly a raw tab or newline inside a string — rejected before lean-ctx ever ran. - **My own wrong arguments**, a genuinely missing file, a failing build. ### Confirmable The tool did something wrong or unhelpful *given correct input*: - wrong, lossy, or truncated output where the mode promises otherwise - content injected into output documented as verbatim, or anything that breaks a documented output format (e.g. corrupting batch-read separators) - a crash, hang, or schema mismatch against the documented parameters - a documented mode behaving differently than described - a retry that only succeeded after dropping to native tools - **a wrong or self-contradicting diagnostic**, even where the block itself is right — naming the wrong cause sends the next caller down a route that cannot work, and costs more than the block did - **a regression against a closed issue**: a shipped fix says the form is supported, and it is not ## 3. Reproduce **No minimal repro, no issue.** Re-run the exact tool and arguments. If it passes, try to isolate the trigger; if you cannot, do not file — report the observation to the user instead, saying plainly that it did not reproduce and what you tried. Guessing at internals is worse than silence. `lean-ctx --version` for the version line. Zero confirmed findings is a valid and common result. Say so and file nothing. ## 4. File Only for confirmed findings, one issue per distinct problem. You searched the tracker during triage; widen it here if the finding shifted:
From yvgude/lean-ctx, Apache-2.0.
More from yvgude/lean-ctx
- 0.847score
lean-ctx
yvgude
Use LeanCTX Context Gateway tools to select task-relevant code context, apply supported controls, reuse local knowledge and inspect recorded evidence.
SkillAFreshness: A★ 3.9KClaude Code +9 - 0.625score
AGENTS.md · yvgude/lean-ctx
yvgude
AGENTS.md from yvgude/lean-ctx: 250 lines covering Mandatory Routing Decision (Direct or Swarm), Integration Mode: Replace, Subagent Compatibility (Cursor /…
TemplateAFreshness: A★ 3.9KCodex +5 - 0.609score
Cursor rules · yvgude/lean-ctx
yvgude
1 Cursor rule file from yvgude/lean-ctx: compression-safety.
TemplateAFreshness: A★ 3.9KCursor
Signals
- Stars
- 3,896
- Forks
- 356
- Open issues
- 9
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
- Last release
- Oct 11, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/yvgude/lean-ctx
- Website
- leanctx.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from yvgude
- 0.847score
lean-ctx
yvgude
Use LeanCTX Context Gateway tools to select task-relevant code context, apply supported controls, reuse local knowledge and inspect recorded evidence.
SkillAFreshness: A★ 3.9KClaude Code +9 - 0.625score
AGENTS.md · yvgude/lean-ctx
yvgude
AGENTS.md from yvgude/lean-ctx: 250 lines covering Mandatory Routing Decision (Direct or Swarm), Integration Mode: Replace, Subagent Compatibility (Cursor /…
TemplateAFreshness: A★ 3.9KCodex +5 - 0.609score
Cursor rules · yvgude/lean-ctx
yvgude
1 Cursor rule file from yvgude/lean-ctx: compression-safety.
TemplateAFreshness: A★ 3.9KCursor
Cite this page
lean-ctx-review skill. Agent Mart. https://agentmart.dev/skills/yvgude-lean-ctx-review (last updated 2026-10-24)