# slipstream by sarmalinux > slipstream is not affiliated with or endorsed by Anthropic. Claude and Claude Code are trademarks of Anthropic, referenced here only to describe compatibility. slipstream is a Claude Code plugin. You install it into Claude Code in VS Code and it makes Claude work through precise tools instead of whole-file reads, keeps context alive across compaction, ships a guardrailed skill library for production sites on Cloudflare, Supabase, Vercel and Resend, and stands up a live local dashboard so you can watch the agents work. It is not a CLI you run as a product. There is a small helper binary the plugin calls from its hooks, its slash commands and a bundled MCP server, but you never invoke it directly. ## What you feel on day one 1. **Claude works through precise tools.** A bundled MCP server exposes `sp_map`, `sp_symbol`, `sp_lines` and `sp_search`, so Claude pulls one declaration instead of opening the whole file. See [MCP tools](MCP-Tools) and [Token efficiency](Token-Efficiency). 2. **Memory builds itself, and you can search it.** Every turn is captured as a compact observation and made semantically searchable through a three-layer search (`sp_search_memory` → `sp_timeline` → `sp_observations`), so past work is recoverable without anyone writing it down. See [Observation memory and semantic search](Observation-Memory). 3. **Context survives compaction.** A `PreCompact` hook writes a structured digest before Claude Code trims the conversation; the next session reloads it. See [Lossless compaction](Lossless-Compaction). 4. **You watch the agents in a dashboard.** Session start boots a `127.0.0.1` server and prints the URL into chat; a Memory search panel queries your project's observations. See [Live agent dashboard](Live-Agent-Dashboard). 5. **You see the budget in the statusline.** `cp | ctx 12% ok | mem 4 | obs 37 | skill scoped-read`. See [Statusline](Statusline). ## System diagram ```mermaid %%{init: {'theme':'base','themeVariables':{'primaryColor':'#0d1117','primaryTextColor':'#f5f7fa','primaryBorderColor':'#38bdf8','lineColor':'#22d3ee','fontFamily':'monospace'}}}%% flowchart TD subgraph CC[Claude Code in VS Code] Hooks[Hooks incl. PreCompact] Cmds[Slash commands] Skills[63 agent skills] Agents[Subagents] SL[Statusline] end CC --> MCP[Bundled MCP server sp_*] Hooks --> Helper[slipstream helper] Cmds --> Helper Agents --> MCP MCP --> Map[Project map] Helper --> Map MCP --> Mem[Persistent memory] Helper --> Mem Hooks -->|PreCompact| Digest[Session digest] Digest --> Mem Hooks --> Log[(Event log)] Log --> Server[Local SSE server 127.0.0.1] Server --> UI[Live dashboard] SL --> Budget[Context budget] Map -->|read index, pull one slice| Tokens[Fewer tokens per read] Mem -->|reloaded at session start| Survive[Context survives compaction] ``` ## v0.7 highlights - **[Tabbed dashboard](Dashboard-Tabs).** Five views on one local URL: **Live** (KPI strip, agents, timeline, plan, mind map, per-skill activity), **Project** (project-wide KPIs, 365-day activity heatmap, file leaderboard, kinds donut, lessons grid), **Journal** (per-day digest with prev / today / next nav, six tiles, top files and tools), **Sessions** (open and delete per row, gated behind a modal), **Memory** (full-project observation search with kind filter chips). - **Six new project endpoints.** `/api/project/summary`, `/api/project/heatmap`, `/api/project/files`, `/api/project/lessons`, `/api/project/day`, `DELETE /api/sessions/:id`. All bound to `127.0.0.1`. - **Windows hook telemetry persists (v0.7.1).** `emit()` writes in-process and every hook awaits it. The detached-spawn-then-exit pattern silently lost every Windows event; observation memory now builds. - **MCP-only observation memory populates (v0.7.2).** `foldObservations` gains an opt-in `flushOpen` so the trailing open turn materialises when no closing `stop` event arrives. The four memory-reading `sp_` tools call it in `mcp-only` mode so Cursor, Windsurf and Antigravity see a populated memory the moment they query it. - **`serverInfo.version` reads from `package.json` (v0.7.1).** No more hardcoded literal lagging behind real releases. - **Doctor `duplicate-registration` false-positive fixed (v0.7.2).** The check now keys off the detected runtime; a FAIL only fires when the Claude Code plugin is actually loaded alongside a `.mcp.json` slipstream entry. ## v0.6.1 highlights - **[Dashboard /api/health](Health-Endpoint).** Every dashboard advertises its version, pid and boot timestamp on a tiny local-only JSON endpoint. - **Version-aware restart.** `sp_dashboard` now probes `/api/health`; if the running version is behind the installed build, the old process is signalled and a fresh dashboard takes the port. No more stale UIs after an upgrade. - **Stable URL file.** After every start, `/.claude/slipstream/dashboard.url` is written so any caller can find the live URL. - **New [doctor](Doctor) checks.** `duplicate-registration` flags slipstream wired via both the plugin and `.mcp.json`. `double-emit` flags `SLIPSTREAM_MCP_EMIT=1` set on top of active hooks. `stale-dashboard` flags a running dashboard whose version is behind the installed package. ## v0.6.0 highlights - **More install paths.** First-class guides for [JetBrains](Install-in-JetBrains), [Cursor](Install-in-Cursor), [Windsurf](Install-in-Windsurf) and [Antigravity](Install-in-Antigravity), alongside the existing [VS Code](Install-in-VS-Code) plugin path. - **[Map watcher](Map-Watcher).** Optional `--watch-map` mode keeps the project map in step with the working tree, so scoped reads do not return stale ranges after a rename. - **[Token forecast](Token-Forecast).** The statusline now shows how many steps remain before the warn threshold, so compaction happens on your terms. - **[Replay export](Replay-Export).** Bundle a session into a portable archive for debugging, sharing or attaching to a bug report. - **[Configurable redaction](Configurable-Redaction).** A `.claude/slipstream/redact.json` file with default patterns for the obvious leakers and a clean hook for custom rules. - **[Drift detection](Drift-Detection).** Surfaces stale maps, missing references and gauge-versus-truth disagreement as observations with a clear suppression path. - **[Per-skill opt %](Per-Skill-Opt).** A breakdown of token savings by skill, so you see which parts of the workflow are pulling their weight. - **[CI mode](CI-Mode).** A `--ci` flag that emits JSON-line stdout, exits non-zero on drift, and plugs into GitHub Actions with a few lines of YAML. - **[Lessons](Lessons).** Recurring observations collapsed into durable, citable lessons surfaced through `sp_lessons`. ## Navigation | Page | What it covers | |---|---| | [Install in VS Code](Install-in-VS-Code) | Marketplace add, install, first run, doctor | | [MCP tools](MCP-Tools) | The bundled server and every `sp_` tool | | [Observation memory and semantic search](Observation-Memory) | Self-building memory, the local embedding, three-layer search, lesson distillation | | [Cross-IDE support](Cross-IDE-Support) | The dashboard, budget gauge and tools in Cursor, Windsurf, Antigravity, VS Code | | [Lossless compaction](Lossless-Compaction) | The PreCompact digest and the reload | | [Memory recall](Memory-Recall) | Signal-ranked relevant recall, not load-everything | | [Live agent dashboard](Live-Agent-Dashboard) | Hooks, event log, server, UI, replay | | [Statusline](Statusline) | The status bar line and how to enable it | | [Output style](Output-Style) | The terse, token-lean style | | [Subagents](Subagents) | sp-shipper, sp-schema, sp-reviewer | | [Token efficiency](Token-Efficiency) | The worked before/after numbers | | [Architecture](Architecture) | Repo shape, modules, the data path | | [Memory system](Memory-System) | The file-based store and the index | | [Skill engine](Skill-Engine) | The skill contract and loader | | [Skill catalogue](Skill-Catalogue) | The 63 skills by category | | [Writing a skill](Writing-a-Skill) | Author a skill that passes validation | | [Hooks](Hooks) | Every wired hook and what it emits | | [Configuration and tuning](Configuration-and-Tuning) | Every knob and env var | | [Data formats](Data-Formats) | Map JSON, memory frontmatter, the event log | | [Performance and benchmarks](Performance-and-Benchmarks) | Real numbers from this machine | | [Design decisions](Design-Decisions) | Choices made and alternatives rejected | | [Security model](Security-Model) | Local-only, redaction, what to trust | | [Testing strategy](Testing-Strategy) | What the 120 tests cover and why | | [Examples and recipes](Examples-and-Recipes) | Copy-paste flows | | [Comparisons](Comparisons) | Versus the obvious alternatives | | [Integrations](Integrations) | Cloudflare, Supabase, Vercel, Resend | | [Contributing](Contributing) | Build, test, write an extension | | [FAQ](FAQ) | Common questions | | [Troubleshooting](Troubleshooting) | Symptoms and fixes | | [Roadmap and limitations](Roadmap-and-Limitations) | What I will and will not add | --- SarmaLinux . sarmalinux.com . [Repository](https://github.com/sarmakska/slipstream)