Communitygithub.com

Loop-Design + Review

Entwerfe einen zielorientierten Agenten-Loop und prüfe ihn auf typische Fehlerquellen wie Spinning, Token-Verschwendung, Goodharting des Verifiers oder das Durchlaufen einer falschen Antwort bis zum Ende.

Was ist Loop-Design + Review?

Diese Fähigkeit unterstützt Entwickler beim Design und der Überprüfung von KI-Agenten-Loops, die eigenständig wiederholte Aufgaben ausführen. Sie besteht aus zwei Hauptaktionen: (1) 'Schreibe einen Loop' – eine fünfstufige Anleitung, die mit einer Entscheidungsmatrix beginnt, ob ein Loop überhaupt sinnvoll ist, über die Definition eines maschinenentscheidbaren Ziels (inklusive Grenzen und Ausweichplan), die Wahl des Loop-Typs (Servo oder Regulator), die Auswahl eines Skeletts (Dokumenten-getrieben oder Plan/Build/Judge) und endet mit Dämpfungsmechanismen und einer schrittweisen Einführung. (2) 'Überprüfe einen Loop' – eine Checkliste mit fünf kritischen Fehlermodi (z.B. Ziel zu vage, Verifikation auf 'sieht gut aus' basiert, nur auf Bestehen aller Tests gepolt) plus drei unverhandelbaren roten Linien (menschliches Urteil bleibt, Verantwortung delegiert nicht, je selbstverbessernder der Loop desto strengere Prüfung). Die Fähigkeit ergänzt mechanismusorientierte Loop-Fähigkeiten (wie 'autonomous-loops' oder 'continuous-agent-loop'), indem sie die oft fehlende Urteilsebene adressiert. Sie ist ideal für Entwickler, die mit Claude Code, Cursor oder ähnlichen Plattformen arbeiten und sichere, effiziente Agenten-Workflows entwerfen möchten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/loop-design-check

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Loop-Design + Review?

Prämisse. Ein LLM ist ein Feed-Forward-System: Prompt rein → Tokens raus, ohne eingebaute "Steuerung in Richtung Ziel" über mehrere Durchläufe hinweg. Damit es sich wie ein zielorientiertes System verhält, muss man eine Rückkopplungsschleife darum herum bauen. Diese Fähigkeit hilft dir, diesen Loop korrekt zu schreiben und zu überprüfen, damit er nicht durchdreht.

Wann verwenden / nicht

Verwende es, wenn:

  • Du eine sich wiederholende Aufgabe an einen Agenten übergeben möchtest, der sie immer wieder ausführt (schreiben→testen, testen→korrigieren, korrigieren→verifizieren…).
  • Du bereits einen Loop hast und befürchtest, dass er spinnt, betrügt oder eine falsche Antwort bis zum Ende durchführt.

Nicht verwenden für:

  • Eine einmalige Aufgabe → mach es einfach; baue keinen Loop darum herum.
  • Einen reinen Timer / Poll → verwende /loop; kein Design nötig.
  • Wie man die Loop-Architektur verdrahtet (Pipelines → DAGs, Langzeit-Wiederherstellung) → das ist die Mechanismus-Ebene; siehe autonomous-loops / continuous-agent-loop. Diese Fähigkeit behandelt nur "Ist das Ziel richtig und wird es durchdrehen" – sie erklärt den Mechanismus nicht erneut.

Rote-Linie-Prämisse: zwei Ebenen der Rückkopplung

EbeneWer besitzt sieWas sie tut
Ausführung (niedrig)Maschine / AgentMisst "wie weit vom buchstäblichen Ziel entfernt" und arbeitet es auf null herunter. Die Maschine ist hier stark.
Urteil (hoch)MenschEntscheidet: "Ist dieses Ziel selbst richtig, sollte es geändert werden, sollte es gestoppt werden." Die Maschine kann nicht aus ihrer eigenen Schleife heraustreten, um das Ziel zu hinterfragen.

Ein Thermostat kann zurückmelden "wie weit von 26°C entfernt", aber wenn du Fieber hast und 28°C möchtest, kann es nicht beurteilen, ob 26 das richtige Ziel ist – es arbeitet einfach auf 26 hin. "Was heute eingestellt werden soll" ist immer die Entscheidung des Menschen. Das Urteil / die Freigabe / den letzten Schalter der Maschine zu überlassen = die hochrangige Rückkopplung entfernen = sie sprintet schnell und hart auf ein Ziel zu, das niemand hinterfragt hat → falsche Ausgabe.


Aktion 1 – Einen Loop schreiben (5 Schritte)

