spar-agent
spar
Lerne weiter, während KI den Code schreibt.
Fertigen, überzeugenden Code zu reviewen, lehrt dich fast nichts. Du hast keine Position, von der aus du ihn beurteilen könntest, also liest du ihn, nickst und machst weiter.
spar gibt dir die Position zurück. Bevor der Agent irgendetwas schreibt, sagst du, wo die Änderung hingehört, wie du es machen würdest und wo es brechen wird. Dann implementiert er, zeigt dir den Unterschied und notiert jede Stelle, an der dein Modell falsch lag.
Diese Lücken türmen sich zu einem Lehrplan auf, den du nie wählen musstest. Das Konzept, das du am häufigsten verfehlst, steigt von selbst an die Spitze, und die Reibung folgt ihm dorthin, sodass du nie entscheiden musst, hart zu arbeiten.
Wie es aussieht
› add an endpoint for cancelling an order
spar: level 2 (skeleton), 2 open gaps on "transaction boundaries in an ORM"
Before I write anything:
1. Where does this belong, and why there?
2. How would you approach it? (two sentences)
3. Where will this go wrong?
› 1. Orders controller, calling into the service
2. load the order, set status, save
3. no idea
[writes the controller, the DI wiring and the error handling,
and leaves the one line that matters]
// TODO(spar: decide the transaction boundary. Who opens it,
// and what happens if the refund call fails halfway?)Diese fünf Zeilen schreibst du selbst. Dann vergleicht spar done sie mit dem, was der Agent geschrieben hätte, und sortiert jeden Unterschied in einen von drei Eimern: Du hast etwas missverstanden, du hast dich vertippt, oder deine Version ist besser. Nur die ersten beiden werden als Lücken protokolliert.
Drei Wochen später, mitten in unzusammenhängender Arbeit:
spar: one gap has come due. Ask them to explain "transaction boundaries in an ORM"
in their own words at the next natural pause. Do not show them the answer first.Übrigens ist die Antwort „keine Ahnung“ völlig in Ordnung. Sie wird so aufgezeichnet, wie sie ist, und ist ein stark genuges Signal, dass die nächste Aufgabe, die dieses Konzept berührt, mehr von dir verlangt, nicht weniger.
Related MCP server: Learning Assistant MCP Server
Installieren
npm i -g spar-agent
spar install # finds your agents, backs up, merges
spar setup --project /path/to/repo --stack ".NET"Diese letzte Zeile ist wichtig: In einem Verzeichnis, das du nicht benannt hast, passiert nichts. Eine frische Installation ist völlig inert. Sie erstellt nicht einmal ~/.spar, bis du sie auf ein Projekt zeigst.
spar install geht vorsichtig mit Dateien um, die es nicht geschrieben hat. Es führt in das Vorhandene zusammen, sichert die Datei zuerst und ersetzt nur Einträge, die es selbst dort platziert hat. Führe es zweimal aus, und der zweite Lauf ändert nichts. Verwende --dry-run, um zu sehen, was es tun würde.
Wo du stehst
spar stats # in the terminal
spar dashboard # one self-contained HTML fileCALIBRATION, share of predictions that held, by week
2026-07-13 ███████▁▁▁ 67% 4/6 clean mean level 2.3
2026-07-20 ████▁▁▁▁▁▁ 44% 4/9 clean mean level 2.3
2026-08-03 ████████▁▁ 83% 10/12 clean mean level 0.8
2026-08-17 ██████████ 100% 9/9 clean mean level 0.3
CURRICULUM, concepts by weakness. The top row is what to learn next.
* idempotency in webhooks 3 open / 3 box 1.3
transaction boundaries in an ORM 8 open / 8 box 2.0
EF change tracking 0 open / 3 box 5.0Die Zahl, die zählt, ist die Kalibrierung: der Anteil deiner Vorhersagen, die überhaupt kein Missverständnis erzeugt haben. Bewusst keine Lückenzählung, denn eine Zählung steigt nur an und würde genau dann als Rückgang gelesen, wenn du besser wirst.

