Communitygithub.com

Plan-Doc-Do-Follow Skill

Ein Projektmanagement-Skill für KI-Agenten, der Intent-basiertes Routing, klare Invarianten und einen Statusmodell nutzt, um die Arbeit von der Planung bis zur Ausführung zu lenken.

Was ist Plan-Doc-Do-Follow Skill?

Der **Plan-Doc-Do-Follow Skill** ist ein umfassendes Framework für KI-Assistenz-Agenten (z. B. Claude Code, Cursor, Codex), das die Arbeit nach einem strengen **Plan → Doc → Do → Follow**-Zyklus strukturiert. Das Skill verwendet ein Routing-System: Ein Benutzerintent wird erkannt und der erste passende *Route* wird ausgeführt. Es werden nur die für diese Route benötigten Dateien geladen – nie das gesamte Projekt. Die wesentlichen Bestandteile sind eine Tabelle mit 12 Planungs-Routen (z. B. `plan/epic` für Epics) und 6 Ausführungs-Routen (z. B. `do/task` für einzelne Tasks). Dazu kommen 17 globale Invarianten (z. B. „Spirit-Check“, „Architekturcheck“, „Kein Raten“) und ein deterministischer Statusmodell (`⚪ TODO → 🟡 SPEC → 🟣 PLAN → 🔵 DEV → 🟢 DONE`), das als Single Source of Truth dient. Sub-Agenten wie `repo-scout`, `prd-critic` oder `feature-coder` werden nur bei Bedarf aktiviert und folgen einer Economy-freundlichen, inline-first-Strategie. Die Arbeitsweise ist für maximale Effizienz ausgelegt: Keine überflüssigen Dateien laden, kurze Handoffs, keine leeren Platzhalter. Die gesamte Kommunikation ist in zwei Stile geteilt: menschenlesbare Prosa (für PRDs, Product Vision) und eine „caveman-knappe“ Agenten-Sprache für Routen, Sub-Agenten und Status-Tabellen.

Funktioniert mit✓Claude Code~Codex CLI✓Cursor
npx skills add codeAvecCyril/ia-skill-plan-doc-do-follow

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Plan-Doc-Do-Follow Skill?

Plan → Doc → Do → Follow

Intent matchen → erste Route gewinnt → routes/a-b.md lesen (Route a/b) → ihr folgen → Globale Invarianten + Statusmodell anwenden. Nur die benötigte Route, ihre Vorlagen und ihre Sub-Agenten laden – niemals alles

Routen

Planung

