ce-pickup

Extrahiere Session-Übergaben lokal, ohne Frontier-Token zu verbrauchen.

Was ist ce-pickup?

ce-pickup ist ein Skill für KI-Agenten (z. B. Claude Code, Cursor, Codex), der es ermöglicht, `ce-handoff/v1`-Dokumente aus vergangenen Hermes-Sessions zu extrahieren – komplett lokal mit einem Ollama-Modell wie Ornith-1.5-35B-A3B. Dadurch sparst du Frontier-Token, die sonst beim erneuten Lesen einer kalten Session anfallen würden. Der Skill richtet sich an Entwickler, die alte Sessions aufgreifen wollen, ohne ihr Abonnement-Kontingent zu belasten, oder die mehrere Sessions zusammenführen müssen, während der Kontext bereits voll ist. Er nutzt ausschließlich `sqlite3`, `curl` und `jq`, vermeidet Python und damit TCC-Dialoge auf macOS Sequoia+. Die Ausgabe ist standardkonformes `ce-handoff/v1`-Markdown, das sofort mit `/ce-handoff resume` fortgesetzt werden kann. Optional kann ein Context-Ceiling-Watchdog das Session-Wachstum überwachen und bei Überschreiten von Schwellwerten (50k, 70k, 80k Token) alarmieren bzw. automatisch einen Pickup durchführen. Der Skill ist deterministisch, leichtgewichtig und ideal für automatisierte Workflows in CI/CD oder Cron-Jobs. Achtung: Bei Thinking-Modellen wie Ornith muss `think:false` gesendet werden, sonst kann der Output abgeschnitten werden – das Skript handhabt dies automatisch mit Fallback.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/wesleymatosdev/skills/tree/main/workflow/ce-pickup

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

Was macht ce-pickup?

Extrahiert ce-handoff/v1-Dokumente aus vergangenen Hermes-Sessions mit einem lokalen Modell. Null Frontier-Token-Kosten. Die Ausgabe ist standardmäßiges ce-handoff/v1-Markdown, daher funktioniert /ce-handoff resume <pfad> sofort.

Verwende dies anstelle von /ce-handoff in einer kalten Session, die sonst Abonnement-Kontingent verbrauchen würde, nur um aufzuholen.

Wann verwenden

  • Der Benutzer möchte eine unvollendete Session fortsetzen, ohne Frontier-Token für das erneute Lesen auszugeben
  • Du benötigst eine Übergabe von einer oder mehreren vergangenen Sessions, aber der Kontextfenster ist bereits voll
  • Der Benutzer fragt nach einem "Pickup" oder "Aufholen" einer alten Session
  • Die Ausführung von /ce-handoff in einer großen kalten Session wäre teuer

Schnellstart

bash ~/.hermes/scripts/ce-pickup.sh SITZUNGS_ID[,SITZUNGS_ID,...]

Standardmäßig Ausgabe in /tmp/compound-engineering-$(id -u)/ce-pickup/.

Dann von jeder Ausgabedatei fortsetzen:

/ce-handoff resume /tmp/compound-engineering-<uid>/ce-pickup/<slug>.md

Argumente

  • Arg 1 (erforderlich): Komma-getrennte Sitzungs-IDs (von session_search oder Hermes-Durchsuchen)
  • Arg 2 (optional): Ollama-Modellname – Standard hf.co/ornith-ai/Ornith-1.5-35B-A3B-GGUF:Q5_K_M
  • Arg 3 (optional): Ausgabeverzeichnis-Überschreibung