Schritt 0 · Erst subtrahieren: Sollte man ihn überhaupt bauen? (4-Bedingungen-Gatter, jeder Fehler = Veto)

① Die Aufgabe wiederholt sich wöchentlich oder häufiger ② Die Verifikation kann automatisiert werden ③ Das Token-Budget kann es verkraften ④ Der Agent hat Werkzeuge, die tatsächlich laufen und das Ergebnis sehen

Fehlt eine Bedingung → keinen Loop bauen; von Hand oder anders erledigen.

Was die meisten Menschen nicht aufhält, ist "kann ich einen Loop schreiben", sondern "verdient mein Repository einen?" Ein Repository, das einen Loop verdient, hat eine Abgleichsbasislinie (Goldstandard / Upstream-Gesamtsumme) + Tests + einen Lint-Guard. Ein Repository, das keinen Loop verdient, wird seine Fehler durch einen nur noch vergrößern.

Schritt 1 · Ein maschinenentscheidbares Ziel definieren (der schwierige Teil – der Loop lebt oder stirbt hier)

Der gesamte Loop basiert auf dem Komparator, der fragt: "Ist es fertig?" Der Komparator kann nur funktionieren, wenn deine Beendigungsbedingung von einer Maschine mit Ja/Nein beurteilt werden kann.

  • Schlecht: Vage ("mach es gut", "schreib es schärfer") → der Komparator kann nicht urteilen → entweder besteht er nie (bleibt in Wiederholungen stecken) oder er rät (besteht / blockt zufällig).
  • Gut: Entscheidbar ("alle 96 Komponententests grün UND eine Änderungsliste wird erstellt", "Modul-02-Felder ausgefüllt, pytest bestanden, Geschäftslogik unverändert") → ein Check klärt es; der Loop konvergiert sauber.

Fünf-Punkte-Zielrahmenwerk:

  1. Das Kriterium für "Fertig" ist maschinenüberprüfbar.
  2. Grenzbedingungen sind zusammen mit dem "Fertig"-Kriterium definiert ("was es NICHT tun darf") – Anti-Goodhart; fehlende Grenzen = eine Lizenz zum Betrügen.
  3. Hat einen Fehlerausweichplan – Wiederholungslimit N + Eskalation an einen Menschen bei Überschreitung.
  4. Das Ziel ist geschichtet.
  5. Bevorzuge Abgleich (Reconciliation) gegenüber Behauptung (Assertion) für das "Fertig"-Kriterium – verankere es an einer externen Tatsache (Goldstandard / Upstream-Gesamtsumme / finanzieller Abgleich / Plattform-Backoffice-Zahlen) vor deinen eigenen Behauptungen. "Alle Tests bestanden" kann manipuliert werden (Behauptungen lockern, Mocks fälschen, Ausnahmen schlucken); "Abweichung vs. Referenz < 0,01" kann es nicht.

Selbstcheck: Lies das Ziel jemandem vor, der die Domäne nicht kennt – kann diese Person einen Befehl ausführen und sagen, ob es fertig ist? Wenn nicht, ist es nicht entscheidbar genug. Geh zurück.

Schritt 2 · Den Loop-Typ wählen

Deine AufgabeLoop-Typ (kybernetisch)Wie er anhält
Hat einen klaren "Fertig"-Test (schreiben bis fertig / einen Batch Bilder verarbeitet)Servo (/goal-artiger geschlossener Loop)stoppt bei Erreichen des Ziels
Kein Endpunkt, muss einen Zustand aufrechterhalten (Bestandswarnmeldung / geplanter Gesundheitscheck)Regler (/loop-artiger Thermostat)stoppt nie; reagiert nur auf Änderung (Totband unterdrückt Rauschen)
Periodische Abtastung, Stopp bei einer Bedingung (auf einen PR warten, bis CI grün ist)Regler mit Ausstiegstoppt, wenn die Ausstiegsbedingung gilt
Muss "sicherstellen, dass etwas pünktlich passiert"Obiges mit /schedule umschließenCron löst es aus

Faustregel: Klarer "Fertig"-Test → Servo; muss aufrechterhalten, kein Endpunkt → Regler; muss "pünktlich passieren" → Regler in Zeitplan einwickeln.

Schritt 3 · Ein Skelett wählen

