---
name: alinaqi-context-shunt
description: "Offload large / multi-file reads to a cheap worker model so raw files never enter Claude's context (token savings)"
license: "MIT"
metadata:
  decimalai-skill-id: "2cfaaf21-14f9-49b3-a0f5-de7186f67252"
  decimalai-version-id: "2a181972-4d9f-416a-9e6b-b547449523e9"
  decimalai-version: "1"
  decimalai-body-sha256: "828fb84ba12367d49ea19f8436c2b7a1ac57fffd081ed61b30af480782fc2d86"
  decimalai-name: "alinaqi/context-shunt"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "agent-tooling"
  decimalai-source: "https://app.decimal.ai/s/alinaqi-context-shunt@1/SKILL.md"
---
# Context Shunt — Read Cheap, Keep Context Small

Reading big files into context is the most expensive thing an agent does for the
least reasoning value. The shunt hands those reads to a cheap worker model
(`bulk-read`) that answers a question about the files and returns a compact
summary. The raw bytes never enter this session's context.

This is orthogonal to whole-turn routing (srooter / `route-task`): those pick the
model for the *turn*; the shunt trims what a *tool call* pulls into context when
the turn is legitimately here.

## Decision: read raw, shunt, or graph?

- **Editing this exact file** — read it raw. You need every line; never edit against a summary.
- **A fact/answer across large or many files** — `bulk-read "<question>" file...`.
- **A code symbol (function/class/route)** — `get_code_snippet(qualified_name)`: free and exact.
- **Small file (under threshold) you need in full** — read it raw.

A shunt answer is for understanding, not for producing a diff.

## Usage

```bash
bulk-read "how does token refresh work?" src/auth/session.ts src/auth/refresh.ts
bulk-read "which config keys are read at startup?" $(git ls-files 'config/*.yaml')
```

`bulk-read` prints structured bullets citing `path:line`, or
`NOT FOUND IN PROVIDED FILES`. A token-savings report goes to stderr.

## Configuration

Env vars or `~/.claude/shunt.conf` (see `templates/shunt.conf`):

- `SHUNT` — `on`/`off` master switch for the PreToolUse hook.
- `SHUNT_MIN_LINES` — large-read threshold (default 350).
- `SHUNT_MODE` — `suggest` (default) / `block` / `off` for the hook's large-read action.
- `SHUNT_GRAPH_NUDGE` — `on`/`off` once-per-session graph nudge.
- `SHUNT_MODEL` — worker command (default `deepseek --flash`; also `gemini-api --flash-lite`, `qwen3`, `glm`).

The `context-shunt-gate` PreToolUse hook enforces the thresholds; this skill tells
you when to reach for `bulk-read` yourself.
