Communitygithub.com

BEKO2210/SkillQuarry

Der offene Marktplatz für Agenten-Fähigkeiten.

Was ist SkillQuarry?

Cordon ist eine deterministische Akzeptanzschicht für Änderungen durch Coding-Agenten. Es erstellt einen Snapshot des aktuellen Git-`HEAD`, zeichnet eine explizite repository-relative Pfad- und Größenrichtlinie auf und akzeptiert das Ergebnis nur, wenn die Git-sichtbaren Änderungen innerhalb dieser Richtlinie bleiben und jeder unabhängige Verifizierer mit Exit-Code 0 beendet wird. Es wird eingesetzt, wenn die Einschränkung „Der Agent soll nur X berühren“ durch Code überprüft werden muss und nicht vom Agenten merkt. Cordon ist keine Sandbox: ignorierte Dateien liegen außerhalb des v1-Evidenzmodells, und ein Prozess mit uneingeschränktem Dateisystemzugriff kann den Zustand von Cordon manipulieren. Es unterstützt mehrere Modi, darunter einen anbieterneutralen Modus, bei dem der Agent separat ausgeführt und dann geprüft wird, sowie einen Modus, der direkt Claude Code aufruft und verwaltet. Die Ergebnisse werden über Exit-Codes gemeldet, und Cordon bietet Mechanismen zur Wiederherstellung nach Unterbrechungen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add BEKO2210/SkillQuarry

In Ihrer bevorzugten KI fragen

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

Dokumentation

Cordon — deterministische Änderungshüllen (Change Envelopes)

Cordon ist eine Akzeptanzschicht für Änderungen durch Coding-Agenten, die nach der Ausführung greift. Es erstellt einen Snapshot des aktuellen Git-HEAD, zeichnet eine explizite repository-relative Pfad- und Größenrichtlinie auf und akzeptiert das Ergebnis nur, wenn die Git-sichtbaren Änderungen innerhalb dieser Richtlinie bleiben und jeder unabhängige Verifizierer mit Exit-Code 0 beendet wird.

Verwenden Sie Cordon, wenn die Einschränkung „Der Agent soll nur X berühren“ durch Code überprüft werden muss und nicht vom Agenten merkt. Bezeichnen Sie Cordon nicht als Sandbox: ignorierte Dateien liegen außerhalb des v1-Evidenzmodells, und ein Prozess mit uneingeschränktem Dateisystemzugriff kann den Zustand von Cordon manipulieren.

Wählen Sie einen Modus

Anbieterneutral: Vorbereiten, beliebigen Agenten ausführen, prüfen

cordon arm "update parser only" \
  --allow "src/parser/**" \
  --allow "tests/parser/**" \
  --deny "src/parser/generated/**" \
  --max-files 8 \
  --max-added-lines 400 \
  --max-deleted-lines 200 \
  --verify "python3 -m unittest discover -s tests"

# Führen Sie den Coding-Agenten selbst aus.
cordon check

Dieser Modus ruft keinen KI-Dienst auf.

Claude Code-Wrapper

cordon run "Fix the parser regression without changing generated files." \
  --allow "src/parser/**" \
  --allow "tests/parser/**" \
  --deny "src/parser/generated/**" \
  --verify "python3 -m unittest discover -s tests" \
  --max-files 8 \
  --max-added-lines 400 \
  --max-deleted-lines 200 \
  --max-turns 20 \
  --max-budget-usd 2

Cordon startet einen frischen claude -p-Prozess mit JSON-Ausgabe, deaktivierter Sitzungspersistenz und dem Berechtigungsmodus acceptEdits. Ein fehlgeschlagener/unterbrochener Lauf kann mit einem neuen Prozess über cordon resume wiederholt werden, jedoch nur, solange die partiellen Git-sichtbaren Änderungen noch die vorbereitete Hülle erfüllen und die maximale Anzahl von Versuchen noch nicht erreicht ist.

Ergebnis ablesen