Wartungstyp (etwas Bestehendes pflegen) → dokumentengetriebene Abwicklung. Der Loop ist nicht "eine feste Prüfung auf einem Timer", sondern "lies ein Dokument auf einem Timer und bearbeite nur, wenn das Dokument geändert wurde". Das Dokument ist die Aufgabenwarteschlange + Zustandsmaschine + menschliche Schnittstelle. Drei Disziplinen: ① die Problemspalte ist nur vom Menschen beschreibbar, die Ergebnisspalte ist nur vom Loop beschreibbar, der Zustand schreitet nur in eine Richtung voran und rollt niemals zurück; ② der Exit-Code ist endgültig (wenn das Skript exit 1 sagt, gewinnt das Skript); ③ der Zustand schreitet nur bis "wartet auf Verifikation" voran – die Zelle "Fertig" wird nur von einem Menschen umgeschaltet. Der Loop ist der Arbeiter, nicht der Abnahmeoffizier.

Neuentwicklungstyp (von Grund auf neu bauen) → Planen / Bauen / Beurteilen, drei Rollen.

RolleTutSchlüssel
PlanenDas Ziel in eine Spezifikation + entscheidbare Abnahmebedingungen zerlegenAbnahme muss per Skript beurteilbar sein
BauenNach der Spezifikation schreibendarf die Abnahmebedingungen nicht ändern
BeurteilenDie Abnahme unabhängig durchführen; bestanden → Stopp, fehlgeschlagen → mit Fehlergrund an Bauen zurückgebenunabhängig + deterministisch

Drei eiserne Regeln (alles setzt auf den Beurteiler): ① der Beurteiler muss unabhängig sein – nicht derselbe Agent wie Bauen (die eigene Hausaufgabe zu benoten macht immer besser); ② deterministische Regeln – pytest / Abgleichsdifferenz / Typprüfung / Diff, niemals "sieht richtig aus"; ③ Bauen darf die Abnahmebedingungen nicht ändern, um zu bestehen. Drei fehlgeschlagene Wiederholungen → an einen Menschen eskalieren.

Schritt 4 · Dämpfung hinzufügen (gegen Oszillation / Durchdrehen)

Wiederholungslimit, harter Stopp, der Mensch schaltet den letzten Schalter um = Dämpfung. Negative Rückkopplung ohne Dämpfung oszilliert (der Ralph-Wiggum-Loop: auf der Stelle drehen, Tokens verbrennen).

Schritt 5 · In drei Stufen einführen (nicht von Tag eins an vollautomatisch)

① Einmal von Hand ausführen (zwingt dich, genau zu sagen, "wie der Beurteiler entscheidet") → ② zu einer Fähigkeit / Claude Code-Unteragenten verhärten (ein Haupt-Claude loopt und verteilt Planen/Bauen/Beurteilen) → ③ für die vollständige Automatisierung an einen Cron hängen.


Aktion 2 – Einen Loop überprüfen (Checkliste = fünf Fehlermodi)

Führe den Loop an jeder Zeile vorbei. Trifft irgendeine zu = dieser Loop wird danebengehen; schicke ihn zurück. Diese fünf sind negative Erfahrungen (Stolperfallen) – wertvoller als positive Regeln.

#Fehlermodus (wie er bricht)Überprüfungsfrage (Treffer = rot)Antikörper
1Ziel ist eine korrekte Platitüde → spinnt, verbrennt GeldKann die Beendigungsbedingung von einer Maschine mit Ja/Nein beurteilt werden? Oder ist es "gut verwalten / gut machen"?Ersetze durch eine entscheidbare Ergebnisbedingung (Aktion 1·Schritt 1)
2"Verifikation" formuliert als "prüfen, ob es okay aussieht" → Agent sagt selbstbewusst 'passt' und stopptIst der Beurteiler der Angeklagte selbst? Beruht die Verifikation auf "sieht richtig aus" oder deterministischen Regeln?Abgleichen + Exit-Code-Regeln + unabhängiger Beurteiler
3(am schlimmsten) Nur auf "alle Tests bestanden" gepolt → Agent löscht die TestsGibt es eine Grenze ("was es NICHT tun darf")? Oder nur ein "Fertig"-Kriterium?"Fertig"-Kriterium + Grenze gemeinsam (der Goodhart-Antikörper)
4Vertraut darauf, dass der Agent während des Laufs nachfragt → er wird es nicht tun; er führt die falsche Antwort bis zum Ende ausGibt es irgendeine "erst zur Laufzeit klären"-Stelle?Jede Klärung vorab erledigen; einmal vor dem Start festlegen
5Aufgeblähte CLAUDE.md + veralteter Speicher → je schneller er loopt, desto mehr Fehler macht erSind die Dokumente / der Speicher, von denen er abhängt, aktuell? Wer pflegt sie?Geschichteter Speicher + regelmäßiger Lint

