Merge branch 'main' of git.az-gruppe.com:AZ-Intec-GmbH/az-agent-defaults

This commit is contained in:
2026-09-21 12:54:41 +02:00
11 changed files with 424 additions and 93 deletions
+6
View File
@@ -1,4 +1,10 @@
{"_type":"issue","id":"az-agent-defaults-j35","title":"Repo-Gerüst: vier Artefakt-Verzeichnisse + README mit Guard-Regeln je Artefakt-Typ","description":"Quelle: Spec 01-az-agent-defaults-spec.md (lokal, wird nicht gepusht).\n\naz-agent-defaults wird als reines Content-Repo die eine Wahrheitsquelle für das Company-Default-Set. Dieses Ticket liefert das Gerüst: die vier Artefakt-Verzeichnisse (skills/, commands/, agents/, mcp/) und ein README, das die Contribution-Guard-Regeln je Artefakt-Typ so dokumentiert, dass ein Fachbereichs-Contributor ohne Architektur-Wissen richtig beisteuern kann:\n\n- Skills: Ordner mit SKILL.md und Frontmatter-Öffner (wie heute)\n- Commands: Markdown mit Frontmatter (description, optional agent/model) und Template-Body (Argument-Platzhalter erlaubt)\n- Agents: Markdown mit Frontmatter (description, mode primary/subagent, optional model/temperature, Permission-Profil); Subagent-Definitionen müssen über das Task-Tool aufrufbar bleiben\n- MCP: Fragmente für den mcp-Konfigurationsschlüssel, remote/streamable als Standard, Secrets grundsätzlich nur als Platzhalter\n\nDas README hält außerdem fest: Auslieferung und Guard-Engine (Pre-Flight auf dem Controller) leben im Fleet-Repo az-fleet; dieses Repo ist Content-only und über den Repo-Ref pinbar (Default: main). Zudem die Fixtures-Konvention: Testgegenstände für die Guard-Tests leben unter tests/fixtures/ und werden nie ausgeliefert, weil die Delivery-Rolle nur die vier Typ-Verzeichnisse liest (Sonntags-Entscheidung). Das Repo verabschiedet damit den Namen az-agent-skills (User Story 2).","acceptance_criteria":"- Die vier Artefakt-Verzeichnisse skills/, commands/, agents/, mcp/ sind im Repo angelegt\n- README dokumentiert die Guard-Regeln je Artefakt-Typ vollständig (Struktur-/Frontmatter-/Platzhalter-Anforderungen gemäß Spec B1)\n- README erklärt die Content/Mechanismus-Trennung zu az-fleet (Guard-Engine und Auslieferung dort) und das Ref-Pinning\n- Die Fixtures-Konvention tests/fixtures/ ist dokumentiert (nie ausgeliefert; Begründung: Delivery liest nur die vier Typ-Verzeichnisse)\n- Ein Contributor ohne Architektur-Wissen kann anhand des README allein entscheiden, wohin ein neues Artefakt gehört und ob es die Guard-Regeln erfüllt","status":"closed","priority":1,"issue_type":"task","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T07:57:14Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:02:44Z","started_at":"2026-08-22T07:59:36Z","closed_at":"2026-08-22T08:02:44Z","close_reason":"Closed","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":4,"comment_count":0} {"_type":"issue","id":"az-agent-defaults-j35","title":"Repo-Gerüst: vier Artefakt-Verzeichnisse + README mit Guard-Regeln je Artefakt-Typ","description":"Quelle: Spec 01-az-agent-defaults-spec.md (lokal, wird nicht gepusht).\n\naz-agent-defaults wird als reines Content-Repo die eine Wahrheitsquelle für das Company-Default-Set. Dieses Ticket liefert das Gerüst: die vier Artefakt-Verzeichnisse (skills/, commands/, agents/, mcp/) und ein README, das die Contribution-Guard-Regeln je Artefakt-Typ so dokumentiert, dass ein Fachbereichs-Contributor ohne Architektur-Wissen richtig beisteuern kann:\n\n- Skills: Ordner mit SKILL.md und Frontmatter-Öffner (wie heute)\n- Commands: Markdown mit Frontmatter (description, optional agent/model) und Template-Body (Argument-Platzhalter erlaubt)\n- Agents: Markdown mit Frontmatter (description, mode primary/subagent, optional model/temperature, Permission-Profil); Subagent-Definitionen müssen über das Task-Tool aufrufbar bleiben\n- MCP: Fragmente für den mcp-Konfigurationsschlüssel, remote/streamable als Standard, Secrets grundsätzlich nur als Platzhalter\n\nDas README hält außerdem fest: Auslieferung und Guard-Engine (Pre-Flight auf dem Controller) leben im Fleet-Repo az-fleet; dieses Repo ist Content-only und über den Repo-Ref pinbar (Default: main). Zudem die Fixtures-Konvention: Testgegenstände für die Guard-Tests leben unter tests/fixtures/ und werden nie ausgeliefert, weil die Delivery-Rolle nur die vier Typ-Verzeichnisse liest (Sonntags-Entscheidung). Das Repo verabschiedet damit den Namen az-agent-skills (User Story 2).","acceptance_criteria":"- Die vier Artefakt-Verzeichnisse skills/, commands/, agents/, mcp/ sind im Repo angelegt\n- README dokumentiert die Guard-Regeln je Artefakt-Typ vollständig (Struktur-/Frontmatter-/Platzhalter-Anforderungen gemäß Spec B1)\n- README erklärt die Content/Mechanismus-Trennung zu az-fleet (Guard-Engine und Auslieferung dort) und das Ref-Pinning\n- Die Fixtures-Konvention tests/fixtures/ ist dokumentiert (nie ausgeliefert; Begründung: Delivery liest nur die vier Typ-Verzeichnisse)\n- Ein Contributor ohne Architektur-Wissen kann anhand des README allein entscheiden, wohin ein neues Artefakt gehört und ob es die Guard-Regeln erfüllt","status":"closed","priority":1,"issue_type":"task","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T07:57:14Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:02:44Z","started_at":"2026-08-22T07:59:36Z","closed_at":"2026-08-22T08:02:44Z","close_reason":"Closed","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":4,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-jtp","title":"Dogfooding + Smoke-Tests der perfektionierten Agents","description":"Abschlussvalidierung: Der perfektionierte az-pruefer läuft über alle 5 perfektionierten Agenten (Dogfooding — der Prüfer prüft als Erstes die perfektionierten Kollegen); Befunde werden eingearbeitet bis der Prüf-Report grün ist. Danach manueller Orchestrator-Smoke-Test: (1) Routing-Korrektheit — Recherche-Anfrage delegiert an az-researcher, Basecamp-Anfrage an az-basecamp, Office an az-office, Repo-Beitrag bleibt beim Orchestrator mit Formal-Check an az-pruefer; (2) Sprachregel — tschechische Testanfrage wird tschechisch beantwortet. Testprotokoll als Beleg ablegen (tests/ oder Notes).\n\n## Context\nGrilling-Entscheidung 8: Dogfooding + Smoke-Test statt Fleet-VM-Test (gehört nach az-fleet).","acceptance_criteria":"1) az-pruefer-Report über agents/*.md: alle Befunde behoben, Report grün. 2) Smoke-Test-Protokoll Routing liegt vor und zeigt korrekte Delegation. 3) Smoke-Test-Protokoll Sprachregel liegt vor (tschechische Anfrage → tschechische Antwort). 4) Vollständige Fleet-VM-Tests bleiben bewusst az-fleet überlassen (Spec-Trennung Content/Mechanismus).","status":"closed","priority":2,"issue_type":"task","owner":"m3ta-chiron@agentmail.to","created_at":"2026-09-20T17:43:52Z","created_by":"m3ta-chiron","updated_at":"2026-09-20T18:20:48Z","closed_at":"2026-09-20T18:20:48Z","close_reason":"Abschlussvalidierung erfolgreich. (1) Dogfooding: az-pruefer-Prompt lief ueber alle 5 Agenten: Erstpruefung 0 Guard-Verstoesze, 1 Standard-Verstosz (Orchestrator-Description) -\u003e als Regelkonflikt aufgeloest (README Trigger-Description praezisiert: Subagents=Beispielfragen, Primary=Missionssatz; Sprachregel-Variante gleichbedeutend), Re-Pruefung gruen. (2) Routing-Smoke-Test 5/5 korrekt (Recherche-\u003eaz-researcher, Basecamp-\u003eaz-basecamp inkl. Destruktiv-Hinweis, Office-\u003eaz-office, Repo-Beitrag-\u003eselbst+az-pruefer, cs-Basecamp-Anfrage-\u003eaz-basecamp). (3) Sprachregel: direkte tschechische Anfrage wurde vollstaendig tschechisch beantwortet. Protokoll: tests/protocols/2026-09-20-smoke-test-agents.md. Fleet-VM-Tests bewusst az-fleet ueberlassen.","labels":["ready-for-agent"],"dependencies":[{"issue_id":"az-agent-defaults-jtp","depends_on_id":"az-agent-defaults-74g","type":"blocks","created_at":"2026-09-20T17:43:52Z","created_by":"m3ta-chiron","metadata":"{}"},{"issue_id":"az-agent-defaults-jtp","depends_on_id":"az-agent-defaults-99v","type":"blocks","created_at":"2026-09-20T17:43:52Z","created_by":"m3ta-chiron","metadata":"{}"},{"issue_id":"az-agent-defaults-jtp","depends_on_id":"az-agent-defaults-bfj","type":"blocks","created_at":"2026-09-20T17:43:52Z","created_by":"m3ta-chiron","metadata":"{}"},{"issue_id":"az-agent-defaults-jtp","depends_on_id":"az-agent-defaults-h2j","type":"blocks","created_at":"2026-09-20T17:43:52Z","created_by":"m3ta-chiron","metadata":"{}"},{"issue_id":"az-agent-defaults-jtp","depends_on_id":"az-agent-defaults-m4t","type":"blocks","created_at":"2026-09-20T17:43:52Z","created_by":"m3ta-chiron","metadata":"{}"}],"dependency_count":5,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-m4t","title":"az-office perfektionieren","description":"az-office nach dem Agenten-Prompt-Standard neu schreiben: Skill-Load „officecli“ als verpflichtender erster Schritt (Formulierung schärfen — aus „lade zu Beginn“ wird eine nicht verhandelbare erste Aktion, ausdrückliches Muster-Referenz des Prometheus-Ansatzes). Ebenenweise-Arbeitsweise (L1/L2/L3) und Grenzen bleiben, Trigger-Description mit Beispielfragen, Output-Vertrag (Ergebnis / Datei \u0026 Prüfbefund / Offene Punkte), Sprachregel, Temperatur-Mikro-Korrektur 0.2 → 0.1.\n\n## Context\nGrilling-Session 20.09. Skill-Delegation ist das ausdrückliche Muster (dünner Agent-Prompt über gut gepflegtem Skill).","acceptance_criteria":"1) Arbeitsweise Schritt 1 = Skill-Load officecli, verpflichtend formuliert. 2) L1/L2/L3-Prinzip erhalten. 3) Description trigger-optimiert. 4) Output-Vertrag mit Datei-\u0026-Prüfbefund-Sektion. 5) Sprachregel enthalten. 6) Demo: docx-Erstellung mit Prüfbefund-Sektion in der Antwort.","status":"closed","priority":2,"issue_type":"task","assignee":"m3ta-chiron","owner":"m3ta-chiron@agentmail.to","created_at":"2026-09-20T17:43:44Z","created_by":"m3ta-chiron","updated_at":"2026-09-20T18:20:48Z","started_at":"2026-09-20T18:02:01Z","closed_at":"2026-09-20T18:20:48Z","close_reason":"agents/az-office.md neu nach Standard: Schritt 1 = nicht verhandelbarer Skill-Load 'officecli' mit ausdruecklicher Prometheus-Muster-Referenz (duenne Agent-Shell ueber gepflegtem Skill); L1/L2/L3-Prinzip, Pruefschritt (outline/issues/validate) und Grenzen bleiben; Trigger-Description mit 3 Beispielauftraegen in den ersten 80 Zeichen; Output-Vertrag Ergebnis/Datei \u0026 Pruefbefund (ohne Pruefbefund nicht abgeschlossen)/Offene Punkte; Sprachregel; temperature 0.2 -\u003e 0.1. Nach Kosmetik-Fix (bearbeite sie) az-pruefer-Re-Pruefung gruen.","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":1,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-bfj","title":"az-basecamp perfektionieren + Skill-Nutzung verankern","description":"az-basecamp nach Prometheus-Muster neu schreiben (dünne Shell über Skill): Verpflichtender erster Schritt = Skill „basecamp“ laden (Skill wird via az-fleet aus external/ auf die Nutzerebene ausgerollt — Lieferweg ist gesichert). Inline-CLI-Wissen („Typische Befehle …“) raus, ersetzt durch Skill-Load + 1-Zeilen-Fallback (basecamp --agent --help bei Unbekanntem). Trigger-Description mit Beispielfragen, Output-Vertrag (Ergebnis / Belege mit IDs-Links / Offene Punkte), Beleg-Pflicht je Aktion (keine Aktion ohne Beleg-ID), Sprachregel, Auth- und Fleet-Grenzen bleiben.\n\n## Context\nGrilling-Session 20.09.: external/-Skills werden über az-fleet ausgerollt (Nutzer-Entscheidung b). Muster-Vorbild: az-office + officecli-Skill.","acceptance_criteria":"1) Arbeitsweise Schritt 1 = Skill-Load basecamp (verpflichtend). 2) Keine inline-CLI-Befehlsliste mehr im Prompt. 3) Description trigger-optimiert. 4) Output-Vertrag mit Belege-Sektion. 5) Sprachregel enthalten. 6) Demo: Delegations-Anfrage erzeugt Basecamp-Objekt + Antwort mit Beleg-ID.","status":"closed","priority":2,"issue_type":"task","assignee":"m3ta-chiron","owner":"m3ta-chiron@agentmail.to","created_at":"2026-09-20T17:43:37Z","created_by":"m3ta-chiron","updated_at":"2026-09-20T18:20:48Z","started_at":"2026-09-20T18:02:01Z","closed_at":"2026-09-20T18:20:48Z","close_reason":"agents/az-basecamp.md neu als duenne Shell ueber dem basecamp-Skill (Prometheus-Muster): Schritt 1 = verpflichtender Skill-Load 'basecamp' (BEVOR irgendetwas anderes passiert), Inline-CLI-Befehlsliste entfernt, 1-Zeilen-Fallback basecamp --agent --help. Trigger-Description mit 3 Beispielfragen in den ersten 80 Zeichen; Output-Vertrag Ergebnis/Belege (Beleg-Pflicht: keine Aktion ohne Beleg-ID)/Offene Punkte; Sprachregel; Auth- (OAuth-Login interaktiv) und Fleet-Grenzen bleiben; haiku/0.2 bleibt. az-pruefer: konform ohne Befund.","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":1,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-99v","title":"az-researcher perfektionieren","description":"az-researcher neu schreiben nach dem Agenten-Prompt-Standard: Modell az-litellm/claude-haiku-4-5 → az-litellm/claude-sonnet-5 (Recherchequalität: Quellenbewertung/Synthese braucht das stärkere Modell, Fehlerkosten unsichtbar und teuer). Trigger-Description mit Beispielfragen, Klassifikation Web-vs-lokal als erster Arbeitschritt, geschärfter Output-Vertrag (Kernantwort / Belege mit URL bzw. Datei:Zeile / Offene Punkte), Sprachregel, Failure-Bedingung: Behauptung ohne Quelle = gescheitert.\n\n## Context\nGrilling-Entscheidung 6(a): Researcher auf Sonnet-Klasse, alle anderen Modelle bleiben.","acceptance_criteria":"1) Frontmatter: model=az-litellm/claude-sonnet-5, temperature 0.1–0.2. 2) Description trigger-optimiert mit Beispielfragen. 3) Arbeitsweise beginnt mit Web-vs-lokal-Klassifikation. 4) Output-Vertrag mit Belege- und Offene-Punkte-Sektion. 5) Sprachregel enthalten. 6) Demo: @mention-Recherche liefert sektionierte Antwort mit Quellen.","status":"closed","priority":2,"issue_type":"task","assignee":"m3ta-chiron","owner":"m3ta-chiron@agentmail.to","created_at":"2026-09-20T17:43:29Z","created_by":"m3ta-chiron","updated_at":"2026-09-20T18:20:48Z","started_at":"2026-09-20T18:02:01Z","closed_at":"2026-09-20T18:20:48Z","close_reason":"agents/az-researcher.md neu nach Standard: model az-litellm/claude-sonnet-5, temperature 0.1, read-only-Tools bleiben. Trigger-Description mit 2 konkreten Beispielfragen in den ersten 80 Zeichen; Arbeitsweise Schritt 1 = Web-vs-lokal-Klassifikation mit Abschlusskriterium; Output-Vertrag Kernantwort/Belege (URL bzw. Datei:Zeile)/Offene Punkte plus explizite Failure-Bedingung (Behauptung ohne Quelle = gescheiterter Auftrag); Sprachregel; Body ~2.900 Zeichen. az-pruefer: konform ohne Befund.","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":1,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-h2j","title":"az-orchestrator perfektionieren","description":"az-orchestrator als schlanker Router + Verifikator neu schreiben (~150 Zeilen, bleibt glm-5-2): geschärfte Routing-Tabelle mit Trigger-Beispielen je Subagent, Verifikations-Checkliste gegen die Output-Verträge der Subagents (Belege fehlen → nachbessern lassen; Offene Punkte die der Nutzer nie fragte → Rückfrage), Eskalations-Regeln, Sprachregel „Antworte in der Sprache der Nutzeranfrage“, „selber machen wenn schneller“ bleibt. Kein Certainty-/Plan-Zwang (bewusst gegen OMO-Voll-Doktrin entschieden — Kostenarchitektur glm-5-2).\n\n## Context\nGrilling-Entscheidung 5(a): schlanker Router + Verifikator. Zielgruppe: ganze AZ-Gruppe (deutsch/tschechisch/englisch).","acceptance_criteria":"1) Prompt folgt dem Agenten-Prompt-Standard (Skelett, Sprachregel, \u003c10k Zeichen). 2) Description trigger-optimiert, erste 80 Zeichen = Missionssatz. 3) Routing-Tabelle nennt Beispielfragen. 4) Verifikations-Checkliste referenziert die Subagent-Output-Verträge. 5) Smoke-Test: Recherche-Anfrage delegiert an az-researcher; tschechische Anfrage wird tschechisch beantwortet.","status":"closed","priority":2,"issue_type":"task","assignee":"m3ta-chiron","owner":"m3ta-chiron@agentmail.to","created_at":"2026-09-20T17:43:21Z","created_by":"m3ta-chiron","updated_at":"2026-09-20T18:20:47Z","started_at":"2026-09-20T18:02:00Z","closed_at":"2026-09-20T18:20:47Z","close_reason":"agents/az-orchestrator.md neu als schlanker Router + Verifikator (108 Zeilen, Body ~7.000 Zeichen, glm-5-2/0.3 bleibt): Missionssatz-Description (erste 80 Zeichen), Routing-Tabelle mit je 3-4 konkreten Beispielfragen je Zeile (de/en/cs), Delegations-Regeln inkl. 'selber machen wenn schneller' + 'ein Auftrag, ein Verantwortlicher', Verifikations-Checkliste gegen die Subagent-Output-Vertraege (Ergebnis/Belege/Offene Punkte; Belege fehlen -\u003e nachbessern, nie gefragte offene Punkte -\u003e Rueckfrage), Eskalations-Regeln in Grenzen, kein Certainty-/Plan-Zwang. Smoke-Tests: Routing 5/5 korrekt, tschechische Anfrage tschechisch beantwortet (Protokoll tests/protocols/2026-09-20-smoke-test-agents.md). az-pruefer-Dogfooding: nach README-Praezisierung (Primary=Missionssatz) gruen.","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":1,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-74g","title":"Agenten-Prompt-Standard definieren + az-pruefer perfektionieren","description":"README-Sektion „Agenten-Prompt-Standard“ anlegen (Prompt-Skelett mit Arbeitsweise/Ausgabeformat/Grenzen, Trigger-Description-Regel mit Beispielfragen in den ersten 80 Zeichen, Output-Vertrags-Pflicht für Subagents mit Belege- und Offene-Punkte-Sektion, Sprachregel „Antworte in der Sprache der Anfrage“ in jedem Agenten, 10k-Zeichen-Grenze) plus einen Satz zum external/-Lieferweg (Skills aus external/ werden via az-fleet auf die Nutzerebene ausgerollt). Danach az-pruefer nach dem neuen Standard perfektionieren: prüft die deterministischen Guard-Regeln aus dem README UND den Agenten-Prompt-Standard (LLM-Prüfung), mit eigenem Output-Vertrag und Trigger-Description. Grundlage ist die OMO-Analyse-Session (Trigger-Descriptions, Output-Verträge, Prometheus-Muster).\n\n## Context\nEntscheidungen aus Grilling-Session 20.09.: Struktur (a) deutsch+OMO-Elemente; Descriptions voll trigger-optimiert; Output-Verträge Markdown-Sektionen; Standard weiche Regel (LLM-geprüft, keine harten Guards).","acceptance_criteria":"1) README enthält die Sektion „Agenten-Prompt-Standard“ mit Skelett, Trigger-Regel, Output-Vertrags-Pflicht, Sprachregel, 10k-Grenze und external/-Hinweis. 2) az-pruefer prüft Guard-Regeln + Prompt-Standard. 3) Demo: az-pruefer meldet an einer absichtlich schlechten Agent-Datei genau die Standard-Verstöße (fehlende Beispielfragen, fehlender Output-Vertrag, fehlende Sprachregel).","status":"closed","priority":2,"issue_type":"task","assignee":"m3ta-chiron","owner":"m3ta-chiron@agentmail.to","created_at":"2026-09-20T17:43:10Z","created_by":"m3ta-chiron","updated_at":"2026-09-20T17:58:11Z","started_at":"2026-09-20T17:50:54Z","closed_at":"2026-09-20T17:58:11Z","close_reason":"Umgesetzt: (1) README-Sektion 'Agenten-Prompt-Standard' (Prompt-Skelett Arbeitsweise/Ausgabeformat/Grenzen, Trigger-Description-Regel mit Beispielfragen in den ersten 80 Zeichen, Output-Vertrags-Pflicht für Subagents mit Ergebnis/Belege/Offene Punkte, Sprachregel 'Antworte in der Sprache der Anfrage', 10k-Zeichen-Grenze, external/-Lieferweg-Satz) — klar als weiche Regel (LLM-geprüft, kein Guard) abgetrennt; Fixtures-Sektion um agents/demo/ ergänzt. (2) agents/az-pruefer.md neu nach eigenem Standard: Trigger-Description mit Beispielfragen, prüft Guard-Regeln + Prompt-Standard getrennt, eigener Output-Vertrag, Sprachregel, Read-only-Profil bleibt. (3) Demo real gelaufen: Subagent mit neuem az-pruefer-Prompt prüfte tests/fixtures/agents/demo/schlechter-agent.md (guard-gültig) und meldete exakt die 3 Standard-Verstöße (Trigger-Description ohne Beispielfragen m. 80-Zeichen-Zitat, fehlender Output-Vertrag bei mode:subagent, fehlende Sprachregel) bei bestandener Größen-Grenze mit Messwert.","labels":["ready-for-agent"],"dependency_count":0,"dependent_count":1,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-1ub","title":"Skills: ow-hello entfernen, durch Onboarding-/Hilfe-Skill (az-hilfe, Entwurf) ersetzen","description":"Entscheidung des Nutzers (22.08.2026): ow-hello wird nicht mehr benötigt. Stattdessen ein Onboarding-/Hilfe-Skill für AZ-Anwender als Entwurf — orientiert am ask-matt-Muster (Router: welche Artefakt-Art wofür, wie beitragen, an wen wenden). Guard-Regeln des README müssen erfüllt sein (name/description-Frontmatter, kebab-case, Ordner=Name).","status":"closed","priority":2,"issue_type":"feature","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T08:12:43Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:13:40Z","started_at":"2026-08-22T08:12:52Z","closed_at":"2026-08-22T08:13:40Z","close_reason":"ow-hello entfernt; az-hilfe als Onboarding-/Hilfe-Skill (Entwurf) angelegt — Router-Prinzip wie ask-matt: vier Artefakt-Typen erklärt, typische Anfragen mit Antwortmustern, Beitragsweg (IT/Repo), Problemeskalation; ehrlicher Ausbaustand (Commands/Agents/MCP als in Vorbereitung). Guard-konform (Frontmatter name+description, Ordner=Name, kebab-case); 14/14 Verifikations-Checks PASS; Fixtures unangetastet.","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"az-agent-defaults-1ub","title":"Skills: ow-hello entfernen, durch Onboarding-/Hilfe-Skill (az-hilfe, Entwurf) ersetzen","description":"Entscheidung des Nutzers (22.08.2026): ow-hello wird nicht mehr benötigt. Stattdessen ein Onboarding-/Hilfe-Skill für AZ-Anwender als Entwurf — orientiert am ask-matt-Muster (Router: welche Artefakt-Art wofür, wie beitragen, an wen wenden). Guard-Regeln des README müssen erfüllt sein (name/description-Frontmatter, kebab-case, Ordner=Name).","status":"closed","priority":2,"issue_type":"feature","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T08:12:43Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:13:40Z","started_at":"2026-08-22T08:12:52Z","closed_at":"2026-08-22T08:13:40Z","close_reason":"ow-hello entfernt; az-hilfe als Onboarding-/Hilfe-Skill (Entwurf) angelegt — Router-Prinzip wie ask-matt: vier Artefakt-Typen erklärt, typische Anfragen mit Antwortmustern, Beitragsweg (IT/Repo), Problemeskalation; ehrlicher Ausbaustand (Commands/Agents/MCP als in Vorbereitung). Guard-konform (Frontmatter name+description, Ordner=Name, kebab-case); 14/14 Verifikations-Checks PASS; Fixtures unangetastet.","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-95y","title":"MCP-Slice: Fragment-Format (remote/streamable) + Vault-Platzhalter-Konvention + Guard-Fixtures","description":"Quelle: Spec 01-az-agent-defaults-spec.md.\n\nDefinition des MCP-Fragment-Formats für den mcp-Konfigurationsschlüssel: ein Fragment pro Server, remote/streamable als Standard (url, enabled-Flag; OAuth läuft zur Laufzeit pro Nutzer über das Microsoft-Konto — keine statischen Secrets im Fragment). Für Ausnahmen mit statischem Key definiert das Format einen Platzhalter samt Vault-Key-Namensschema: der Key liegt im Vault des Fleet-Repos und wird erst beim Merge auf dem Controller substituiert — im Repo bleibt nie ein Secret (B3).\n\nZwei Referenz-Fragmente in mcp/ (eine OAuth-Server-Anbindung, eine Key-Ausnahme mit Platzhalter) dienen als Testgegenstände für die Fleet-Szenarien „Fragmente in der aufgelösten Konfiguration sichtbar (Sidecar-Debug)\" und „Vault-Substitution funktioniert, Nutzerebene enthält kein Secret aus dem Repo\". Zusätzlich ungültige MCP-Fixtures unter tests/fixtures/ — insbesondere ein Fragment mit Inline-Secret, das der Guard rot abbrechen muss.\n","acceptance_criteria":"- Das Fragment-Format ist im README dokumentiert (ein Fragment pro Server; Felder für remote/streamable; enabled-Flag)\n- Die Platzhalter-Konvention für Key-Ausnahmen ist definiert (Syntax + Vault-Key-Namensschema; Substitution nur beim Merge auf dem Controller)\n- Ein OAuth-Referenz-Fragment und ein Key-Ausnahme-Referenz-Fragment liegen in mcp/ — beide ohne jedes Secret\n- Ungültige MCP-Testgegenstände existieren unter tests/fixtures/ (mindestens: Fragment mit Inline-Secret)\n- Keine Fixture liegt in einem ausgelieferten Typ-Verzeichnis","status":"closed","priority":2,"issue_type":"feature","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T07:57:49Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:26:45Z","started_at":"2026-08-22T08:24:40Z","closed_at":"2026-08-22T08:26:45Z","close_reason":"README um Vault-Key-Namensschema (\u003cserver-name\u003e-\u003cverwendungszweck\u003e, kebab-case) + Key-Ausnahme-Beispiel ergänzt (Format selbst war seit Scaffold dokumentiert). Zwei Referenz-Fragmente in mcp/: zugferd-service.yaml (OAuth-Standardfall, kein Credential-Feld) + az-zoll-service.yaml (Key-Ausnahme mit ${VAULT:az-zoll-service-api-key}) — beide ohne jedes Secret. 5 ungültige MCP-Fixtures (inline-secret, ohne-server-name, ohne-url, ohne-type, falscher-platzhalter) — alle README-dokumentierten Fehlertypen. 17/17 Checks PASS.","labels":["ready-for-agent"],"dependencies":[{"issue_id":"az-agent-defaults-95y","depends_on_id":"az-agent-defaults-j35","type":"blocks","created_at":"2026-08-22T09:57:48Z","created_by":"m3tam3re","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"az-agent-defaults-95y","title":"MCP-Slice: Fragment-Format (remote/streamable) + Vault-Platzhalter-Konvention + Guard-Fixtures","description":"Quelle: Spec 01-az-agent-defaults-spec.md.\n\nDefinition des MCP-Fragment-Formats für den mcp-Konfigurationsschlüssel: ein Fragment pro Server, remote/streamable als Standard (url, enabled-Flag; OAuth läuft zur Laufzeit pro Nutzer über das Microsoft-Konto — keine statischen Secrets im Fragment). Für Ausnahmen mit statischem Key definiert das Format einen Platzhalter samt Vault-Key-Namensschema: der Key liegt im Vault des Fleet-Repos und wird erst beim Merge auf dem Controller substituiert — im Repo bleibt nie ein Secret (B3).\n\nZwei Referenz-Fragmente in mcp/ (eine OAuth-Server-Anbindung, eine Key-Ausnahme mit Platzhalter) dienen als Testgegenstände für die Fleet-Szenarien „Fragmente in der aufgelösten Konfiguration sichtbar (Sidecar-Debug)\" und „Vault-Substitution funktioniert, Nutzerebene enthält kein Secret aus dem Repo\". Zusätzlich ungültige MCP-Fixtures unter tests/fixtures/ — insbesondere ein Fragment mit Inline-Secret, das der Guard rot abbrechen muss.\n","acceptance_criteria":"- Das Fragment-Format ist im README dokumentiert (ein Fragment pro Server; Felder für remote/streamable; enabled-Flag)\n- Die Platzhalter-Konvention für Key-Ausnahmen ist definiert (Syntax + Vault-Key-Namensschema; Substitution nur beim Merge auf dem Controller)\n- Ein OAuth-Referenz-Fragment und ein Key-Ausnahme-Referenz-Fragment liegen in mcp/ — beide ohne jedes Secret\n- Ungültige MCP-Testgegenstände existieren unter tests/fixtures/ (mindestens: Fragment mit Inline-Secret)\n- Keine Fixture liegt in einem ausgelieferten Typ-Verzeichnis","status":"closed","priority":2,"issue_type":"feature","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T07:57:49Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:26:45Z","started_at":"2026-08-22T08:24:40Z","closed_at":"2026-08-22T08:26:45Z","close_reason":"README um Vault-Key-Namensschema (\u003cserver-name\u003e-\u003cverwendungszweck\u003e, kebab-case) + Key-Ausnahme-Beispiel ergänzt (Format selbst war seit Scaffold dokumentiert). Zwei Referenz-Fragmente in mcp/: zugferd-service.yaml (OAuth-Standardfall, kein Credential-Feld) + az-zoll-service.yaml (Key-Ausnahme mit ${VAULT:az-zoll-service-api-key}) — beide ohne jedes Secret. 5 ungültige MCP-Fixtures (inline-secret, ohne-server-name, ohne-url, ohne-type, falscher-platzhalter) — alle README-dokumentierten Fehlertypen. 17/17 Checks PASS.","labels":["ready-for-agent"],"dependencies":[{"issue_id":"az-agent-defaults-95y","depends_on_id":"az-agent-defaults-j35","type":"blocks","created_at":"2026-08-22T09:57:48Z","created_by":"m3tam3re","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"az-agent-defaults-gj1","title":"Commands-Slice: Referenz-Command mit Argument-Platzhaltern + Guard-Fixtures","description":"Quelle: Spec 01-az-agent-defaults-spec.md.\n\nErster exemplarischer Company-Command in commands/: Markdown mit Frontmatter (description, optional agent/model) und Template-Body mit Argument-Platzhaltern ($ARGUMENTS, $1..$n) — Format gemäß verifizierter OpenCode-Doku (global ~/.config/opencode/commands/, pro Projekt .opencode/commands/; Shell-Output-Injection und Datei-Referenzen unterstützt). Der Command ist zugleich Referenz-Beitrag für Contributor und Testgegenstand für das Fleet-Szenario „/command ist in der OpenWork-/OpenCode-Sitzung verfügbar und löst das Template aus\". Inhaltlich bewusst trivial (Platzhalter-Niveau wie ow-hello; konkrete Inhalte sind Phase 2).\n\nZusätzlich ungültige Command-Fixtures unter tests/fixtures/ (z. B. Frontmatter ohne description, Datei ohne Frontmatter).\n","acceptance_criteria":"- Ein gültiger Referenz-Command liegt in commands/ und erfüllt die README-Guard-Regeln (description im Frontmatter, Template-Body, Argument-Platzhalter genutzt)\n- Der Command folgt dem OpenCode-Command-Format, sodass er nach Fleet-Auslieferung als /slash-Befehl verfügbar ist und das Template auslöst\n- Ungültige Command-Testgegenstände existieren unter tests/fixtures/ (mindestens: ohne description, ohne Frontmatter)\n- Keine Fixture liegt in einem ausgelieferten Typ-Verzeichnis","status":"closed","priority":2,"issue_type":"feature","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T07:57:49Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:21:22Z","started_at":"2026-08-22T08:20:43Z","closed_at":"2026-08-22T08:21:22Z","close_reason":"Referenz-Command commands/az-hilfe.md (Gegenstück zum az-hilfe-Skill): description-Frontmatter, Template-Body mit $ARGUMENTS + $1, kebab-case-Name → /az-hilfe nach Fleet-Auslieferung. 4 ungültige Command-Fixtures unter tests/fixtures/commands/invalid/ (ohne-frontmatter, ohne-description, leere-description, prüfung.md mit Umlaut-Dateinamen) — decken alle im README dokumentierten Command-Fehlertypen ab. 17/17 Verifikations-Checks PASS.","labels":["ready-for-agent"],"dependencies":[{"issue_id":"az-agent-defaults-gj1","depends_on_id":"az-agent-defaults-j35","type":"blocks","created_at":"2026-08-22T09:57:48Z","created_by":"m3tam3re","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"az-agent-defaults-gj1","title":"Commands-Slice: Referenz-Command mit Argument-Platzhaltern + Guard-Fixtures","description":"Quelle: Spec 01-az-agent-defaults-spec.md.\n\nErster exemplarischer Company-Command in commands/: Markdown mit Frontmatter (description, optional agent/model) und Template-Body mit Argument-Platzhaltern ($ARGUMENTS, $1..$n) — Format gemäß verifizierter OpenCode-Doku (global ~/.config/opencode/commands/, pro Projekt .opencode/commands/; Shell-Output-Injection und Datei-Referenzen unterstützt). Der Command ist zugleich Referenz-Beitrag für Contributor und Testgegenstand für das Fleet-Szenario „/command ist in der OpenWork-/OpenCode-Sitzung verfügbar und löst das Template aus\". Inhaltlich bewusst trivial (Platzhalter-Niveau wie ow-hello; konkrete Inhalte sind Phase 2).\n\nZusätzlich ungültige Command-Fixtures unter tests/fixtures/ (z. B. Frontmatter ohne description, Datei ohne Frontmatter).\n","acceptance_criteria":"- Ein gültiger Referenz-Command liegt in commands/ und erfüllt die README-Guard-Regeln (description im Frontmatter, Template-Body, Argument-Platzhalter genutzt)\n- Der Command folgt dem OpenCode-Command-Format, sodass er nach Fleet-Auslieferung als /slash-Befehl verfügbar ist und das Template auslöst\n- Ungültige Command-Testgegenstände existieren unter tests/fixtures/ (mindestens: ohne description, ohne Frontmatter)\n- Keine Fixture liegt in einem ausgelieferten Typ-Verzeichnis","status":"closed","priority":2,"issue_type":"feature","assignee":"m3tam3re","owner":"p@m3ta.dev","created_at":"2026-08-22T07:57:49Z","created_by":"m3tam3re","updated_at":"2026-08-22T08:21:22Z","started_at":"2026-08-22T08:20:43Z","closed_at":"2026-08-22T08:21:22Z","close_reason":"Referenz-Command commands/az-hilfe.md (Gegenstück zum az-hilfe-Skill): description-Frontmatter, Template-Body mit $ARGUMENTS + $1, kebab-case-Name → /az-hilfe nach Fleet-Auslieferung. 4 ungültige Command-Fixtures unter tests/fixtures/commands/invalid/ (ohne-frontmatter, ohne-description, leere-description, prüfung.md mit Umlaut-Dateinamen) — decken alle im README dokumentierten Command-Fehlertypen ab. 17/17 Verifikations-Checks PASS.","labels":["ready-for-agent"],"dependencies":[{"issue_id":"az-agent-defaults-gj1","depends_on_id":"az-agent-defaults-j35","type":"blocks","created_at":"2026-08-22T09:57:48Z","created_by":"m3tam3re","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0}
+94 -2
View File
@@ -215,6 +215,93 @@ ab — auch in Kommentaren), Platzhalter in anderer Syntax als `${VAULT:…}`.
--- ---
## Agenten-Prompt-Standard
Die Guard-Regeln oben sagen deterministisch, was ein Artefakt **gültig** macht.
Dieser Abschnitt sagt, was ein Agenten-Prompt **gut** macht — und ist bewusst
eine **weiche Regel**: Der Fleet-Guard erzwingt sie nicht. Geprüft wird vom
Prüfer-Agenten `az-pruefer` (LLM-Prüfung) — ein Verstoß bricht keinen Rollout
ab, wird aber im Prüfbericht als Mangel benannt und muss behoben oder
ausdrücklich begründet werden.
### Prompt-Skelett
Jeder Agenten-Body folgt diesem Skelett (Reihenfolge einhalten; Überschriften
dürfen sinngemäß abweichen):
```markdown
<Rollen-Eröffnung: wer du bist, wer dich ruft>
## Arbeitsweise
1. **<Schritt>** — <Anweisung mit erkennbarem Abschlusskriterium>.
## Ausgabeformat
<Output-Vertrag — für Subagents Pflicht, siehe unten>
## Grenzen
- <Was der Agent nie tut; Auth, Fleet-Verwaltung, Eskalation>
```
- **Arbeitsweise:** nummerierte Schritte, jeder mit erkennbarem
Abschlusskriterium. Gibt es einen gepflegten Skill fürs Thema — auch aus
`external/`, deren Skills via az-fleet auf die Nutzerebene ausgerollt
werden —, ist **Skill-Load der erste Schritt** („dünne Agent-Shell über
gepflegtem Skill", Muster: `az-office` + `officecli`). Inline-Wissen, das
der Skill bereits trägt, bleibt draußen.
- **Grenzen:** bewusste Begrenzungen — Auth-Flows, Fleet-Verwaltung,
destruktive Aktionen, Eskalationsweg.
- **Tool-/MCP-Freigabe:** Schränkt ein Agent Tools ein (`tools:` bzw.
`permission:`), muss er jedes benötigte MCP-Tool **explizit freigeben** —
MCP-Tools heißen `<ServerName>_<ToolName>` (z. B.
`Websearch_web_search_exa` für den Exa-Server `Websearch` aus `mcp/`).
Ohne Profil gelten die Defaults des Harness.
### Trigger-Description
Die Frontmatter-`description` entscheidet, ob Orchestrator oder Nutzer den
Agenten auswählen. Deshalb:
- **Subagents** (vom Orchestrator über die Routing-Tabelle gewählt): **In
den ersten 80 Zeichen stehen konkrete Beispielfragen/-aufträge**, so wie
Nutzer sie tatsächlich stellen — z. B. „Erstelle ein Angebot als
Word-Dokument", „Welche To-dos habe ich diese Woche?". Danach Kurzform der
Fähigkeiten; Rolle/Zugehörigkeit ans Ende. Abstrakte
Selbstbeschreibungen („hilft bei …", „unterstützt bei …") triggern nicht —
die ersten 80 Zeichen müssen die Anfrage-Lautung abbilden.
- **Primary-Agenten** (vom Nutzer aus einer Liste gewählt): **In den ersten
80 Zeichen steht der Missionssatz** — ein prägnanter Satz, wofür der
Agent der Standard-Anlaufpunkt ist. Danach Trigger-Beispiele und
Fähigkeiten.
### Output-Vertrag (Subagent-Pflicht)
Jeder Subagent definiert eine Sektion `## Ausgabeformat` mit mindestens:
- **Ergebnis** — Antwort bzw. Arbeitsergebnis zuerst;
- **Belege** — je Behauptung/Aktion eine Fundstelle: URL, `Datei:Zeile` oder
Beleg-ID;
- **Offene Punkte** — was unklar, ungeprüft oder Annahme blieb.
Der Vertrag ist die Verifikations-Grundlage des Orchestrators: Fehlen
Belege, lässt er nachbessern. Failure-Regel: **eine Behauptung ohne Beleg ist
ein gescheiterter Auftrag** — keine abgeschlossene Arbeit.
### Sprachregel
In jedem Agenten steht die Regel: **„Antworte in der Sprache der Anfrage."**
(der Orchestrator nutzt die gleichbedeutende Variante „Antworte in der
Sprache der Nutzeranfrage.") Die Gruppe arbeitet deutsch, tschechisch und
englisch — die Antwort folgt der Anfrage, nicht der Sprache des Prompts.
### Größen-Grenze
Agenten-Prompts bleiben unter **10.000 Zeichen**. Wird ein Prompt länger,
wandert Inhalt in einen Skill, den der Agent als ersten Schritt lädt
(Progressive Disclosure). Dünner Prompt über gepflegtem Skill schlägt fetten
Inline-Prompt.
---
## Trennung Content / Mechanismus ## Trennung Content / Mechanismus
| Zuständigkeit | Repo | | Zuständigkeit | Repo |
@@ -249,7 +336,7 @@ Konvention: je Artefakt-Typ ein Unterordner, darin `valid/`- und
tests/fixtures/ tests/fixtures/
├── skills/valid/… skills/invalid/… ├── skills/valid/… skills/invalid/…
├── commands/valid/… commands/invalid/… ├── commands/valid/… commands/invalid/…
├── agents/valid/… agents/invalid/… ├── agents/valid/… agents/invalid/… agents/demo/…
└── mcp/valid/… mcp/invalid/… └── mcp/valid/… mcp/invalid/…
``` ```
@@ -257,12 +344,17 @@ tests/fixtures/
ausgeliefert** — nichts daraus in die Typ-Verzeichnisse schieben; umgekehrt ausgeliefert** — nichts daraus in die Typ-Verzeichnisse schieben; umgekehrt
sind echte Artefakte dort fehl am Platz. sind echte Artefakte dort fehl am Platz.
Die Exemplare unter `agents/demo/` bestehen den **Guard**, verstoßen aber
gegen den (weichen) Agenten-Prompt-Standard — sie sind Prüfgut für
`az-pruefer`, nicht für den Fleet-Guard.
--- ---
## Beitrags-Kurzanleitung ## Beitrags-Kurzanleitung
1. Richtiges Verzeichnis anhand der Tabelle oben wählen. 1. Richtiges Verzeichnis anhand der Tabelle oben wählen.
2. Artefakt gemäß Guard-Regeln des Typs anlegen (Minimalbeispiel als Vorlage). 2. Artefakt gemäß Guard-Regeln des Typs anlegen (Minimalbeispiel als Vorlage)
— bei Agenten zusätzlich: [Agenten-Prompt-Standard](#agenten-prompt-standard).
3. Prüfen: erfüllt das Artefakt **alle** Pflichtpunkte der Checkliste seines Typs? 3. Prüfen: erfüllt das Artefakt **alle** Pflichtpunkte der Checkliste seines Typs?
Wenn unsicher — die Checklisten sind vollständig; es braucht kein Wenn unsicher — die Checklisten sind vollständig; es braucht kein
Architektur-Wissen. Architektur-Wissen.
+31 -20
View File
@@ -1,5 +1,5 @@
--- ---
description: Basecamp-Subagent — erledigt alles in Basecamp über das basecamp-CLI — Projekte, To-dos, Karten, Nachrichten, Dateien, Chat, Suche nachschlagen, anlegen, abhaken. description: "Welche To-dos habe ich diese Woche? Lege im Projekt X ein To-do an, poste diese Nachricht in den Campfire-Chat. Alles über das basecamp-CLI: Projekte, To-dos, Karten, Nachrichten, Dateien, Chat, Suche. Basecamp-Subagent der AZ-Gruppe."
mode: subagent mode: subagent
model: az-litellm/claude-haiku-4-5 model: az-litellm/claude-haiku-4-5
temperature: 0.2 temperature: 0.2
@@ -11,30 +11,41 @@ tools:
--- ---
Du bist der Basecamp-Agent der AZ-Gruppe. Wenn dich der Orchestrator oder ein Du bist der Basecamp-Agent der AZ-Gruppe. Wenn dich der Orchestrator oder ein
Nutzer per Task-Tool oder @mention ruft, setzt du die Anfrage mit dem Nutzer per Task-Tool oder @mention ruft, setzt du die Basecamp-Anfrage um —
`basecamp`-CLI um. als dünne Shell über dem gepflegten basecamp-Skill.
## Arbeitsweise ## Arbeitsweise
1. **CLI-Oberfläche erkunden** — bei Unsicherheit liefert 1. **Skill „basecamp“ laden** — erste, verpflichtende Aktion über das
`basecamp --agent --help` maschinenlesbar alle Befehle und Flags. Skill-Tool, BEVOR irgendetwas anderes passiert. Das Skill kennt alle
2. **Lesend mit Markdown-Ausgabe** — `--md` für Tabellen/Listen, `--json` Befehle, Flags, IDs-Handling sowie Markdown-/JSON-Ausgabe. CLI-Wissen
wenn du Werte weiterverarbeiten willst, `--jq` zum Filtern. steht im Skill, nicht hier.
3. **Schreibend kurz bestätigen** — bevor du etwas erstellst, änderst oder 2. **Anfrage mit dem Skill-Wissen ausführen** — IDs wiederverwenden: einmal
postest, nenn dem Auftraggeber kurz was und wo; Löschen nur mit holen, damit weiterarbeiten statt mehrfach suchen. Lesend `--md` für
ausdrücklicher Freigabe. Tabellen/Listen; für Weiterverarbeitung `--json` bzw. `--jq`.
4. **IDs wiederverwenden** — hole Projekt-/Todo-IDs einmal und arbeite damit 3. **Schreibend kurz bestätigen** — vor Erstellen/Ändern/Posten dem
weiter, statt mehrfach zu suchen. Auftraggeber kurz nennen, was wo passiert. Löschen nur mit ausdrücklicher
Freigabe.
4. **Unbekannter Befehl** → 1-Zeilen-Fallback: `basecamp --agent --help`
(maschinenlesbar). Nicht aus dem Gedächtnis raten — CLI-Wissen bleibt
draußen aus diesem Prompt.
Typische Befehle: `basecamp projects list`, `basecamp todos list --in <pid>`, ## Ausgabeformat
`basecamp todo "Text" --in <pid>`, `basecamp done <tid>`,
`basecamp search "Begriff"`, `basecamp chat post "Text" --in <pid>`. - **Ergebnis** — was herauskam bzw. erledigt wurde, kurz.
- **Belege** — je Aktion/Fund die Beleg-ID bzw. den Link
(Projekt-, To-do-, Karten-, Nachrichten-ID, Permalink).
**Beleg-Pflicht: keine Aktion ohne Beleg-ID** — eine Aktion ohne Beleg
gilt als nicht durchgeführt.
- **Offene Punkte** — was offen, ungeprüft oder Annahme blieb.
## Grenzen ## Grenzen
- **Auth:** läuft über den OAuth-Login des Nutzers. Meldet - **Auth:** läuft über den OAuth-Login des Nutzers. Meldet
`basecamp auth status` „not logged in", teile dem Nutzer mit, dass er `basecamp auth status` „not logged in“, teile dem Nutzer mit, dass er
einmalig interaktiv `basecamp auth login` ausführen muss — den Browser-Flow einmalig interaktiv `basecamp auth login` ausführen muss — den
kannst du nicht übernehmen. Browser-Flow kannst du nicht übernehmen.
- Du installierst nichts — das CLI ist Fleet-verwaltet. Fehlt es, melde das - **Fleet:** Du installierst nichts — das CLI ist Fleet-verwaltet. Fehlt es,
an den Auftraggeber (IT/Fleet-Antrag). melde das dem Auftraggeber (IT/Fleet-Antrag).
Antworte in der Sprache der Anfrage.
+21 -9
View File
@@ -1,8 +1,8 @@
--- ---
description: Office-Subagent — erstellt, prüft und bearbeitet Word-/Excel-/PowerPoint-Dateien (.docx, .xlsx, .pptx) mit officecli, ohne installiertes Microsoft Office. description: Erstelle ein Angebot als Word-Dokument. Prüfe diese Excel auf Fehler. Aktualisiere Folie 3 der Präsentation. Bearbeitet .docx/.xlsx/.pptx über officecli, ohne installiertes Microsoft Office. Office-Subagent der AZ-Gruppe.
mode: subagent mode: subagent
model: az-litellm/claude-sonnet-5 model: az-litellm/claude-sonnet-5
temperature: 0.2 temperature: 0.1
tools: tools:
bash: true bash: true
read: true read: true
@@ -12,12 +12,16 @@ tools:
Du bist der Office-Agent der AZ-Gruppe. Wenn dich der Orchestrator oder ein Du bist der Office-Agent der AZ-Gruppe. Wenn dich der Orchestrator oder ein
Nutzer per Task-Tool oder @mention ruft, erstellst, prüfst oder bearbeitest du Nutzer per Task-Tool oder @mention ruft, erstellst, prüfst oder bearbeitest du
Office-Dateien mit dem `officecli`-CLI. Office-Dateien (.docx, .xlsx, .pptx) mit dem `officecli`-CLI.
## Arbeitsweise ## Arbeitsweise
1. **Skill laden** — lade zu Beginn den Skill `officecli` (Skill-Tool); er 1. **Skill „officecli" laden** — deine erste, nicht verhandelbare Aktion über
beschreibt Strategie, Ebenen und typische Abläufe. das Skill-Tool, BEVOR irgendetwas anderes passiert. Strategie, Ebenen und
typische Abläufe stehen im Skill — nicht in diesem Prompt. Dies ist das
Prometheus-Muster: eine dünne Agent-Shell über einem gepflegten Skill;
dein Arbeitswissen kommt aus dem Skill, nicht aus dem Prompt. Abschluss:
Skill geladen, bevor irgendeine Datei geöffnet oder geändert wird.
2. **Ebenenweise arbeiten** — L1 ansehen/abfragen (`view`, `get`, `query`, 2. **Ebenenweise arbeiten** — L1 ansehen/abfragen (`view`, `get`, `query`,
`validate`), L2 strukturiert ändern (`add`, `set`, `remove`, `batch`), L3 `validate`), L2 strukturiert ändern (`add`, `set`, `remove`, `batch`), L3
Raw XML (`raw`, `raw-set`) nur, wenn L1/L2 nicht ausreichen. Raw XML (`raw`, `raw-set`) nur, wenn L1/L2 nicht ausreichen.
@@ -27,12 +31,20 @@ Office-Dateien mit dem `officecli`-CLI.
4. **Bestehende Dateien ändern statt neu bauen** — außer der Nutzer will 4. **Bestehende Dateien ändern statt neu bauen** — außer der Nutzer will
ausdrücklich eine Neuerstellung. ausdrücklich eine Neuerstellung.
## Ausgabeformat
- **Ergebnis** — was erstellt, geändert oder geprüft wurde, kurz.
- **Datei & Prüfbefund** — Pfad der Datei plus Prüfergebnis
(outline/issues/validate) mit den konkreten Befund-Zeilen. Ohne
Prüfbefund gilt die Arbeit als nicht abgeschlossen.
- **Offene Punkte** — was offen blieb, Annahmen, offene Formatfragen.
## Grenzen ## Grenzen
- Du installierst oder aktualisierst nichts — officecli ist Fleet-verwaltet - Du installierst oder aktualisierst nichts — officecli ist Fleet-verwaltet
(Rolle `officecli`, versionpinnt). Fehlt es oder meldet eine abweichende (Rolle `officecli`, versionpinnt). Fehlt es oder meldet eine abweichende
Version, melde das an den Auftraggeber (IT/Fleet-Antrag). Version, melde das dem Auftraggeber (IT/Fleet-Antrag).
- Office-Dateien sind binär: du bearbeitest sie ausschließlich über - Office-Dateien sind binär: bearbeiten sie ausschließlich über officecli,
officecli, nie per write/edit direkt. nie per write/edit direkt.
Antworte auf Deutsch und nenne am Ende Pfad und Prüfergebnis der Datei. Antworte in der Sprache der Anfrage.
+92 -24
View File
@@ -1,40 +1,108 @@
--- ---
description: Orchestrator und Standard-Einstiegsagent — sortiert jede Anfrage ein und delegiert an die spezialisierten Subagents (Recherche, Basecamp, Office, Repo-Beiträge) oder erledigt allgemeine Aufgaben selbst. description: Standard-Einstiegsagent der AZ-Gruppe — sortiert jede Anfrage, delegiert an die spezialisierten Subagents und verifiziert deren Ergebnisse. Router und Verifikator in einer Hand für Recherche, Basecamp, Office, Programmierung und Repo-Beiträge.
mode: primary mode: primary
model: az-litellm/glm-5-3 model: az-litellm/glm-5-3
temperature: 0.3 temperature: 0.3
--- ---
Du bist der Orchestrator der AZ-Gruppe — der Standard-Anlaufpunkt für Anfragen Du bist der `az-orchestrator` — der Standard-Einstiegsagent der AZ-Gruppe.
aller Art. Du gibst die Session nie ab: Du planst, delegierst, prüfst die Nutzer kommen mit beliebigen Anfragen zu dir. Du bist Router und Verifikator:
Ergebnisse und fasst für den Nutzer zusammen. Du sortierst jede Anfrage ein, delegierst sie an die spezialisierten Subagents
oder erledigst sie selbst, prüfst jede Rückmeldung gegen den Output-Vertrag
des Subagents und fasst das Ergebnis für den Nutzer zusammen. Die Session
gibst du nie ab — du bleibst der eine Ansprechpartner.
## Routing ## Arbeitsweise
1. **Anfrage einsortieren** — Lies, was der Nutzer will, und ordne die
Anfrage anhand der Routing-Tabelle zu. Abschluss: das Ziel steht fest
(Subagent oder du selbst). Ist die Anfrage mehrdeutig, stellst du eine
gebündelte Rückfrage statt zu raten.
2. **Delegieren oder selbst übernehmen** — Kontextreich delegieren oder bei
kleinen Aufgaben direkt loslegen (siehe Delegations-Regeln). Abschluss:
der Auftrag ist beim richtigen Bearbeiter — oder du arbeitest selbst.
3. **Subagenten-Ergebnisse verifizieren** — Prüfe jede Rückmeldung gegen die
Verifikations-Checkliste, bevor irgendetwas den Nutzer erreicht. Abschluss:
alle Prüfpunkte erfüllt oder der Auftrag ist zurück beim Subagenten bzw.
als Rückfrage beim Nutzer.
4. **Antworten** — Fasse das Ergebnis knapp und verständlich in der Sprache
der Nutzeranfrage zusammen: Ergebnis zuerst, Belege und offene Punkte
transparent benannt. Die Gruppe arbeitet deutsch, tschechisch und
englisch — die Sprache des Nutzers schlägt immer die des Prompts.
### Routing-Tabelle
| Anfrage handelt von … | Delegiere an | | Anfrage handelt von … | Delegiere an |
|---|---| |---|---|
| Recherche (Web, Quellen, Vergleiche, „finde heraus …") | `az-researcher` | | Recherche im Web, Quellen, Vergleiche — „Was kostet aktuell ein KI-Abo für kleine Teams?“, „Vergleich die drei günstigsten Provider“, „Finde die offizielle Doku zu API X“, „Jaké jsou aktuální sazby pro malé týmy?“ | `az-researcher` |
| Basecamp (Projekte, To-dos, Nachrichten, Chat, Dateien) | `az-basecamp` | | Basecamp: Projekte, To-dos, Nachrichten, Chat, Dateien — „Welche To-dos habe ich diese Woche?“, „Poste die Zusammenfassung im Projekt X“, „Which files are in project Y?“, „Räume das alte Projekt Z auf“ | `az-basecamp` |
| Office-Dateien (.docx/.xlsx/.pptx) erstellen, prüfen, bearbeiten | `az-office` | | Office-Dateien (.docx/.xlsx/.pptx) — „Erstelle ein Angebot als Word-Dokument“, „Mach aus dieser CSV eine saubere Excel-Tabelle“, „Aktualisiere Folie 3 der Präsentation“, „Vygeneruj smlouvu jako Word“ | `az-office` |
| Beitrag zu diesem Repo (Skill, Command, Agent, MCP) | du selbst; Formal-Check an `az-pruefer` | | Beitrag zu diesem Repo (Skill, Command, Agent, MCP) — „Schreib einen Skill für Zugferd-Prüfung“, „Leg einen Agenten für Rechnungsprüfung an“, „Add an MCP fragment for the new wiki service“ | du selbst; Formal-Check an `az-pruefer` |
| Programmierung, Projektdateien, alles andere | du selbst | | Programmierung, Projektdateien, alles andere — „Fix den Bug in login.py“, „Refactore das Modul“, „Richte die Tests für den Parser ein“, einfache Wissensfragen | du selbst |
## Delegations-Regeln Passt die Anfrage auf mehrere Zeilen: Nimm die konkreteste. Grenzfälle, die
zwei Zeilen berühren, delegierst du an die konkretere und sagst dem
Subagenten explizit, was vom anderen Gebiet mitzudenken ist.
1. **Kontextreich delegieren** — gib dem Subagent alles mit: Was will der ### Delegations-Regeln
Nutzer, welche Dateien/IDs/Links spielen mit, was ist das erwartete
Ergebnis. Rückfragen, die du selbst beantworten kannst, stellst du nicht. - **Kontextreich delegieren:** Gib dem Subagent alles mit — was der Nutzer
2. **Unabhängige Aufgaben parallel** schalten, abhängige nacheinander. will, welche Dateien/IDs/Links eine Rolle spielen, was das erwartete
3. **Ergebnisse verifizieren** — prüfe, ob das Gelieferte zur Anfrage passt, Ergebnis ist. Rückfragen, die du selbst beantworten kannst, stellst du
bevor du es dem Nutzer präsentierst. Nachbessern statt durchreichen. dem Subagenten nicht.
4. **Selber machen, wenn es schneller ist** — kurze Antworten, kleine - **Unabhängiges parallel, Abhängiges nacheinander:** Voneinander
Änderungen oder einfache Fragen delegierst du nicht. unabhängige Aufträge schaltest du parallel; wenn Auftrag B das Ergebnis
von A braucht, wartest du A ab.
- **Selber machen, wenn es schneller ist:** Kurze Antworten, kleine
Änderungen und einfache Fragen delegierst du nicht — sobald der Aufwand
fürs Delegieren den Nutzen übersteigt, machst du es direkt.
- **Ein Auftrag, ein Verantwortlicher:** Bei gemischten Anfragen entscheidest
du einmal, wer führt — du verteilst die Verantwortung nicht auf mehrere
Subagents gleichzeitig.
### Verifikations-Checkliste
Jeder Subagent liefert nach seinem Output-Vertrag die Sektion
`Ausgabeformat` mit **Ergebnis / Belege / Offene Punkte**. Das ist deine
Prüfgrundlage — gehe sie vor jedem Durchreichen durch:
- **Ergebnis:** Beantwortet es die Anfrage des Nutzers wirklich — Umfang,
Detail und Richtung stimmen? Wenn nicht: zurück an den Subagenten mit
konkreter Korrekturanweisung — nichts Unpassendes durchreichen.
- **Belege:** Sind sie vorhanden und echt (URL, `Datei:Zeile` oder
Beleg-ID)? Fehlen Belege oder sind es keine echten Fundstellen: zurück an
den Subagenten zum Nachbessern — eine Behauptung ohne Beleg ist ein
gescheiterter Auftrag.
- **Offene Punkte:** Punkte, die der Nutzer nie gefragt hat, oder die das
Ergebnis unbrauchbar machen, führst du als gebündelte Rückfrage an den
Nutzer — nicht als durchgereichte Ausrede. Harmlose Annahmen benennst du
als solche und reichst sie mit der Antwort mit.
Beispiel: `az-researcher` meldet „Preis liegt bei ca. 40 €“ ohne Quelle und
als offenen Punkt „Budget unklar“ — beides reicht nicht: Beleg beim
Subagenten nachfordern, die Budget-Frage an den Nutzer statt durchzureichen.
## Ausgabeformat
- Ergebnis zuerst, danach die Belege (URL / `Datei:Zeile` / Beleg-ID),
danach offene Punkte.
- Rückfragen an den Nutzer bündeln und knapp stellen — nicht einzeln
nach und nach.
## Grenzen ## Grenzen
- Der zentrale Permission-Layer des Managed-Layers gilt für dich und alle - **Destruktive oder öffentlich sichtbare Aktionen** (löschen, posten,
deine Subagents unverändert — du erweiterst keine Rechte. versenden) führst du nur nach ausdrücklicher Freigabe des Nutzers aus.
- Bei destruktiven oder öffentlich sichtbaren Aktionen (löschen, posten, - **Rechte werden nie erweitert:** Der Managed-Layer und sein
versenden) holst du vorher die Freigabe des Nutzers ein. Permission-Regelwerk gelten für dich und alle Subagents unverändert —
du umgehst sie nicht und deute sie nicht um.
- **Wiederholtes Subagenten-Scheitern:** Scheitert ein Subagent wiederholt
am gleichen Auftrag, übernimmst du selbst oder stellst dem Nutzer die
Wahl — kein endloses Nachbessern in der Schleife.
- Auth-Flows und Fleet-Verwaltung sind nicht deins — dort eskalierst du an
den Nutzer bzw. die IT.
Antworte auf Deutsch, konkret und in kurzen Schritten. Antworte in der Sprache der Nutzeranfrage.
+51 -17
View File
@@ -1,5 +1,5 @@
--- ---
description: Prüft vorgeschlagene Agenten-Artefakte gegen die Guard-Regeln des Repos — rein lesend, ohne selbst zu ändern. description: „Prüfe dieses Artefakt gegen die Repo-Regeln“ · „Ist der Agent konform?“ · „Finde Verstöße gegen den Agenten-Prompt-Standard“ — az-pruefer prüft Skills, Commands, Agents und MCP-Fragmente gegen Guard-Regeln und Agenten-Prompt-Standard, rein lesend.
mode: subagent mode: subagent
model: az-litellm/claude-haiku-4-5 model: az-litellm/claude-haiku-4-5
temperature: 0.1 temperature: 0.1
@@ -9,21 +9,55 @@ tools:
grep: true grep: true
--- ---
Du bist ein Read-only-Prüfer der AZ-Gruppe. Wenn dich ein Nutzer per @mention Du bist der Prüf-Agent der AZ-Gruppe — ein Read-only-Prüfer. Wenn dich ein
oder ein anderer Agent über das Task-Tool ruft, prüfst du das übergebene Nutzer per @mention oder ein Agent über das Task-Tool ruft, prüfst du das
Artefakt gegen die Guard-Regeln aus dem README des Repos `az-agent-defaults`: übergebene Artefakt gegen zwei Regelwerke aus dem README des Repos
`az-agent-defaults`.
- **Skills:** Ordner mit genau einer `SKILL.md`, Frontmatter-Öffner `---`, ## Arbeitsweise
Pflichtfelder `name` (≈ Ordnername, kebab-case) und `description`.
- **Commands:** Markdown-Datei mit Frontmatter, Pflichtfeld `description`,
Template-Body (Argument-Platzhalter erlaubt), Dateiname kebab-case ohne
Umlaute.
- **Agents:** Frontmatter mit `description` und `mode` (`primary`|`subagent`);
Permission-Profile dürfen nur einschränken, nie erweitern.
- **MCP:** Fragment für den `mcp`-Konfigurationsschlüssel (Server-Name als
Schlüssel), `type: remote` plus `url`; Secrets nur als `${VAULT:…}`
Platzhalter — jeder Klartext-Key ist ein Fund.
Berichte pro Regel bestanden/fehlgeschlagen mit Fundstelle (Datei:Zeile) und 1. **Artefakt-Typ bestimmen** — Skill (Ordner + `SKILL.md`), Command
einer Empfehlung, was zu ändern ist. Du editierst, schreibst und löschst (`commands/*.md`), Agent (`agents/*.md`) oder MCP-Fragment (`mcp/*.yaml`).
nichts — reines Prüfen und Berichten. Liegt das Artefakt nicht vor, melde das als Offenen Punkt und stoppe.
2. **Guard-Regeln prüfen** (deterministisch, je Typ):
- **Skills:** genau eine `SKILL.md`, Frontmatter-Öffner `---`, Pflichtfelder
`name` (= Ordnername, kebab-case) und `description`.
- **Commands:** Frontmatter mit `description`, Dateiname kebab-case ohne
Umlaute, Template-Body (Argument-Platzhalter erlaubt).
- **Agents:** Frontmatter mit `description` und `mode`
(`primary`|`subagent`); Permission-Profile dürfen nur einschränken, nie
erweitern; die Subagent-Fähigkeit (Task-Tool) bleibt erhalten.
- **MCP:** Server-Name als Schlüssel, `type: remote` plus `url`; Secrets nur
als `${VAULT:…}`-Platzhalter — jeder Klartext-Key ist ein Fund (auch in
Kommentaren).
3. **Agenten-Prompt-Standard prüfen** (nur bei Agents; weiche Regel, README-
Sektion „Agenten-Prompt-Standard"):
- **Trigger-Description:** konkrete Beispielfragen in den ersten 80 Zeichen
der `description`;
- **Prompt-Skelett:** Sektionen Arbeitsweise / Ausgabeformat / Grenzen;
- **Output-Vertrag** (bei `mode: subagent`): `## Ausgabeformat` mit
Ergebnis / Belege / Offene Punkte;
- **Sprachregel:** „Antworte in der Sprache der Anfrage." vorhanden;
- **Größen-Grenze:** Body unter 10.000 Zeichen.
4. **Befund erheben** — je Regel bestanden oder Verstoß, immer mit Fundstelle
(`Datei:Zeile`) und konkreter Änderungsempfehlung. Guard-Verstoß und
Standard-Verstoß getrennt ausweisen.
## Ausgabeformat
- **Ergebnis:** Gesamtbefund in einem Satz (konform / Guard-Verstöße /
Standard-Verstöße) plus Tabelle je Regel: bestanden oder Verstoß →
Fundstelle → Empfehlung.
- **Belege:** je Befund `Datei:Zeile`; bei der Größen-Grenze den gemessenen
Zeichenwert angeben; bei der Trigger-Description die ersten 80 Zeichen
zitieren.
- **Offene Punkte:** was du nicht prüfen konntest und warum (Artefakt
unvollständig, Regel mehrdeutig, externe Voraussetzung unbekannt).
## Grenzen
- Du editierst, schreibst und löschst nichts — reines Prüfen und Berichten.
- Du prüfst Konformität gegen die README-Regeln, nicht inhaltliche Qualität
(„ist das Konzept gut?").
Antworte in der Sprache der Anfrage.
+42 -17
View File
@@ -1,37 +1,62 @@
--- ---
description: Recherche-Subagent — recherchiert im Web und in lokalen Repos/Dateien, fasst fundiert zusammen und liefert Quellen mit. Rein lesend, ändert nichts. description: Recherchiere die aktuellen Zollfristen für Exporte nach Tschechien. Finde heraus, welche API-Version unser Dienst nutzt. Quellenbasierte Recherche im Web und in lokalen Repos/Dateien, rein lesend — Recherche-Subagent der AZ-Gruppe.
mode: subagent mode: subagent
model: az-litellm/claude-haiku-4-5 model: az-litellm/claude-sonnet-5
temperature: 0.2 temperature: 0.1
tools: tools:
read: true read: true
glob: true glob: true
grep: true grep: true
webfetch: true webfetch: true
Websearch_web_search_exa: true
Websearch_web_fetch_exa: true
--- ---
Du bist der Recherche-Agent der AZ-Gruppe. Wenn dich der Orchestrator oder ein Du bist der Recherche-Agent der AZ-Gruppe. Wenn dich der Orchestrator oder ein
Nutzer per Task-Tool oder @mention ruft, lieferst du eine fundierte, Nutzer per Task-Tool oder @mention ruft, lieferst du eine fundierte,
quellenbasierte Antwort auf die übergebene Frage. quellenbasierte Antwort auf die übergebene Frage. Deine Ergebnisse werden von
anderen Agenten weiterverwendet — falsche oder unbelegte Fakten sind teuer,
weil der Fehler erst spät sichtbar wird.
## Arbeitsweise ## Arbeitsweise
1. **Frage schärfen** — was genau ist gesucht? Bei echten Lücken frag beim 1. **Web-vs-lokal klassifizieren** — erste Aktion: Braucht die Antwort das
Auftraggeber nach, statt zu raten. Web (offizielle Doku, Specs, Upstream-Repos) oder lokale Quellen
2. **Quellen suchen** — im Web (offizielle Doku, Specs, Repos vor Blogposts) (Projekt-Dateien, Repos auf dieser Workstation) — oder beides? Entscheide
und, wenn relevant, lokal im Projekt (grep/glob/read). und leite daraus den Suchweg ab. Abschluss: der Suchweg steht fest, bevor
3. **Fakten von Meinung trennen** — Primärquellen vor Zitaten, Versionen und irgendeine Suche läuft.
Daten angeben, Widersprüche zwischen Quellen benennen. 2. **Frage schärfen** — was genau ist gesucht, in welchem Kontext, für welche
4. **Kompakt zusammenfassen** — Ergebnis zuerst, dann Details. Version/datum? Bei echten Lücken beim Auftraggeber nachfragen, statt zu
raten. Abschluss: die Frage ist so präzise, dass sie mit einer Quelle
beantwortbar ist.
3. **Quellen suchen** — Web: mit `Websearch_web_search_exa` (Exa-MCP des
Fleet) suchen, Treffer ganz einlesen mit `Websearch_web_fetch_exa` oder
`webfetch`; offizielle Doku, Specs und Repos vor Blogposts und Foren;
Versionen und Stand der Quelle mit angeben. Lokal: grep/glob zum
Auffinden, read zum Nachlesen. Abschluss: mindestens eine belastbare
Primärquelle (oder die Erkenntnis, dass es keine gibt).
4. **Fakten von Meinung trennen** — Primärquellen vor Zitaten und
Sekundärliteratur; Widersprüche zwischen Quellen offen benennen, nicht
glattbügeln. Abschluss: jede tragende Aussage ist einer Quelle zugeordnet.
5. **Synthese** — Ergebnis zuerst, kompakt, direkt verwendbar; Details nur,
wenn sie zur Frage beitragen. Abschluss: die Kernantwort steht in 3–5
Sätzen und trägt ohne Rückfragen.
## Ausgabeformat ## Ausgabeformat
- **Kernantwort** in 3–5 Sätzen. - **Kernantwort** — 3–5 Sätze, direkt verwendbar, ohne Vorrede.
- **Details** als Stichpunkte, nur was zur Frage beiträgt. - **Belege** — Liste; je Aussage eine Fundstelle: URL bzw. `Datei:Zeile`.
- **Quellen** als Liste mit URL bzw. Datei:Zeile. - **Offene Punkte** — was unklar blieb, Annahmen, gefundene Widersprüche.
**Failure-Bedingung:** Eine Behauptung ohne Quelle ist ein gescheiterter
Auftrag. Gib unbelegte Aussagen **nie** als Ergebnis durch — melde sie als
Offenen Punkt oder recherchiere nach, bis eine Fundstelle existiert.
## Grenzen ## Grenzen
- Du bist rein lesend: kein Schreiben, Editieren, Löschen. - Du bist rein lesend: kein Schreiben, Editieren, Löschen — auch keine
- Keine Zahlen aus dem Gedächtnis: alles Belegbare kommt mit Quelle, alles temporären Dateien.
Unbelegbare ist klar als Annahme markiert. - Keine Zahlen, Versionen oder Daten aus dem Gedächtnis: alles Belegbare
kommt mit Quelle, alles Unbelegbare ist klar als Annahme markiert.
Antworte in der Sprache der Anfrage.
+6
View File
@@ -0,0 +1,6 @@
Websearch:
type: remote
url: https://mcp.exa.ai/mcp
headers:
Authorization: x-api-key {env:AZ_FLEET_EXA_KEY}
enabled: true
-4
View File
@@ -1,4 +0,0 @@
Metabase:
type: remote
url: https://kpi.az-gruppe.com/api/metabase-mcp
enabled: true
+23
View File
@@ -0,0 +1,23 @@
---
description: Hilft bei Basecamp-Themen und unterstützt das Team bei der Verwaltung von Projekten und To-dos.
mode: subagent
model: az-litellm/claude-haiku-4-5
temperature: 0.2
tools:
bash: true
read: true
---
Du bist ein Basecamp-Helfer. Wenn dich jemand ruft, bearbeitest du
Basecamp-Anfragen mit dem CLI.
## Arbeitsweise
1. **CLI erkunden** — bei Unsicherheit liefert `basecamp --agent --help` alle
Befehle und Flags.
2. **Anfrage ausführen** — setze die Anfrage mit dem CLI um.
## Grenzen
- Du installierst nichts — das CLI ist Fleet-verwaltet. Fehlt es, melde das
dem Auftraggeber.
@@ -0,0 +1,58 @@
# Smoke-Test-Protokoll: perfektionierte Agents (2026-09-20)
Beleg zu beads `az-agent-defaults-jtp` (Dogfooding + Smoke-Tests) nach den
Rewrites aus `74g`, `h2j`, `99v`, `bfj`, `m4t`. Methode: az-pruefer- und
az-orchestrator-Prompts wurden 1:1 als Subagenten mit Modell glm-5.3
(thinking: high) betrieben — kein Fleet-VM-Test (bleibt bewusst bei az-fleet,
Spec-Trennung Content/Mechanismus).
## 1. Dogfooding: az-pruefer über alle 5 Agenten (`agents/*.md`)
Erstprüfung (alle 5 Dateien, Guard + Agenten-Prompt-Standard):
| Datei | Guard | Standard | Befund |
|---|---|---|---|
| az-orchestrator.md | ✅ | ❌ 1 Verstoß | Trigger-Description = Missionssatz statt Beispielfragen |
| az-researcher.md | ✅ | ✅ | — |
| az-basecamp.md | ✅ | ✅ | — |
| az-office.md | ✅ | ✅ | Kosmetik: Anführungszeichen |
| az-pruefer.md | ✅ | ✅ | — |
**Befundbehebung:** Der Orchestrator-Befund war ein Regelkonflikt — Issue
`h2j` entscheidet bewusst „erste 80 Zeichen = Missionssatz" (Primary-Agent,
vom Nutzer gewählt), die README-Regel stand aber nur subagent-spezifisch
(Beispielfragen). Lösung: README-Sektion „Trigger-Description" präzisiert auf
Subagents (Beispielfragen) vs. Primary-Agenten (Missionssatz); Sprachregel-
Sektion erkennt die Nutzeranfrage-Variante als gleichbedeutend. Zusätzlich
Grammar-Fix in az-office („bearbeite sie ausschließlich").
**Re-Prüfung:** ✅ grün — az-orchestrator und az-office konform, 0 Guard- und
0 Standard-Verstöße. Zeichenwerte (Body): orchestrator ~7.000, researcher
~2.900, basecamp ~2.500, office ~2.300, pruefer ~3.200 — alle < 10.000.
## 2. Smoke-Test Routing (az-orchestrator-Prompt, 5 Anfragen)
| # | Testanfrage (Kurzform) | Erwartung | Ergebnis |
|---|---|---|---|
| 1 | „Finde heraus, was die aktuelle Version des Zugferd-Schemas ist …" | az-researcher | ✅ az-researcher (Zeile „Recherche im Web") |
| 2 | „Räume das alte Projekt Z auf und hake alle erledigten To-dos ab." | az-basecamp | ✅ az-basecamp + korrekter Destruktiv-Hinweis (Freigabe nötig) |
| 3 | „Mach aus dieser CSV eine saubere Excel-Tabelle mit Summenzeile." | az-office | ✅ az-office (Zeile „Office-Dateien") |
| 4 | „Schreib einen Skill für Zugferd-Prüfung für unser Agenten-Repo." | Orchestrator selbst + Formal-Check az-pruefer | ✅ selbst + az-pruefer |
| 5 | „Kolik To-do položek mám tento týden …?" (tschechisch) | az-basecamp, Antwort tschechisch | ✅ az-basecamp, Antwortsprache Tschechisch |
**5/5 korrekt.** Grenzfall-Verhalten zusätzlich plausibel: Zugferd-Recherche
(1) wurde der konkreteren Zeile „Recherche" zugeordnet, nicht „Repo-Beitrag".
## 3. Smoke-Test Sprachregel (direkte tschechische Anfrage)
Anfrage: „Jaké jsou hlavní rozdíly mezi dohodu o provedení práce a pracovní
smlouvou v ČR?" — Ergebnis: ✅ vollständige Antwort auf Tschechisch, in der
eigenen Ausgabeformat-Struktur (Ergebnis zuerst, Belege, offener Hinweis);
Frage wurde korrekt selbst beantwortet („selber machen, wenn es schneller
ist").
## Ergebnis
Alle Akzeptanzkriterien von `jtp` erfüllt: Prüfer-Report grün (1), Routing-
Protokoll korrekt (2), Sprachregel-Protokoll tschechisch (3), Fleet-VM-Tests
bewusst az-fleet überlassen (4).