--- name: agentic-dod description: "Baut eine agent-taugliche Definition of Done für eine Aufgabe — nach dem Framework Facts / Feelings / Future, kombiniert mit einer Validierungs-Methode pro Kriterium (Funktional / Visuell / Judgment / Du entscheidest), sodass ein KI-Agent die Aufgabe in einem Loop abarbeiten und selbst prüfen kann, wann sie fertig ist. Nutze diesen Skill, wenn jemand eine Definition of Done braucht, Akzeptanzkriterien schreiben/schärfen will, eine Aufgabe 'agent-ready' machen möchte oder fragt 'wie validieren wir das', 'wann ist das fertig'." argument-hint: "[Task-Name oder kurze Beschreibung]" --- ## Was dieser Skill tut Verwandelt eine Aufgabe in eine Definition of Done, die ein KI-Agent in einem Loop abarbeiten kann. Ergebnis ist ein kompakter DoD-Block plus eine kurze Vorgehen-Skizze (Kontext-Sweep). Der Unterschied zu einer normalen Akzeptanzkriterien-Liste: jedes Kriterium trägt eine Validierungs-Methode, die festlegt, *wie* geprüft wird, ob es erfüllt ist. Erst dadurch weiß ein Agent, wann er weiterarbeiten, wann er pausieren und wann er fertig ist. ## Das Grundprinzip: WAS × WIE **Das WAS — "fertig" heißt was?** Drei Dimensionen: - **Facts** — messbare, objektive Kriterien (Deliverable existiert, Zahl stimmt, Test grün) - **Feelings** — wie soll sich die beteiligte Person danach fühlen (nur bei echtem menschlichem Adressaten) - **Future** — was wird danach *möglich* (der Grund, warum die Aufgabe existiert) **Das WIE — wie wird geprüft?** Vier Validierungs-Methoden: | Methode | Wann | Wer prüft | |---|---|---| | **Funktional** | Eine Maschine kann ohne Meinung ja/nein sagen | Agent führt den Check selbst aus | | **Visuell** | Muss gesehen werden, um beurteilt zu werden (UI, Layout, Design) | Agent macht Screenshot + beurteilt per Vision, oder legt zur Sichtung vor | | **Judgment** | Braucht Geschmack, aber eine Rubrik ist möglich (Tonalität, Vollständigkeit) | Mensch oder 2. KI bewertet gegen die Rubrik — beim Erstellen festlegen | | **Du entscheidest** | Irreversibel oder reiner Geschmack (versenden, veröffentlichen, zahlen, löschen) | Loop pausiert, Mensch gibt frei | **Leitprinzip 1 — billigste verlässliche Methode zuerst.** Geh die Tabelle von oben nach unten, nimm die erste Methode, die das Kriterium ehrlich abdeckt. Jede Stufe nach unten ist teurer. Eskaliere nur, wenn die Stufe darüber das Kriterium nicht wirklich erfasst. **Leitprinzip 2 — beschreibe das Ergebnis und die Prüf-Bedingung, nicht die Mechanik.** Ein Kriterium sagt, *welches beobachtbare Ergebnis* vorliegen muss und *woran man es erkennt* — nicht, *wie* der Agent dahin kommt. Keine hartkodierten Pfade, Dateinamen, Shell-Befehle oder IDs in den Kriterien. Werte, Zahlen, Stati und Feldnamen gehören ins Kriterium; Pfade, Kommandos und IDs nicht. Das macht die DoD übertragbar. ## Step 1: Das WARUM festnageln (Future) Kläre zuerst: *Was wird möglich, wenn das fertig ist?* Das ist der Anker — alle Kriterien zahlen darauf ein. Ist das WARUM unklar, frag nach. Eine DoD ohne klares Future-Ziel produziert beliebige Kriterien. ## Step 2: "Fertig" definieren (Facts / Feelings / Future) Sammle Kriterien entlang der drei Dimensionen. Nicht jede DoD braucht alle drei — aber geh jede bewusst durch. - **Facts** — Was muss konkret existieren/stimmen/vorliegen? Werde spezifisch: nicht "Präsentation fertig", sondern "10 Slides, Brand, mit Preis-Slide". Vagheit ist der Feind. - **Feelings** — nur bei echtem menschlichem Adressaten. Bei reinen System-/Automations-Tasks ganz weglassen. - **Future** — aus Step 1, kommt oben in den Block als Ziel. ## Step 3: Validierungs-Methode pro Kriterium Vergib jedem Kriterium genau eine Methode — nach dem Billig-zuerst-Prinzip. - **Funktional** — nenne das beobachtbare Ergebnis und die Bedingung, ohne Pfad/Befehl. - **Visuell** — nenne, *was* angeschaut wird und *woran* es gemessen wird. - **Judgment** — nenne die Rubrik, die Schwelle und wer bewertet (Mensch oder 2. KI). - **Du entscheidest** — nenne die Aktion, bei der der Loop hält, und wer freigibt. Entscheidungshilfe: 1. Kann eine Maschine ohne Meinung ja/nein sagen? → Funktional 2. Sonst: Muss man es sehen? → Visuell 3. Sonst: Lässt sich eine Rubrik schreiben? → Judgment (festlegen: Mensch oder 2. KI) 4. Sonst, ODER irreversibel/nach außen gerichtet? → Du entscheidest Regel 4 schlägt alles: Sobald ein Schritt irreversibel oder nach außen gerichtet ist, ist es immer "Du entscheidest". ## Step 4: Vorgehen skizzieren (erst Kontext, dann bauen) Skizziere ein kurzes Vorgehen — einen Kontext-Sweep, den der Agent VOR dem Bauen durchläuft (relevante Dokumente, Referenzen, frühere Meeting-Notizen/Transkripte, bestehende ähnliche Assets, verwandte Tickets). Erst sammeln und synthetisieren, dann bauen. Fehlt eine nötige Quelle → als Blocker melden, nicht erfinden. ## Step 5: Loop-Check (vor dem Schreiben) - Ist jedes Kriterium prüfbar (Methode + konkret genug für ein klares ja/nein)? - Sind alle Einbahnstraßen als "Du entscheidest" markiert? - Billigste verlässliche Methode genutzt? - Gibt es eine klare Exit-Bedingung (alle grün → welcher Status)? ## Template ## ✅ Definition of Done (agentic) **Warum (Future):** Wenn das fertig ist, kann . **Akzeptanzkriterien** - [ ] **Funktional** — . Prüfung: - [ ] **Visuell** — . Prüfung: gegen - [ ] **Judgment (Bewerter: Mensch | 2. KI)** — . Rubrik: . Bestanden ab - [ ] **Du entscheidest** — . Loop pausiert → gibt frei **Feeling-Check** (nur bei echtem menschlichem Adressaten): Wenn das fertig ist, fühlt sich . **Loop:** Agent arbeitet → prüft Kriterien der Reihe nach → rot: nachbessern & erneut prüfen → bei "Du entscheidest" pausieren und Freigabe holen → alle grün: Status → . ## Guardrails - Vagheit ist der Feind — jedes Kriterium so konkret, dass jemand zweifelsfrei ja/nein sagt. - Umgebungs-unabhängig formulieren — Ergebnis + Prüf-Bedingung, nie Pfade/Befehle/IDs. - Irreversibel & nach außen = immer "Du entscheidest". - Billigste verlässliche Methode zuerst. - Judgment braucht einen benannten Bewerter (Mensch oder 2. KI). - Feeling-Check nur mit menschlichem Adressaten. - Future zuerst — ohne klares "was wird danach möglich" werden die Kriterien beliebig. - Vorgehen immer mitgeben (Kontext-Sweep + task-spezifische Pointer).