Umgebungsüberschreibungen (für Tests und alternative Hosts): CE_PICKUP_DB (Standard ~/.hermes/state.db), CE_PICKUP_OLLAMA_URL (Standard http://localhost:11434/api/chat), CE_PICKUP_MAX_CHARS (Standard 24000).

Modell-Routing

Standard: Ornith-1.5-35B-A3B-GGUF:Q5_K_M – bestätigt gute Extraktionsqualität, läuft lokal.

Wenn Ornith nicht geladen ist, funktioniert jedes leistungsfähige lokale Ollama-Modell. Verwende KEIN Frontier-Modell (das würde den Zweck verfehlen).

Prüfe, was verfügbar ist: ollama list

Funktionsweise

  1. Liest ~/.hermes/state.db über sqlite3 – kein Python, keine TCC-Abfragen
  2. Extrahiert user + assistant-Nachrichten, sortiert nach Zeitstempel
  3. Kürzt das Transkript auf 24.000 Zeichen (~6k Token) – ausreichend für sinnvolle Extraktion
  4. Ruft Ollama /api/chat über curl mit einem strukturierten Extraktions-Prompt auf
  5. Schreibt ce-handoff/v1-Frontmatter + Modellkörper in das Ausgabeverzeichnis
  6. Dateiname ist ein Slug des Session-Titels; bei Kollision wird ein numerischer Suffix angehängt

Ausgabeformat

Jede Ausgabedatei ist gültiges ce-handoff/v1 mit:

  • artifact_contract: "ce-handoff/v1"-Frontmatter
  • session_id, cwd, branch, repository wo verfügbar
  • Extraktion, die Folgendes abdeckt: Ziel, abgeschlossene Arbeit, aktueller Stand, Entscheidungen/Einschränkungen, Blocker, fehlgeschlagene Ansätze, Referenzen, nächste Schritte

Context-Ceiling-Watchdog (Begleitskript)

scripts/context-ceiling-watchdog.sh ist ein deterministischer, agentenloser Monitor für Live-Session-Kontext. Er schätzt den aktuellen Kontext jeder Live-Session (Nachrichteninhalt active=1 ÷ 4 Zeichen/Token – verwende niemals sessions.input_tokens, das ist das kumulative Abrechnungsvolumen inklusive Kontext-Neuladungen) und erzwingt:

  • >= 50k ERINNERUNG – einzeiliger Hinweis, wiederholt stündlich
  • >= 70k ALARM – Checkpoint-Warnung, wiederholt alle 30 Minuten
  • >= 80k EXTRAKT – führt ce-pickup lokal aus und meldet den ce-handoff/v1-Pfad; nach der Extraktion erfolgt ein erneuter Alarm nur, wenn die Session um weitere ~10k steigt (KRITISCH)

Er ist still (leere Standardausgabe), es sei denn, ein Schwellwert wird ausgelöst, sodass er direkt in einen agentenlosen Cron-Job mit Änderungserkennung passt. Der Zustand liegt in ~/.cache/context-ceiling-watchdog/ (einfaches TSV – kein LLM-Speicher, keine rekursive Kontinuität). Er schreibt nie in die Hermes-Konfiguration oder den Laufzeitzustand; state.db wird mit sqlite3 -readonly geöffnet.

Teste ihn ohne echtes Modell: bash scripts/mock-ollama.sh 21143 & dann bash scripts/test-watchdog.sh (Fixture-DB + skalierte Schwellwerte, 20 Prüfungen).

Fallstricke

TCC-Dialoge von Python (macOS Sequoia+): Die Ausführung von Python als Unterprozess einer App mit weitreichenden Berechtigungen kann TCC-Abfragen für iCloud Drive oder Dokumente auslösen – selbst wenn nur ~/.hermes/state.db gelesen wird. Das Shell-Skript verwendet nur sqlite3 + curl + jq + awk und löst KEINE TCC aus. Verwende niemals eine Python-basierte Implementierung dieses Arbeitsablaufs, es sei denn, der Benutzer akzeptiert explizit TCC-Abfragen.

Transkript-Kürzung: 24k Zeichen decken die meisten Sessions ab. Sehr lange Sessions (200+ Nachrichten mit großen Tool-Ausgaben) werden am Ende gekürzt. Wenn die Übergabe dünn wirkt, teile die Abfrage in schmalere Anfragen auf.

Thinking-Modelle + num_predict: Ollamas num_predict begrenzt die insgesamt generierten Token INKLUSIVE message.thinking. Ein Thinking-Modell (Ornith ist eines) kann das gesamte Budget im Thinking-Kanal verbrauchen und leeren oder abgeschnittenen message.content zurückgeben – den das Skript ausschließlich liest. Symptom: "leere Antwort von Ollama" oder eine Übergabe, die mitten im Satz endet, was wie ein Modellqualitätsproblem aussieht, aber ein Payload-Fehler ist. Das Skript sendet think:false (mit einem erneuten Versuch ohne das Flag für Modelle, die es ablehnen). Hinweis von Wesley: Dieses Flag ist NUR für diesen mechanischen Extraktionsjob korrekt – Orniths Thinking ist bei agentischem Engineering eine Stärke, und eine Extraktionsdurchführung sagt nichts über agentische Fähigkeiten aus. Verallgemeinere eine schlechte Extraktion nicht zu einem Urteil über das Modell.

Ollama muss laufen: Prüfe mit ollama list vor dem Aufruf.

Ausgabe in /tmp: Das Betriebssystem kann nach einem Neustart gelöscht werden. Kopiere in einen stabilen Pfad, wenn du über Neustarts hinweg fortsetzen möchtest.

Skript

Die kanonische Implementierung ist scripts/ce-pickup.sh in diesem Skill – rufe sie über den Skill-Pfad auf. Eine hostseitige Kopie existierte früher unter ~/.hermes/scripts/ce-pickup.sh (dokumentiert als Symlink); auf Maschinen, wo diese Kopie existiert, aber KEIN Symlink ist, ist sie veraltet – vertraue dem Skill-Verzeichnis.

Siehe auch: ce-handoff-Skill für den Fortsetzungs-Workflow, sobald das Übergabedokument existiert.

Individual skills in this repo

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

Verwandte Skills