ExitBedeutung
0Audit akzeptiert
2Cordon hat den Vorgang abgelehnt oder Zustand/Richtlinie ist ungültig
3Agent/Prozess beendet, aber die Git-Richtlinie oder ein Verifizierer hat das Ergebnis abgelehnt
4Der gekapselte Claude-Prozess ist fehlgeschlagen, zeitlich ausgelaufen oder hat das Limit der erfassten Ausgabe überschritten

cordon status meldet die aktuelle Phase und das letzte Audit. cordon reset entfernt nur .cordon/; es setzt keine Repository-Dateien zurück, löscht oder committed sie nicht.

Richtlinienregeln

  • Mindestens ein --allow-Muster ist erforderlich.
  • --deny hat immer Vorrang vor --allow.
  • Muster sind repository-relative Cordon-Globs: * überschreitet kein /, ** schon, und ? matcht genau ein Nicht-/-Zeichen.
  • Cordon lehnt absolute Muster (/x, ./x), NUL-Bytes und explizite ./..-Pfadsegmente ab.
  • HEAD-Bewegungen werden standardmäßig abgelehnt. Verwenden Sie --allow-commits nur, wenn Commits ein beabsichtigter Teil der Aufgabe sind.
  • Budgets sind inklusiv: der genaue Grenzwert wird akzeptiert; ein Wert darüber wird abgelehnt.
  • Verifizierer werden mit shlex.split geparst und direkt ausgeführt, nicht über eine Shell. Shell-Operatoren wie &&, Pipes und Redirects werden daher nicht interpretiert.

Zustand und Wiederherstellung

Cordon speichert den Zustand in .cordon/ und registriert /.cordon/ in .git/info/exclude. Es bearbeitet niemals .gitignore.

Cordon weigert sich auch, zu armieren, während eine verfolgte Datei das assume-unchanged- oder skip-worktree-Index-Flag trägt, da eine solche Datei nicht auditiert werden kann. Entfernen Sie das Flag mit git update-index --no-assume-unchanged <pfad> anstatt es zu umgehen.

Schreibvorgänge in den semantischen Zustand von Cordon erfolgen über temporäre Datei + fsync + os.replace. Ein Synchronisations-Inode der Länge Null, der über Git-Metadaten aufgelöst wird (cordon.lock), wird mit einer Betriebssystem-Advisony-Sperre gehalten; er ist nicht Teil des .cordon/-Zustands und wird niemals ersetzt, solange er gesperrt ist. Die Sperre verhindert, dass zwei Cordon-Operationen gleichzeitig denselben Repository-Zustand besitzen, einschließlich Vorbereitung/Einrichtung plus einem gekapselten Agentenversuch. Ein Claude-Versuch wird als running markiert, bevor das Kind gestartet wird; Tastaturunterbrechung wird als interrupted gespeichert; Engine-Fehler werden gespeichert und können fortgesetzt werden.

Was Cordon beweist – und was nicht

Cordon kann für die vorbereitete Basislinie und die Git-Implementierung, gegen die es läuft, beweisen, dass die Git-sichtbaren verfolgten Änderungen plus nicht-ignorierte unverfolgte Dateien, die zum Zeitpunkt des Audits beobachtet werden, seiner Richtlinie entsprechen und dass konfigurierte Verifiziererprozesse mit Exit-Code 0 beendet wurden.

Es beweist nicht:

  • dass ignorierte Dateien unberührt geblieben sind;
  • dass das Repository vor einem böswilligen Prozess sicher ist, der den Zustand neu schreiben kann;
  • dass ein Verifizierer logisch korrekt ist;
  • dass Berechtigungen/Hooks in einer Agentenlaufzeitumgebung nicht umgangen werden können;
  • dass Code allein aufgrund eines kleinen Diffs sicher ist.

Überprüfen Sie den Diff nach der Annahme. Cordon ist ein deterministisches Tor, kein Ersatz für Code-Review oder OS-Sandboxing.

Vollständige Implementierungs- und Grenzdetails: README.md. Quellnachweise: RESEARCH.md. Reproduzierbare Tests und bekannte Grenzen: TEST_REPORT.md.

Verwandte Skills