Skip to content
Development
Skill

/lean-ctx

Use LeanCTX Context Gateway tools to select task-relevant code context, apply supported controls, reuse local knowledge and inspect recorded evidence. Use when lean-ctx MCP tools (ctx_*) are available or file, search or command output needs a focused view.

From plugin
lean-ctx
3.9k2 skills

Claude Code

$ npx -y skills add yvgude/lean-ctx --skill lean-ctx --agent claude-code

SKILL.md

lean-ctx.SKILL.md
name: lean-ctx
description: Use LeanCTX Context Gateway tools to select task-relevant code context, apply supported controls, reuse local knowledge and inspect recorded evidence. Use when lean-ctx MCP tools (ctx_*) are available or file, search or command output needs a focused view.

LeanCTX — Context Gateway for AI agents

Control what your AI can see. LeanCTX provides local context selection, supported access and content controls, and evidence of observed context operations for existing agents: Select → Control → Learn → Prove. Learn means local task and knowledge continuity, not model training. Recovery depends on source or archive availability and access permissions. LeanCTX | SDK is the separate integration surface for applications.

lean-ctx shapes context before it reaches you: cached reads, compressed shell output, focused search, recovery to exact source. Two rules beat every detail:

1. **Fewer round trips beat smaller outputs.** One call that answers the question is cheaper than three small ones. Never add a call just to save a few hundred tokens. 2. **Never wait by polling.** Do not loop `sleep` + status checks (see below).

Intent → tool

| You want to… | Call | |---|---| | Understand how something works (unknown location) | `ctx_compose(task)` — ranked files + source in one call; use it FIRST instead of search→read→read | | Find the exact definition of a symbol | `ctx_search(action="symbol", name=…)` | | Find code by meaning | `ctx_search(action="semantic", query=…)` | | Find a text/regex pattern | `ctx_search(pattern=…, path=…)` | | Who calls X / what calls X makes | `ctx_callgraph(action="callers"|"callees", symbol=…)` | | Read a file you will edit | `ctx_read(path, mode="anchored")` → edit with the host's native edit tool, or `ctx_call(name="ctx_patch", arguments={…})` | | Read a file only for context | `ctx_read(path, mode="signatures"|"map")`; a range: `mode="lines:N-M"` | | Re-check a file after editing | `ctx_read(path, mode="diff")` | | Run a command (build, test, git, …) | `ctx_shell(command)` — output is compressed | | List files / directory shape | `ctx_glob(pattern)` / `ctx_tree(path, depth)` | | Remember across sessions | `ctx_session(action="finding"|"decision"|"task", value=…)`; durable project facts: `ctx_call(name="ctx_knowledge", arguments={"action": "remember", …})` |

Do not read or search through `ctx_shell` (`cat`, `sed -n`, `grep`, `rg`): that bypasses the read cache and symbol index. Use `ctx_read` / `ctx_search`.

Deferred tools (ToolSearch)

If the host lists lean-ctx tools by name only (Claude Code's ToolSearch), load what the task needs in **one** call, e.g. `select:mcp__lean-ctx__ctx_compose,mcp__lean-ctx__ctx_search,mcp__lean-ctx__ctx_read`. Do not fall back to `ctx_shell` for everything because it happens to be loaded. A tool named here that your tool list lacks (the default profile shows a small core) is still callable: `ctx_call(name="ctx_knowledge", arguments={…})`. `ctx_call(name="ctx_discover_tools", arguments={"query": "…"})` lists all of them.

Long-running commands

  • Prefer the host's own background execution that notifies on completion

(Claude Code: `Bash` with `run_in_background`, or `Monitor`). Start it, then continue other work or end the turn — you will be told when it finishes.

  • `ctx_shell(run_in_background=true)` jobs do not notify by themselves. Check

a job at most once when you actually need its result; never `sleep` in a loop.

Truncated output

Compressed or archived output ends with a recovery handle. Fetch only the slice you need: `ctx_expand(id, search=… | head=N | json_path=…)`, or `ctx_read(path, raw=true)` for exact bytes. Do not re-run the command.

Without MCP (CLI)

lean-ctx read <file> -m signatures    # or map | diff | lines:N-M
lean-ctx grep <pattern> [path]
lean-ctx -c "<command>"               # only where the shell is not already wrapped
lean-ctx raw "<command>"              # exact, uncompressed output

Setup

which lean-ctx || curl -fsSL https://raw.githubusercontent.com/yvgude/lean-ctx/main/skills/lean-ctx/scripts/install.sh | bash
lean-ctx setup        # editor wiring, hooks, rules, this skill
lean-ctx doctor       # verify

Docs: https://leanctx.com/docs

Read more
@yvgude
Ships withlean-ctx

LeanCTX is the Context Gateway for AI Systems. Select task-relevant context, apply supported controls, connect local knowledge and inspect recorded evidence. Open-source Engine: CLI, MCP, hooks and supported proxy paths.

Stars on GitHub

Momentum

stars in total
3.9k
Star history of yvgude/lean-ctx on GitHub, a chart by star-history.com

Other skills on lean-ctx.

lean-ctx-review

lean-ctx-review

Review how the lean-ctx ctx_* MCP tools performed in the current session and file upstream issues for confirmed problems. Use…

@yvgude@yvgudeInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about lean-ctx.

Which coding agents can use lean-ctx?
lean-ctx installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.