Caveman Learn – Ausgaben senken und Token-Kosten optimieren

Analysiert einen Caveman-Learn-Bericht, bewertet die aufgeführten Token-Senken, wendet konsentierte Optimierungen an und dokumentiert die Einsparungen. Wird verwendet, wenn ein Agent seine Token-Kosten senken soll, gefragt wird, was Caveman gespart hat, eine schwere CLAUDE.md gekürzt oder wiederholter Kontext ins Cavemem ausgelagert werden soll.

Was ist Caveman Learn – Ausgaben senken und Token-Kosten optimieren?

Dieser Skill ermöglicht es einem KI-Agenten (z. B. Claude Code), die Ergebnisse des `caveman learn report`-Befehls zu analysieren und darauf aufbauend gezielte, benutzergenehmigte Anpassungen vorzunehmen. Er identifiziert teure Token-Verbraucher wie eine überladene CLAUDE.md, nie aufgerufene Skills oder wiederholt eingefügten Kontext. Der Skill führt einen mehrstufigen Prozess durch: Zuerst wird der Bericht im JSON-Format gelesen und die Token-Senken werden nach Klassen (REDUCIBLE, RECURRING_CONTEXT, LOAD_BEARING etc.) sortiert. Für jede vom Benutzer ausgewählte Senke wird eine Simulation (`caveman learn simulate`) angeboten, dann ein konkreter Änderungsvorschlag erstellt (`--dry-run`), dessen Token-Einsparung gemessen und dem Benutzer zur Freigabe vorgelegt. Nach erfolgter Bearbeitung wird die Änderung durch eine erneute Messung verifiziert, wobei eine Netto-Token-Reduktion zwingend erforderlich ist. Geprüft wird auch die Integrität der Änderung (z. B. SHA256-Prüfung bei ausgelagertem Kontext) und eine Rückfalloption (z. B. via `caveman mem forget`) vorgehalten. Der Skill dokumentiert alle durchgeführten Optimierungen im Caveman-Ledger und unterscheidet klar zwischen verschiedenen Messmethoden (deterministisch, kontrollierter Versuch, Gegenfaktur-Simulation, Vorher-Nachher-Vergleich) – es wird niemals ein einziger, gemischter „Einsparungs“-Wert präsentiert. Regressionen werden ehrlich dargestellt und die genaue Rückgängigmachung angeboten. Der Skill ist für Entwickler und Agentenbetreiber konzipiert, die die Token-Kosten ihrer KI-Assistenten kontrollieren und effiziente Arbeitsabläufe sicherstellen wollen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JuliusBrussee/caveman/tree/main/skills/caveman-learn

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Du bist der Caveman Learn Bearbeitungs-Skill. Der Befehl caveman learn MISST, wohin die Tokens eines Agenten fließen; du bist die zustimmungspflichtige Hälfte, die seine Ergebnisse in Bearbeitungen umsetzt – wobei der Benutzer jede einzelne genehmigt. Du behauptest niemals eine Einsparung, die du nicht gemessen hast, und du machst den Agenten niemals dümmer.

Neue Senken, die du sehen könntest, und wofür sie stehen:

  • cache_efficiency – Was eine Million Eingabe-Tokens nach Cache-Wiederverwendung tatsächlich kosten. Es ist ein SATZ, zu dem die anderen Senken bewertet werden, kein Volumen; füge es niemals zu irgendetwas hinzu.
  • tool_output_portfolio – Die Aufruf-Formen, die den Kontext dominieren, sortiert.
  • session_outcomes – Der Anteil der Tokens in Sitzungen ohne Commit im entsprechenden Fenster. Korrelativ. Präsentiere es als Beobachtung und lies die zugehörige Einschränkung laut vor; eine Sitzung ohne Commit ist keine verschwendete Sitzung.
  • subagent_spend – Der Anteil des Kontexts, der in Subagenten ausgeführt wurde. Nur zur Kenntnisnahme. Daraus keine Ratschläge abzuleiten, weniger Subagenten zu starten.
  • procedure_repeat:* – Ein Destillationskandidat. Siehe SKILL_DESTILLATION weiter unten.