IntentRouteParameter
Epics aus Produktvision extrahierenplan/proj
Epics mit Stakeholdern validierenplan/proj-review
Epic-PRD und Tracking erstellenplan/epicE{n}
Epic-Spezifikation oder -Architektur validierenplan/epic-reviewE{n} {prd
Epic-Architektur entwerfenplan/epic-archE{n}
Feature-PRD erstellenplan/featE{n} F{n}
Feature-Spezifikation oder -Architektur validierenplan/feat-reviewE{n} F{n} {prd
Feature-Architektur (nur Ausnahmen)plan/feat-archE{n} F{n}
Feature in Aufgaben zerlegenplan/tasksE{n} F{n}
Scope-Change – Feature/Epic hinzufügen/aktualisieren, auch bereits umgesetztplan/changeBeschreibung
V2-Projektdokumente zu V3 migrieren (einmalig)plan/migrate

Ausführung

IntentRouteParameter
Token-sparende Tooling einrichten (LSP, Filter, Economy, native Agenten)do/init
Eine Aufgabe ausführendo/taskE{n} F{n} T{n}
Alle Feature-Aufgaben ausführen, inline verifizierendo/all-tasksE{n} F{n}
Abgeschlossene Arbeit verifizieren (Aufgabe-für-Aufgabe-Pfad)do/verifyE{n} F{n}
Alle Stati neu berechnen und reparierendo/sync-status
Gute Praktiken merkendo/memorize

Globale Invarianten (alle Routen)

  1. Spirit-Check: Ausrichtung mit docs/product.md; Product Spirit (oben in docs/project-status.md) wörtlich in jeder Planungsroute + Reviewer-Briefing
  2. Benutzerwille: docs/decisions.md bindend; Abweichung = Frage, nie stillschweigend anwenden
  3. Business zuerst: Spezifikations-Review vor der nächsten Phase
  4. Architektur-Check: Ausrichtung mit docs/global_architecture.md + docs/technical-stack.md
  5. Ein Fakt, eine Datei: Status/Fakt hat eine eigene Datei (Statusmodell); andere verlinken, nie kopieren
  6. Zielgruppensprache: Mensch/Business = vollständige Sätze, keine unerklärten Abkürzungen; Agentengerichtet = Dokumentstil (caveman-knapp)
  7. Kein leeres Gerüst: Unbenutzte Vorlagenabschnitte löschen; niemals „N/V“ oder Platzhalter
  8. Kein Raten: Blockierende Unklarheit → zuerst fragen; als blockierend/wichtig/nebensächlich kennzeichnen
  9. Rückverfolgbarkeit: Jedes Dokument referenziert sein Elternelement; Geschichten ↔ Anforderungen ↔ Aufgaben ↔ Tests verknüpft
  10. Lebendige globale Docs: docs/data-model.md, docs/ui-map.md, docs/decisions.md in derselben Änderung aktualisieren, die sie betrifft – niemals „später“
  11. Modell-Einstufung: plan/* + Reviewer = starkes Modell; jede plan/tasks-Aufgabe von schwächerem Modell ausführbar, ohne PRD zu öffnen
  12. Status-Sync: Jede statusändernde Route endet mit Status-Sync-Prozedur
  13. Handoff-Format: Kurze Zusammenfassung · Aktueller Fortschritt · Exakter nächster Befehl · Offene Fragen
  14. Begrenzte Sub-Agenten: Nur die in ihrer Definitionsliste genannten Eingaben
  15. Denkweise pro Route: Die Denkweise der Route übernehmen
  16. Beratung bleibt intern: Kritiker-Austausch niemals in Docs/Handoffs – der Mensch sieht das Endergebnis + was zu validieren ist
  17. Wirtschaftlichkeit überall: Arbeitssparende Wirtschaftlichkeit auf jeder Route und jedem Sub-Agenten

Statusmodell

⚪ TODO · 🟡 SPEC spezifiziert · 🟣 PLAN Aufgaben generiert · 🔵 DEV in Bearbeitung · 🟢 DONE abgeschlossen und verifiziert

Eigentümerschaft – Single Source of Truth

FaktEigene Datei (einziger Ort, wo geschrieben)
Aufgabenstatusfeat-tasks.md – Aufgabentabelle
Feature-Status und -Fortschrittepic-status.md – Feature-Tabelle
Epic-Status und -Fortschrittdocs/project-status.md – Epic-Roadmap-Tabelle
Projektfortschrittdocs/project-status.md – Fortschrittsabschnitt

Kein feat-status.md. Pro-Aufgaben-Abschnitte: keine Statuszeile. Mermaid = dekorativ, aus Eigentümertabellen neu generiert, niemals Quelle der Wahrheit

Ableitungsregeln

  • Feature: Kein feat-prd.md → ⚪ · PRD vorhanden → 🟡 · feat-tasks.md vorhanden, keine Aufgabe über TODO hinaus → 🟣 · irgendeine Aufgabe DEV/DONE → 🔵 · 🟢 nur über Verifikations-Gates (do/verify oder letzte Phase von do/all-tasks). Aufgaben zu 🟢 Feature hinzugefügt → zurück auf 🔵
  • Epic: Kein epic-prd.md → ⚪ · PRD vorhanden → 🟡 · alle Features ≥ 🟣 → 🟣 · irgendein Feature 🔵/🟢 (nicht alle 🟢) → 🔵 · alle 🟢 → 🟢
  • Projekt: gleiche Aggregation über Epics
  • Fortschritt: erledigte Aufgaben / Gesamtaufgaben (0 wenn keine), summiert auf Epic- und Projektebene

Status-Sync-Prozedur

Am Ende jeder statusändernden Route (eigenständig: do/sync-status, alle Epics):

  1. Aufgabentabellen der betroffenen Features lesen
  2. Jeden Feature-Status + Fortschritt neu berechnen; Zeile in epic-status.md aktualisieren
  3. Jedes betroffene Epic neu berechnen; dessen Zeile, Fortschrittsabschnitt, Kreisdiagramm in docs/project-status.md aktualisieren. Status-Sync schreibt niemals Changelog – nur Ereignisse, die durch die Changelog-Hartregel benannt sind (Dokumentstil), geschrieben von der Route, die den Meilenstein erzeugt hat
  4. Abweichung (gespeichert ≠ abgeleitet) im Handoff melden

Deterministisch und idempotent

Sub-Agenten

Definitionen in subagents/ – eine Datei pro Agent (Format: subagents/README.md). Aufruf: Datei lesen → genau die aufgeführten Eingaben zusammenstellen (Reviewer erhalten immer Product Spirit) → mit Dateiinhalt als System-Prompt spawnen

Wirtschaftlichkeitsprofil

Subagent economy: aus dem Abschnitt Tooling der Repository-Anweisungsdatei lesen (do/init schreibt ihn). Fehlt → balanced

ProfilVerhalten
strictInline-first hart · Scout fast immer inline · Frage/Tool/Rückgabe-Limits durchgesetzt · Kritiker werden trotzdem gespawnt
balancedInline-first wie unten beschrieben · Limits durchgesetzt · weiche Warnung bei >5 Scout-Fragen
qualityKostengrenze nur beratend · Limits gelten weiterhin für Scout-Tool-Nutzung und Rückgabegröße

Vor jedem Spawn (inline-first)

In Reihenfolge ausführen – erster Treffer gewinnt → nicht spawnen:

  1. Fakten bereits im Hauptkontext → inline arbeiten
  2. Vom Haupt in ≤5 Grep/Glob/Read (oder LSP)-Aufrufen beantwortbar → inline (Scout-Lite-Checkliste in subagents/repo-scout.md verwenden)
  3. Briefing würde die Größe der erwarteten Antwort erreichen → inline
  4. Ergebnisse wahrscheinlich kosmetisch/mechanische Checkliste auf kleiner Oberfläche → inline (wie heute Kostengrenze)
  5. Sonst spawnen

repo-scout extra (unter strict / balanced): nur spawnen, wenn ≥3 falsifizierbare Fragen und Suche über ≥2 Bereiche, die der Haupt nicht geöffnet hat, oder Hauptkontext bereits überladen und Isolation eindeutig günstiger. Sonst Scout-Lite inline

Beim Spawnen:

  • Tooling-Injektion: Briefing enthält einzeiligen Tooling-Block aus der Repo-Anweisungsdatei (CLI-Filter-Präfix, LSP-Präferenz, Wirtschaftlichkeitsprofil) – Sub-Agent muss ihn befolgen
  • Präzises Briefing: Exakte Fragen/Prüfungen · Standards, gegen die gearbeitet wird · Ausgeschlossenes · für Scout: Startpfade/Globs, wenn Bereich bekannt · ≤5 Fragen pro Scout-Welle (balanced/strict; Rest aufteilen oder inline)
  • Die Latte vorne legen: Vor Entwurf die Review-Fragen des Kritikers lesen; Entwurf so gestalten, dass er beim ersten Mal besteht
  • Rückgabegrenze: Scout ≤15 Zeilen · Kritiker ≤25 Zeilen · Haupt behält nur benötigte Fakten – niemals Scout-Dumps in Docs einfügen

Kritiker-Ergebnisse: anwenden, wenn sie Verhalten, Vertrag oder menschliche Entscheidung ändern; sinnlose/kosmetische Ergebnisse stillschweigend verwerfen. Abgelehnte Ermessensentscheidung → Entscheidungsfrage an den Menschen. Konvergenz: ein Lauf pro Dokument; höchstens ein Wiederholungslauf nach substanzieller Überarbeitung blockierender Ergebnisse, auf diese beschränkt – Wiederholungslauf akzeptiert nur blockierende; niemals dritter Lauf. Niemals Austausch berichten (Invariante 16)

Sub-AgentArtAufgerufen vonWann
repo-scoutRechercheplan/epic-arch, plan/feat, plan/feat-arch, plan/changePlanung muss im bestehenden Code fundieren
prd-criticReviewerplan/epic, plan/featimmer
arch-criticReviewerplan/epic-arch, plan/feat-archimmer
perf-critic-backend / -frontendReviewerArchitektur-Routen, Verifikations-Gatesnur wenn Auslösekriterien (oben in ihren Dateien) zutreffen
task-checkerReviewerplan/tasksnach Selbst-Review; maximal zwei Läufe
feature-coderAusführerdo/all-taskseiner pro parallelisierbarer Aufgabe pro Welle
ui-consistency-reviewerReviewerVerifikations-GatesUI-Features, nicht-triviale Oberfläche
doc-coherence-reviewerReviewerVerifikations-Gates · plan/change · plan/migrateEpic-Abschluss · nach Änderung · nach Migration

Verifikations-Gates (+ ihre Sub-Agenten) laufen in do/verify oder inline als letzte Phase von do/all-tasks

Menschliches Review-UI

Schlussfolgerungen, nicht Prozess. Mechanische Prüfungen automatisch verifiziert → eine Zusammenfassungszeile. „Entscheidungen, die Ihre Validierung erfordern“: ≤10 klare Satzaussagen + offene Fragen, gekennzeichnet als blockierend/wichtig/nebensächlich. Validierte Entscheidungen → docs/decisions.md. Stakeholder-Antworten wörtlich – niemals paraphrasieren, niemals erneut fragen (bei Mehrdeutigkeit nur Klarstellung erfragen)

Arbeitssparende Wirtschaftlichkeit (Invariante 17)

Eingabe-Wirtschaftlichkeit

  • LSP/semantische Navigation bevorzugt gegenüber Datei-Lesen; eingeschränkte Zeilenbereiche
  • Grep/Glob/LSP gegenüber Shell für Codesuche bevorzugen – Shell nur wenn nötig
  • Lange CLI-Ausgaben (Tests, Builds, Git, Paketmanager) durch reposweit deklarierten Filter (z. B. rtk, snip) – do/init richtet ein; wenn Shell ohne aktiven Hook verwendet, manuell vorschalten
  • Nie erneut lesen, was im Kontext ist; nie Dokument „zur Sicherheit“ laden
  • Wirtschaftlichkeitsprofil + inline-first vor Spawnen einhalten (Sub-Agenten)

Ausgabestil (Haupt und Sub-Agenten)

  • Caveman-knapp (gleiche Latte wie agentengerichtete Docs): keine Einleitung, kein Wiederholen der Anfrage, keine abschließende Zusammenfassung, kein Füllmaterial/Abwägen
  • Code, Befehle, Pfade, Fehler: bytegenau – niemals paraphrasieren
  • Code-Änderungen als Diffs oder gezielte Edits – niemals vollständige Dateilistings, außer auf Anfrage
  • Recherche-Antworten ≤10 Zeilen, außer wenn Tiefe angefordert; Sub-Agenten-Rückgaben befolgen Rückgabegrenze
  • Handoff (Invariante 13) = nur abschließender Block: ≤5 Zeilen

Minimale Implementierung (do-Routen und feature-coder)

Vollständig verstehen, bei erster haltender Stufe abbrechen:

  1. Muss nicht existieren → überspringen (YAGNI)
  2. Bereits in Codebasis → wiederverwenden
  3. Stdlib macht es → verwenden
  4. Native Plattformfunktion → verwenden
  5. Installierte Abhängigkeit → verwenden
  6. Eine Zeile reicht → eine Zeile
  7. Erst dann das Minimum schreiben, das funktioniert

Niemals kürzen: Vertrauensgrenzen-Validierung, Datenverlust-Handling, Sicherheit, Barrierefreiheit

Dokumentstil

Zwei Zielgruppen – nach Dateizweck auswählen, nicht nach Routing-Stimmung

Mensch / Business (vollständige Prosa) – PRDs (epic-prd.md, feat-prd.md), docs/product.md, Product Spirit, menschliche Review-Bodies (*-review.md-Entscheidungsabschnitte), benutzerzentrierte Docs (developer-setup, Onboarding, menschliche READMEs). Vollständige Sätze. Stakeholder-lesbar. Keine unerklärten Abkürzungen

Agentengerichtet (caveman-knapp) – Skill-Playbooks (SKILL.md, routes/, subagents/, Vorlagenkommentare), feat-tasks.md, epic-arch.md / feat-arch.md, Statustabellen/-notizen, lebendige technische Docs (data-model.md, ui-map.md, decisions.md), docs/patterns/*. Inspiriert von caveman vollständig:

  • Nur Fakten und Anweisungen – Artikel/Füllmaterial/Abwägen weglassen, wenn Bedeutung klar; Fragmente OK
  • Kurze Synonyme; Muster [Sache] [Aktion] [Grund] · [nächster Schritt]
  • Keine erfundenen Abkürzungen (cfg/impl/fn); bekannte technische Akronyme OK (DB/API/HTTP)
  • Pfade, Symbole, Code, Befehle, Fehlerstrings: exakt
  • Niemals nicht/nie/kein/nur/außer weglassen
  • Kein abschließender Punkt vor Zeilenumbruch (Zwischenpunkte in mehrsatzigen Zeilen bleiben)
  • Nur Entscheidungen und Fakten – niemals Prozess („Reviewer schlug vor…“, „nach Diskussion…“)
  • Nur begründen, wenn zukünftiger Agent das Warum benötigt (Trade-off, Scope-Kürzung): ≤2 kurze Zeilen
  • Automatische Klarheit: ausführlichere Prosa für Sicherheitswarnungen, irreversible Schritte oder Fragmente, die Gefahr der Fehlinterpretation von Reihenfolge/Verneinung bergen – dann wieder knapp

Changelog-Hartregel: eine Zeile {Datum}: {Fakt}, ≤25 Wörter. Berechtigt nur – Projekt: Epic abgeschlossen, größere Scope-Änderung, Migration; Epic: Feature verifiziert 🟢, Scope-Änderung. Alles andere (Aufgaben generiert, PRD entworfen/genehmigt, Wellen, Syncs, Abweichungsreparaturen) = kein Eintrag. Niemals: Kritiker-Austausche (Invariante 16), Aufgabenlisten, Gate-Ergebnisse, Fortschrittszahlen, Next:-Befehle. Wortreiche vorhandene Einträge = Legacy, niemals Präzedenzfall – nur berechtigte Zeile schreiben oder nichts

Dateiorganisation

docs/
├── product.md                 (Eingabe: Produktvision)
├── global_architecture.md     (Eingabe: Architekturübersicht)
├── technical-stack.md         (Eingabe: Technologieentscheidungen)
├── project-status.md          (Eigentümer: Product Spirit, Epic-Stati, Fortschritt)
├── project-review.md
├── decisions.md               (lebendig: bindende Benutzerentscheidungen, eine Zeile pro)
├── data-model.md              (lebendig: globales Datenschema, falls vorhanden)
├── ui-map.md                  (lebendig: globale Navigationskarte, falls UI)
├── design-guidelines.md       (lebendig: UI-Stilkonventionen, falls UI)
├── patterns/{pattern-name}.md (von do/memorize)
└── epics/e{n}-{epic-name}/            (Slug z. B. e2-orm-discovery)
    ├── epic-brief.md                  (plan/proj)
    ├── epic-prd.md                    (plan/epic)
    ├── epic-status.md                 (Eigentümer: Feature-Stati)
    ├── epic-arch.md                   (plan/epic-arch)
    ├── epic-review.md                 (plan/epic-review)
    └── f{n}-{feat-name}/              (direktes Kind – keine features/-Ebene)
        ├── feat-prd.md                (plan/feat; hat Einstiegspunkte + Architektur-Delta)
        ├── feat-arch.md               (plan/feat-arch – nur Ausnahmen)
        ├── feat-tasks.md              (Eigentümer: Aufgaben-Stati)
        └── feat-review.md             (plan/feat-review)

Plattformintegration

Repo-Konventionen, Priorität: CLAUDE.md · AGENTS.md · .github/copilot-instructions.md · .cursor/rules/ · .github/instructions/. do/memorize schreibt in die/das tatsächlich vorhandene(n) Datei(en) zurück

Vorlagen

In templates/ – Namen spiegeln Ausgabedateien wider

Verwandte Skills