Sechs Wochen eines fiktiven .NET-Onboardings. Die Seite folgt deinem Systemdesign.
Das Dashboard ist eine einzelne Datei, die nie das Netzwerk berührt. Kein CDN, keine Webfonts, keine Chart-Bibliothek, und die Diagramme sind handgeschriebenes SVG. Jede Zahl sitzt im Markup, sodass die Seite mit deaktiviertem Skripting, hinter einer strengen CSP oder in einer Anhangs-Vorschau gleich gelesen wird. Skript fügt nur Mehrfachauswahl zur Fokusleiste hinzu. Sie wird in fünf Jahren immer noch offline per Doppelklick geöffnet.
Es gibt darin keine Serien, Punkte oder Abzeichen. In einem Werkzeug, in dem „keine Ahnung“ eine nützliche Antwort ist, würde ein Zähler dir nur beibringen, Kompetenz vorzutäuschen.
Die Stufen
Stufe | Der Agent tut | Du tust |
0 rush | alles | eine 30-Sekunden-Frage danach |
1 standard | implementiert | erst vorhersagen, danach vergleichen |
2 skeleton | Verdrahtung und Signaturen, wobei | die 5 bis 10 Zeilen schreiben, die die Entscheidung tragen |
3 transcript | liefert im Chat, schreibt nichts | selbst schreiben und platzieren |
Es gibt keinen Ausschalter, nur Stufe 0. Dein eigenes Lückenprotokoll schlägt die Stufe vor und sagt dir warum, und du kannst es jederzeit überstimmen. Überstimmungen werden gezählt, denn jemand, der den Vorschlag ständig korrigiert, sagt dir, dass die Schwellenwerte falsch sind.
Was jeder Agent bekommt
Claude Code | Cursor | Any MCP client | Any skills client | |
Die drei Fragen | ✅ | ✅ | ✅ | ✅ |
Lückenprotokoll, verteilte Wiederholung, Statistiken | ✅ | ✅ | ✅ | über |
Das Tor, tatsächliche Durchsetzung | ✅ | ✅ | ✗ | ✗ |
MCP ist standardisiert, wo Hooks es nicht sind, sodass der Server jeden MCP-Client ohne Adapter erreicht. Das Einzige, was er nicht kann, ist das Tor, denn ein MCP-Server bietet Werkzeuge an und fängt die eigenen Schreibvorgänge des Hosts nie ab. Diese Einschränkung ist das ganze Argument für die Pflege von Hook-Adaptern pro Agent und der Grund, warum die freiwilligen Stufen einen guten Test, aber einen schlechten Ersatz darstellen.
Was es nicht tun wird
Alles bleibt auf deinem Rechner, in ~/.spar/. Kein Konto, keine Telemetrie, keine Netzwerkaufrufe, kein eigener API-Schlüssel. Das Protokoll enthält Konzepte und Missverständnisse statt deiner Geschäftslogik, was es sicher macht, es für einen Kollegen zu screenshoten.
Und es versagt offen, immer. Eine fehlende Binärdatei, eine beschädigte Konfiguration, ein Fehler im eigenen Code: Das Tor öffnet sich und du machst weiter. Ein Lernwerkzeug sollte nie der Grund sein, warum du nicht ausliefern kannst.
Einmal pro Aufgabe, nicht einmal pro Datei. Fünfzehn Bearbeitungen hinter einer Vorhersage sind ein Tor.
Eine Aufgabe bleibt am Leben, solange Bewegung darin ist, und verfällt nach 30 Minuten Stille (idleMinutes in ~/.spar/config.json). Das misst Untätigkeit statt Alter, sodass eine lange, sorgfältige Aufgabe nie mittendrin unterbrochen wird. Wenn du etwas Neues beginnst, bevor der Timer abläuft, aktiviert spar next --session <id> ihn sofort wieder.
Die Voreingenommenheit ist beabsichtigt. Das erneute Aktivieren bei einer Folgeaufgabe kostet dich dreißig Sekunden und stößt dich in Richtung spar rush, und so sterben diese Werkzeuge. Eine verpasste Aufgabe kostet eine einzige Lücke, und dieses Konzept kommt wieder.
Eine Lücke kehrt zu Sitzungsbeginn zurück, formuliert als Frage für die nächste natürliche Pause. Nie eine Warteschlange, nie eine Unterbrechung. Beantworte sie gut, und sie rückt ein Feld auf (1, 3, 7, 16 und 35 Tage). Beantworte sie schlecht, und sie beginnt morgen von vorn.
Es gibt keine separate App und kein Postfach zum Ignorieren, denn sie kommt in der Sitzung an, in der du bereits gearbeitet hast.
npm install
npm test # 118 tests
npm run build
npm run emit # regenerate the checked-in hook configsDieselbe Hook-Definition ist dreimal eingecheckt: Claude Codes Plugin-Layout, der Agent-Plugins-Namespace und Cursors. Die beiden Standards sind sich uneinig, wo clientspezifische Dateien hingehören, sodass es keinen einzigen Ort gibt, der beide zufriedenstellt. Alle drei werden aus src/core/hookconfig.ts von npm run emit generiert, und ein Test schlägt fehl, sobald sie auseinanderdriften.
Lizenz
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityCmaintenanceAn interactive learning assistant that helps developers understand AI-generated code changes through quizzes and blocking learning sessions. It tracks and searches debugging experiences using RAG to ensure users build long-term technical understanding rather than just copy-pasting solutions.48MIT
- AlicenseAqualityDmaintenanceProvides educational tools for developers to learn programming concepts, review code, get best practices, compare approaches, generate learning paths, debug, explain code, and quiz themselves.8MIT
- AlicenseAqualityBmaintenancePersonal AI tutor MCP that automatically generates structured coding practice materials based on coding context and local files.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables recording and analyzing coding practice attempts, comparing LLM verdicts with platform results, and gradually improving LLM judgment through correction rules.MIT
Related MCP Connectors
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lander-Parren/spar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server