Jedes Modell bekommt einen eigenen Ordner mit Steckbrief (README.md, Status Entwurf|abgenommen), der maßgeblichen Arbeitsschritt-.md und der daraus erzeugten .bpmn (ADR 0003). - scripts/pruefe_prozesse.py prüft Ordnername, Dateien, Status und ob jede .bpmn byte-gleich mit der Umwandlung ihrer .md ist; --erzeugen erzeugt alle .bpmn neu. md_to_bpmn.py arbeitet deterministisch. - tests/test_pruefe_prozesse.py: Bestandsprüfung plus 11 Fälle für die Prüflogik; pytest.ini sammelt .agents/skills und tests. - Die in Anleitung.md genannten, nie committeten Beispiele liegen jetzt unter .agents/skills/sn-bpmn/beispiele/ und werden mitgeprüft. - Skill sn-bpmn: Entwürfe nach entwuerfe/, neuer Schritt 5 „Ablegen“. - Vorlage docs/vorlagen/prozess_readme.md, Doku und Fallstricke ergänzt. - Tests: python -m pytest -q -> 44 bestanden. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5.8 KiB
5.8 KiB
Projektwissen AG_Prozesse – Anweisungen für KI-Agenten und Mitwirkende
Kanonische, werkzeugneutrale Anweisungsdatei. Claude Code liest sie über CLAUDE.md.
Sie bleibt bewusst kurz: Details liegen in docs/ und werden nur bei Bedarf gelesen.
Worum es geht
- Arbeitsgruppe der sächsischen Flurbereinigungsbehörden („LNO Sachsen") zur Modellierung von Verwaltungsprozessen in BPMN 2.0. Zielwerkzeug für den Import ist PICTURE.
- Kernwerkzeug ist der Skill
sn-bpmn: Prozessbeschreibung (Rohtext, Stichpunkte, Word/PDF) → strukturierte Arbeitsschritt-.md→ BPMN-2.0-Datei (.agents/skills/sn-bpmn/md_to_bpmn.py). - Dieser Ordner ist der Klon des Repositories
AG_Prozesse/Projektwissen. Weitere Repositories der Gruppe würden als eigenständige Git-Klone in Unterordnern liegen und inworkspace.tomlstehen – derzeit gibt es keine. - Die Arbeitsweise (Skripte, Skills, Git-Regeln) stammt aus
AG_QGIS/Projektwissen, siehedocs/entscheidungen/0001-uebernahme-aus-ag-qgis.md.
Zuerst lesen – nur was die Aufgabe braucht
docs/status/STATUS.md– aktueller Stand, offene Baustellen, wer woran arbeitet.docs/wissen/fallstricke.md– bekannte Stolperfallen (BPMN-Layout, PICTURE-Import, Werkzeuge).- Für Modellierungsaufgaben:
.agents/skills/sn-bpmn/SKILL.mdund die dort genannten Dateien. - Fachbegriffe:
docs/wissen/glossar.md. Übersicht aller Dokumente:docs/README.md.
Harte Regeln
Git und Server – der Mensch drückt ab
- Nie pushen, mergen, taggen oder etwas auf Gitea verändern. Agenten bereiten vor, eine Person sendet ab.
.claude/settings.jsonsperrtgit push,git merge,git rebase,git tagtechnisch. - Hauptbranch ist
main. Nie direkt aufmaincommitten: eigener Branchfeature/<nr>-<kurzname>bzw.bugfix/<nr>-<kurzname>, dann Pull Request. Vollständig:docs/leitfaden/05_git_arbeitsweise.md. - Sitzungsbeginn:
python scripts/hallo.py(bzw./hallo), bevor irgendetwas geändert wird.
Tests
- Vor jedem Commit:
python -m pytest -q– alle Tests grün. - Neues Verhalten von
md_to_bpmn.pyohne Test wird nicht gemergt. Bei einer Fehlerbehebung zuerst der Test, der den Fehler zeigt. - Jeder neue oder geänderte Test bekommt einen deutschen Docstring, erste Zeile in der Form
"""Prüft, dass …""". - Tests werden nicht gelöscht, nicht mit
skipstillgelegt und nicht in ihrer Erwartung angepasst, um grün zu werden – außer das Verhalten wurde bewusst geändert und der Pull Request begründet es.
Inhalte
- Keine personenbezogenen Daten, keine Zugangsdaten, keine internen Originalunterlagen im Repository, in der Doku
oder in Prompts. Quelldokumente (Word/PDF) bleiben lokal unter
referenz/(nicht versioniert); ins Repository kommen nur die daraus abgeleiteten, bereinigten Arbeitsschritt-.mdund BPMN-Dateien. - Prozessmodelle liegen in
prozesse/<name>/(ADR 0003, Regeln inprozesse/README.md). Die.mdist maßgeblich, die.bpmnwird nie von Hand bearbeitet, sondern mitpython scripts/pruefe_prozesse.py --erzeugenneu erzeugt. Den Statusabgenommensetzt der Agent nie von sich aus. - Rollen und Verantwortliche in Prozessmodellen als Funktion benennen („Sachbearbeitung Flurbereinigung"), nie als Person.
- Keine Python-Abhängigkeiten außer der Standardbibliothek und
pytestohne Issue-Absprache und Eintrag infallstricke.md. - Kein Umbau „nebenbei". Strukturänderungen nur über eigenes Issue.
Allgemein
- Sprache: Doku, Kommentare, Docstrings, Commit-Nachrichten, Issues und PRs auf Deutsch, mit echten Umlauten
(Prüfung:
python scripts/pruefe_umlaute.py). Bezeichner nach dem Stil der jeweiligen Datei.
Arbeitsablauf in Kurzform (Details: Skill sn-aufgabe-bearbeiten)
python scripts/hallo.py– Stand holen.- Gitea-Issue lesen (Skill
sn-ticket,python scripts/gitea.py ticket Projektwissen <nr>) oder als Entwurf vorbereiten. Ziel und Abnahmekriterien klären, bevor etwas geändert wird. - Branch
feature/<issue-nr>-<kurzname>bzw.bugfix/<issue-nr>-<kurzname>vonmain. - In kleinen Schritten umsetzen; nur betroffene Dateien und Abschnitte lesen.
python -m pytest -q(enthältpruefe_prozesse.py) undpython scripts/pruefe_umlaute.py. Erzeugte BPMN-Dateien zusätzlich in PICTURE importieren und das Ergebnis im PR nennen.- Pull-Request-Text nach
docs/vorlagen/pull_request.mdvorbereiten, inklusive Übergabenotiz (Skillsn-uebergabe). Push und Pull Request macht der Mensch. - Neue Erkenntnisse in
docs/wissen/oderdocs/entscheidungen/festhalten, nicht nur im lokalen Gedächtnis des Werkzeugs.
Tokensparend arbeiten
- Gezielt
grep, dann nur die nötigen Abschnitte lesen.md_to_bpmn.py(über 1000 Zeilen) nie komplett laden. - Keine Dateien oder Testausgaben in den Chat kopieren; Pfade mit Zeilennummern nennen.
- Am Ende jeder Aufgabe eine Übergabenotiz, damit die nächste Sitzung nicht neu erkunden muss.
- Breite Suchen an einen Unteragenten delegieren, wenn das Werkzeug das kann; Hauptkontext schlank halten.
Befehle
- Sitzungsbeginn:
python scripts/hallo.py(Claude Code:/hallo) - Tickets:
python scripts/gitea.py tickets|python scripts/gitea.py ticket Projektwissen 12|… suche "<text>" - Tests:
python -m pytest -q - Umlaute prüfen:
python scripts/pruefe_umlaute.py - Prozessmodelle prüfen bzw. alle
.bpmnneu erzeugen:python scripts/pruefe_prozesse.py [--erzeugen] - Workspace einrichten oder aktualisieren:
python scripts/setup_workspace.py(mit--pullfür fast-forward) - Entwurf umwandeln:
python .agents/skills/sn-bpmn/md_to_bpmn.py entwuerfe/<name>.md entwuerfe/<name>.bpmn
Skills
Liegen in .agents/skills/ (Agent-Skills-Standard) und werden nach .claude/skills/ gespiegelt:
sn-bpmn, sn-aufgabe-bearbeiten, sn-ticket, sn-uebergabe.