Plus drei rote Linien (Verstoß gegen eine = nicht erlaubt, automatisch zu laufen):

  • Behalte das Urteil beim Menschen. Abnahme / die Zelle "Fertig" wird von einem Menschen umgeschaltet; der Loop ist nicht der Abnahmeoffizier.
  • Verantwortung geht nicht über. Alles, dessen Scheitern du dir nicht leisten kannst (den falschen PR zusammenführen / das Falsche veröffentlichen / Geld falsch zuweisen) → übergebe die Autorität nicht automatisch.
  • Kontraintuitive Warnung. Je mehr ein Loop "sich selbst verbessert / seine eigenen Regeln umschreibt", desto strengere menschliche Überprüfung benötigt er (um zu sehen, wohin er die Regeln umgeschrieben hat) – nicht lockerere. Die Maschine ist zu schnell, um nachträglich einzugreifen, also muss das menschliche Urteil vor der Aktion (ein hartes Tor) sitzen, nicht als nachträglicher Patch.

Ausgearbeitetes Beispiel – Überprüfung eines "nächtlichen Grün-Halters"-Loops

Du möchtest einen Loop, der jede Nacht läuft und alle fehlschlagenden Tests korrigiert.

  • Naives Ziel: "alle Tests zum Bestehen bringen." → Schritt-1-Selbstcheck schlägt fehl: das ist der Köder für Fehlermodus #3.
  • Entscheidbares Ziel (korrigiert): "alle Tests grün UND keine Testdatei gelöscht oder abgeschwächt UND Abdeckung nicht gesenkt UND eine Änderungsliste erstellt." Grenzen jetzt zusammen mit dem "Fertig"-Kriterium definiert.
  • Typ: Servo mit einem Wiederholungslimit von 3 (Schritt 2 + Schritt 4).
  • Skelett: Planen/Bauen/Beurteilen – der Beurteiler ist CI, der unabhängig läuft, niemals der korrigierende Agent (Schritt 3).

Wende nun die Überprüfungs-Checkliste an, und sie fängt ein, was die naive Version übersehen hätte:

  • #3 getroffen → das naive "alle Tests bestanden" lässt den Agenten einen fehlschlagenden Test löschen, um zu "gewinnen". Behoben durch die Grenze "keine Testdatei gelöscht/abgeschwächt".
  • #2 getroffen → wenn der korrigierende Agent auch seine eigene Korrektur beurteilen würde, würde er sich selbst bestehen lassen. Behoben durch "Beurteiler = unabhängiges CI, deterministisch".
  • #4 getroffen → wenn eine Korrektur mehrdeutig ist, wird der Agent um 2 Uhr morgens nicht anhalten und nachfragen; er wird eine Vermutung festschreiben. Behoben durch Vorab-Klärung: mehrdeutige Korrekturen bleiben dem Menschen überlassen, werden nicht geraten.
  • Rote Linie → der Loop öffnet einen PR, führt aber nicht automatisch zusammen; der Mensch schaltet den letzten Schalter um (Verantwortung geht nicht über).

Der naive Loop und der überprüfte Loop unterscheiden sich um vier Zeilen Einschränkung – und das ist der Unterschied zwischen "weckt dich mit einer gelöschten Test-Suite" und "weckt dich mit einem sauberen PR".


Einzeiler zum Schluss

Der schwierige Teil beim Schreiben eines Loops ist nicht "kann ich einen Loop schreiben", sondern ein Ziel zu definieren, das eine Maschine abgleichen kann – entscheidbar, begrenzt, auf Abgleich basierend. Der Regler muss deterministisch und extern sein; behalte Urteil und Maßstab beim Menschen; das System neigt zur Entropie, also pflege es. Ein Loop belohnt nur jemanden, der bereits gründlich nachgedacht hat. Verlasse dich darauf, dass er für dich denkt, und er wird fröhlich falsch denken – mit dir – im großen Stil.


Abstammung: Wieners Zwei-Ebenen-Rückkopplung (The Human Use of Human Beings, 1950) für die Urteils-/Ausführungsteilung und roten Linien; das Planen/Bauen/Beurteilen-Muster von Anatolis Loops explained und Addys Loop Engineering. Mechanismus-Ebene (wie man die Loop-Architektur verdrahtet): siehe autonomous-loops / continuous-agent-loop. Diese Fähigkeit implementiert den Mechanismus nicht neu; sie behandelt nur die Zieldefinition und die Verhinderung von Durchdrehen.

Individual skills in this repo

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

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Verwandte Skills