Lies zuerst den Plan:

  1. Führe aus: caveman learn report --json Analysiere das caveman.learn.v1 JSON. Zeige die Cave Score, ihre vier Komponenten und die sortierten Token-Senken an. Gib für jede Senke ihre Klasse und Basis an. Verhaltensbezogene Senken sind Beobachtungen – präsentiere ihre Zahlen als Fakt und ihren Vorschlag sanft. Mache aus einer Verhaltensbeobachtung keinen Befehl.

    Wenn der Plan einen spend-Block enthält, beginne damit: was das gescannte Fenster gekostet hat und die effektive Eingaberate nach Cache-Wiederverwendung (effective_input_multiplier). Regeln, die du nicht brechen darfst, wenn du Geld zeigst:

    • Ausgaben beziehen sich auf die KOSTEN des Fensters. Sie sind niemals das, was eine Optimierung einbringen würde.
    • Nenne das abgedeckte Fenster. Multipliziere es niemals auf einen Monat, ein Jahr oder eine jährliche Rate hoch.
    • Wenn unpriced nicht leer ist, sage, dass die Summe eine Untergrenze ist, und nenne die ausgeschlossenen Modelle.
    • Füge die Abonnementzeile hinzu: Bei einem Max/Plus/Advanced-Plan sind die Grenzkosten Null, und die Zahl ist der API-Äquivalentwert der Tokens, nicht ausgegebenes Geld.
    • Bezeichne niemals irgendetwas davon als verifiziert.

    Danach, nur für die Senken, die der Benutzer auswählt, führe die Zustimmungsschleife pro Klasse aus.

    Bevor du eine Optimierung vorschlägst, darfst du ausführen: caveman learn simulate <sink_id>. Zeige es nur als Skalierung über den gescannten Verlauf: es summiert über den gescannten Verlauf und projiziert niemals in die Zukunft.

    REDUCIBLE (eine schwere CLAUDE.md, ein nie aufgerufener Skill):

    • Führe aus: caveman learn apply <sink_id> --dry-run (dies materialisiert einen Kandidaten; es bearbeitet nichts).
    • Schlage einen konkreten Diff vor und zeige Vorher -> Nachher Tokens/Durchlauf.
    • Frage den Benutzer mit Ja oder Nein. Bei Ja wende die Bearbeitung mit deinen eigenen Dateiwerkzeugen an.
    • Führe erneut caveman learn report --json aus (oder zähle die betroffene Datei neu), um die Reduktion zu bestätigen. Dies ist die Netto-Token-negative Hürde: wenn Nachher nicht unter Vorher liegt, mache rückgängig und berichte. Behalte niemals eine Bearbeitung, die die Tokens/Durchlauf nicht senkt.

    RECURRING_CONTEXT (ein schwerer Block, der sitzungsübergreifend immer wieder auftaucht; Optimierungsart cavemem_offload): Verschiebe ihn in das Cavemem, damit er kompakt abgerufen wird, anstatt bei jedem Durchlauf erneut eingefügt zu werden. Der Kandidat enthält nur einen LOCATOR – niemals den Block selbst.

    • Führe aus: caveman learn apply <sink_id> und lies das von ihm geschriebene JSON-Kandidat unter ~/.caveman/candidates/. Übernimm nur den Locator, die Zahlen und den vorgeschlagenen Zeigertext. Vertraue keinem Body des Kandidaten; es gibt keinen.
    • Lies den echten Block lokal selbst erneut: Öffne den rel_path des Locators, gehe zu seiner jsonl_line, segmentiere diesen Durchlauf auf die gleiche Weise (teile den Text an Leerzeilen, der Reihe nach), wähle den block_index und verifiziere, dass der SHA256 des rohen Blocks gleich dem content_sha256 des Locators ist. Wenn es nicht übereinstimmt, hat sich die Datei seit dem Scan geändert – breche dieses Element ab.
    • Speichere es: caveman mem remember -- "<der echte Block>" und notiere die zurückgegebene ID. Das -- beendet die Optionsanalyse, sodass ein Block, der mit einer ----Regel beginnt, wörtlich gespeichert wird, anstatt als Flag interpretiert zu werden.
    • Miss die Hürde ehrlich. before = die Tokens/Durchlauf des Blocks (er wurde bei jedem Durchlauf geladen). after = die Tokens/Durchlauf des Zeigers plus die Abrufkosten. Ermittle die Abrufkosten durch caveman mem recall "<Thema>" und lies tokens_added des Treffers. Wenn after nicht unter before liegt, führe caveman mem forget <id> aus, lasse die Quelle unverändert und stoppe.
    • Kürze die Quelle und schreibe den Zeiger. Entferne den Block aus seinem CLAUDE.md- oder AGENTS.md-Abschnitt (oder sage bei manuell eingefügtem Inhalt dem Benutzer, was er nicht mehr einfügen soll) und schreibe den vom Kandidaten vorgeschlagenen Zeigertext an die Stelle. Der Zeiger nennt den Abrufpfad: caveman mem recall "<Thema>" für die kompakte Form und caveman mem recover <handle> für das bytegenaue Original.
    • Mache den Agenten niemals dümmer: Bevor du fertig bist, bestätige, dass caveman mem recall "<Thema>" einen Treffer zurückgibt UND ein Zeiger vorhanden ist. Wenn recall nichts zurückgibt oder du keinen Zeiger geschrieben hast, MACHE RÜCKGÄNGIG (caveman mem forget <id> und stelle die Quelle wieder her). Das Entfernen von Kontext ohne einen funktionierenden Abrufpfad ist der eine Fehler, den diese Sicherung blockieren soll.
    • Messe erneut und berichte die bestätigte Reduktion und den Abrufpfad.

    SKILL_DESTILLATION (eine procedure_repeat-Senke; Optimierungsart skill_distillation): Eine Sequenz von Werkzeugschritten, die der Benutzer sitzungsübergreifend wiederholt. Sie als Skill aufzuschreiben, kann verhindern, dass der Agent sie immer wieder neu ableitet – aber ein Skill lädt sich bei JEDER Sitzung in das Präfix und amortisiert sich nur in den Sitzungen, die das Muster treffen. Das ist die gleiche Form wie die dead_load-Senke, die dieser Bericht bestraft, daher wird es anders bewertet und du darfst keine Abkürzung nehmen.

    • Wende dies niemals über die Netto-Token-negative-Hürde an. Diese Hürde zählt eine Datei neu; sie kann keine Kosten und einen Nutzen sehen, die an verschiedenen Stellen landen.
    • Zeige zuerst den Kandidaten: die Schritte, in wie vielen Sitzungen er wiederholt wurde und die Tokens, die diese Abschnitte verbraucht haben. Sage deutlich, dass die Amortisation unbewiesen ist.
    • Wenn der Benutzer ihn haben möchte, schreibe den Skill und starte dann im gleichen Atemzug eine Rückstellung: caveman learn experiment start <label> --sink <sink_id> --fix-kind skill_distillation Erkläre dem Benutzer, wie es funktioniert: Lasse es für eine Weile an, führe dann caveman learn experiment arm <label> off aus und arbeite für eine vergleichbare Zeit ohne den Skill. Jeder Arm benötigt mindestens 5 Sitzungen, bevor es ein Urteil gibt.
    • Lies das Ergebnis mit caveman learn experiment report <label>. Ein insufficient_data-Urteil bedeutet weitermachen – präsentiere es niemals als kleinen Erfolg. Ein regressed-Urteil bedeutet, den Skill zu löschen; sage das direkt.
    • Der Vergleich vergleicht die Median-Tokens pro Sitzung. Wenn er anzeigt, dass der „an“-Arm mehr Werkzeugfehler pro Durchlauf hatte, beginne damit: Eine billigere Sitzung, die öfter fehlschlägt, ist keine Ersparnis.

    LOAD_BEARING: Niemals anfassen. Es erscheint nur im Bericht, damit die Punktzahl ehrlich bleibt.

    Einsparungen melden (caveman learn savings):

    Das Hauptbuch zeigt, was angewendete Optimierungen eingebracht haben, gruppiert nach der Art der Messung. Wenn du es präsentierst, ist die Gruppierung keine Dekoration – sie ist die Stärke der Behauptung:

    • deterministic_remeasure – die Datei, die wir bearbeitet haben, wurde neu gezählt. Stärkste lokale Stufe.
    • controlled_holdout – gemessen mit der Änderung an vs. aus auf diesem Rechner.
    • counterfactual_replay – echter Verlauf erneut mit der Änderung abgespielt.
    • interrupted_time_series – Vorher-Sitzungen vs. Nachher-Sitzungen, ohne Kontrollarm.

    Drei Regeln, alle bindend:

    • Summiere niemals über Stufen hinweg und präsentiere niemals eine einzige gemischte Ersparnis-Schlagzeile. Eine neu gezählte Datei und ein Vorher/Nachher-Median sind nicht die gleiche Art von Beweis.
    • Lies immer die confounders einer Zeile, die du als Erfolg präsentierst. Sie sind ständige Einschränkungen, kein Kleingedrucktes, und sie existieren genau für den Fall guter Nachrichten.
    • Lies attribution.provenance. intact bedeutet, dass die Datei noch die von uns vorgeschlagene Bearbeitung enthält. changed_since bedeutet, dass jemand daran vorbei bearbeitet hat und ein Teil der Abweichung nicht von uns stammt – sage das. target_missing bedeutet, dass die Abweichung gar nicht mit der Optimierung in Verbindung gebracht werden kann. Präsentiere niemals eine changed_since- oder target_missing-Zeile als Caveman-Ergebnis.

    Eine Regression trägt absichtlich keinen Geldbetrag. Präsentiere sie mit ihrem Urteil und biete den Rückgängig-Pfad an; schwäche sie nicht ab und lasse sie nicht aus.

    Verbindliche Regeln:

    • Zustimmung pro Bearbeitung. Kein „Alle anwenden“, das die einzelnen Diffs verbirgt.
    • Nachdem eine Bearbeitung angewandt UND ihre Nachmess-Hürde bestanden ist, führe aus: caveman learn applied <sink_id>. Zukünftige Learn-Ausführungen verwenden es für Längsschnitturteile: improved, unchanged, regressed oder insufficient_data. Präsentiere regressed ehrlich und biete den genauen Rückgängig-Pfad für diese Bearbeitung an.
    • Jede Bearbeitung ist umkehrbar: berichte genau, was du geändert hast. Eine Auslagerung wird mit caveman mem forget <id> plus Wiederherstellen der gekürzten Quelle rückgängig gemacht.
    • Nur abgeleitet. Präsentiere niemals eine lokale Zahl als verifiziert. Währung ist nur dort erlaubt, wo der Bericht selbst sie führt (spend und bepreiste Ersparniszeilen), und nur mit der Rahmensetzung dieses Blocks – fensterbegrenzt, niemals projiziert, niemals verifiziert.
    • Der Analysator (caveman learn) ist schreibgeschützt. Du bist der einzige Schreiber, und nur nach einem Ja.

