use-gotcontext
gotcontext-saddle is the behavior harness; gotcontext.ai is the compression
engine. This skill routes you to the right layer.
Install (once per machine)
- API key — sign in at gotcontext.ai/dashboard/settings,
create a
gc_-prefixed key.
- Export before every session (MCP reads the shell, not
.env.local):export GOTCONTEXT_API_KEY="gc_..."
- Wire MCP without replacing existing config — pick one:
- Saddle installer (additive merge):
./install.sh claude (or codex, cursor, agy)
- Official CLI:
npx --yes gotcontext@1.0.1 wrap claude (or codex / gemini)
Do not copy a template over an existing user configuration.
- Restart and verify:
- Claude / Codex / Gemini CLI:
npx --yes gotcontext@1.0.1 doctor
- Cursor: open Settings → MCP and confirm
gotcontext is enabled
- agy: run
/mcp and confirm gotcontext is connected
- Optional plugin (outcome-shaped compression skills):
/plugin marketplace add oimiragieo/gotcontext-sdk
/plugin install gotcontext
Plugin skills: shrink-for-claude, pre-flight, review-pr-diff,
compress-mcp-manifest, ingest-docs, batch-compress, extract-api-surface,
session-summary. Read SETUP.md in the plugin on first run.
Routing table
| Task |
Tool |
Notes |
| Large pasted doc / handoff |
ingest_context → read_skeleton |
profile=core; give a unique file_id |
| Remote URL / docs page |
ingest_context(file_url=…) → read_skeleton |
profile=core; avoid raw full-page fetches |
| Find a section in ingested doc |
search_semantic → modulate_region |
profile=core; evidence-aware reads |
git diff, pytest -v, CI logs |
filter_cli_output |
profile=full; use when output is genuinely verbose |
| Route a large payload |
gc_pre_flight or plugin pre-flight |
profile=full, Pro+ |
| PR review / changed symbol context |
gc_blast_radius or plugin review-pr-diff |
profile=full, Pro+; submit snippets |
| MCP tools/list bloat |
gc_compress_manifest or plugin compress-mcp-manifest |
profile=full; shrink tool descriptions |
| Local repo search |
tg search PATTERN PATH |
Scoped; broad scans refused |
| Local symbol before edit |
tg callers PATH SYM / tg blast-radius |
Disk primitive |
| Server-side code navigation |
gc_callers, gc_blast_radius, … |
profile=full, Pro+; submit snippets |
PreToolUse hooks enforce this (installed with ./install.sh claude):
Read ≥20 KB full-file → blocked → use MCP, scoped Read, or tg
WebFetch → nudge ingest+skeleton
Grep / shell grep/rg → nudge tg search
PreCompact → core compression path; gc_pre_flight only when profile=full is enabled
Emergency: export SADDLE_GOTCONTEXT_BYPASS=1
MCP profiles
?profile=core (installed default) — compact core compression profile with a
small tool-list footprint. It does not expose gc_pre_flight or the
server-side code-navigation suite.
?profile=full — complete catalog, including Pro+ routing, code navigation,
security, KB, and batch tools. Your account plan still controls access.
Change the url in your MCP config or pass the profile query param.
When NOT to use
- Secrets, tokens, credentials, raw auth output
- Prompts under ~200 tokens (send them as-is; compression overhead is not worthwhile)
- Already-compact green test output
- Sources you must reproduce character-for-character
Full discipline write-up
core/prompts/principles/08-gotcontext-dogfood.md
Docs
1---2name: use-gotcontext3description: Route large context through gotcontext.ai MCP compression before sending to a model — pre-flight, ingest, skeleton reads, PR diffs, remote docs. Use when about to paste a large file, verbose CLI output, git diff, or remote URL into context. Pair with tg for local code reads. Triggers include "compress this", "shrink context", "gc_pre_flight", "ingest_context", "gotcontext MCP", "token savings".4---56# use-gotcontext78gotcontext-saddle is the **behavior harness**; gotcontext.ai is the **compression9engine**. This skill routes you to the right layer.1011## Install (once per machine)12131. **API key** — sign in at [gotcontext.ai/dashboard/settings](https://gotcontext.ai/dashboard/settings),14 create a `gc_`-prefixed key.152. **Export before every session** (MCP reads the shell, not `.env.local`):16 ```bash17 export GOTCONTEXT_API_KEY="gc_..."18 ```193. **Wire MCP without replacing existing config** — pick one:20 - Saddle installer (additive merge): `./install.sh claude` (or `codex`, `cursor`, `agy`)21 - Official CLI: `npx --yes gotcontext@1.0.1 wrap claude` (or `codex` / `gemini`)22 Do not copy a template over an existing user configuration.234. **Restart and verify**:24 - Claude / Codex / Gemini CLI: `npx --yes gotcontext@1.0.1 doctor`25 - Cursor: open **Settings → MCP** and confirm `gotcontext` is enabled26 - agy: run `/mcp` and confirm `gotcontext` is connected275. **Optional plugin** (outcome-shaped compression skills):28 ```text29 /plugin marketplace add oimiragieo/gotcontext-sdk30 /plugin install gotcontext31 ```32 Plugin skills: `shrink-for-claude`, `pre-flight`, `review-pr-diff`,33 `compress-mcp-manifest`, `ingest-docs`, `batch-compress`, `extract-api-surface`,34 `session-summary`. Read `SETUP.md` in the plugin on first run.3536## Routing table3738| Task | Tool | Notes |39|------|------|-------|40| Large pasted doc / handoff | `ingest_context` → `read_skeleton` | `profile=core`; give a unique `file_id` |41| Remote URL / docs page | `ingest_context(file_url=…)` → `read_skeleton` | `profile=core`; avoid raw full-page fetches |42| Find a section in ingested doc | `search_semantic` → `modulate_region` | `profile=core`; evidence-aware reads |43| `git diff`, pytest -v, CI logs | `filter_cli_output` | `profile=full`; use when output is genuinely verbose |44| Route a large payload | `gc_pre_flight` or plugin `pre-flight` | `profile=full`, Pro+ |45| PR review / changed symbol context | `gc_blast_radius` or plugin `review-pr-diff` | `profile=full`, Pro+; submit snippets |46| MCP tools/list bloat | `gc_compress_manifest` or plugin `compress-mcp-manifest` | `profile=full`; shrink tool descriptions |47| **Local repo search** | **`tg search PATTERN PATH`** | Scoped; broad scans refused |48| **Local symbol before edit** | **`tg callers PATH SYM`** / **`tg blast-radius`** | Disk primitive |49| Server-side code navigation | `gc_callers`, `gc_blast_radius`, … | `profile=full`, Pro+; submit snippets |5051**PreToolUse hooks enforce this** (installed with `./install.sh claude`):52- `Read` ≥20 KB full-file → **blocked** → use MCP, scoped Read, or `tg`53- `WebFetch` → nudge ingest+skeleton54- `Grep` / shell `grep`/`rg` → nudge `tg search`55- `PreCompact` → core compression path; `gc_pre_flight` only when `profile=full` is enabled5657Emergency: `export SADDLE_GOTCONTEXT_BYPASS=1`5859## MCP profiles6061- `?profile=core` (installed default) — compact core compression profile with a62 small tool-list footprint. It does **not** expose `gc_pre_flight` or the63 server-side code-navigation suite.64- `?profile=full` — complete catalog, including Pro+ routing, code navigation,65 security, KB, and batch tools. Your account plan still controls access.6667Change the `url` in your MCP config or pass the profile query param.6869## When NOT to use7071- Secrets, tokens, credentials, raw auth output72- Prompts under ~200 tokens (send them as-is; compression overhead is not worthwhile)73- Already-compact green test output74- Sources you must reproduce character-for-character7576## Full discipline write-up7778`core/prompts/principles/08-gotcontext-dogfood.md`7980## Docs8182- [gotcontext.ai/docs#mcp-server](https://gotcontext.ai/docs#mcp-server)83- [gotcontext-sdk plugin](https://github.com/oimiragieo/gotcontext-sdk/tree/main/plugins/gotcontext)