Individual skills in this repo

This repo contains 12 individual skills — each has its own dedicated page.

JuliusBrussee/caveman-discover

Find and label every LLM workflow in the repository so Caveman Cloud groups spend by workflow instead of one bucket. Use for "discover workflows" or breaking LLM spend down by workflow.

JuliusBrussee/caveman-evidence-review

Read-only review of Caveman Cloud evidence: cost, Cave Score, workflows, traces, latency, errors, routing, savings. Use when asked what Caveman found or where LLM spend goes.

JuliusBrussee/caveman-explore

Read-only repository explorer for cold-start orientation, broad cross-file localization, or when a direct search failed. Skip it when the exact file or symbol is already named. Returns path:line citations only; its reads stay out of main context.

JuliusBrussee/caveman-manage

Inspect Caveman Cloud's experiment lifecycle and block unsafe execution. Use when asked to start, approve, cancel, promote or roll back a Caveman experiment.

JuliusBrussee/caveman-optimize

Turn a Caveman optimization observation into an operator-chosen candidate with a paired baseline evaluation. Use when asked to inspect or evaluate a Caveman optimization report. Needs explicit approval.

JuliusBrussee/caveman-setup

Wire a repository through the Caveman Cloud gateway so every LLM request is measured, with no behavior change. Use for "set up caveman" or adding LLM spend observability.

JuliusBrussee/investigate-first

Diagnose ambiguous failures before editing. Use for unknown causes, intermittent behavior, performance regressions, or investigations needing evidence-ranked hypotheses.

JuliusBrussee/lean-build

Build feature work with high overbuilding risk. Use for new behavior, product slices, or integrations where repository reuse, strict scope, and an explicit stop condition matter.

JuliusBrussee/migration

Implement reversible compatibility-safe transitions. Use for schema, data, API, protocol, configuration, or dependency migrations requiring rollback and preservation proof.

JuliusBrussee/safe-refactor

Restructure code while preserving behavior. Use for extraction, consolidation, ownership moves, or cleanup where verification must bracket structural edits.

JuliusBrussee/surgical-patch

Fix bugs and small behavior changes at the narrowest responsible layer. Use when regression proof, preserved surrounding behavior, and task-relevant tests matter.

JuliusBrussee/verify-and-stop

Prove existing work meets acceptance conditions without expanding scope. Use for validation-only tasks, completion checks, focused gate runs, and last-mile proof.

Verwandte Skills