Agent Reference · glossary

Code Reviews

Wie die Reviewer-Agents im solcom-Repo gewählt werden, was sie prüfen und woher ihre Regeln stammen. Reviews laufen auf zwei Achsen mit klar getrenntem Scope: Decision-time (vor dem Code, Architektur- und Topologie-Entscheidungen) und Diff-time (nach dem Code, Standards-Compliance pro Datei-Typ). Die Source-of-Truth jedes Reviewer-Agents ist ein Skill unter .claude/skills/ — der Reviewer-Prompt selbst wird nicht angefasst, wenn neue Regeln dazukommen.

Die zwei Achsen

Decision-time · vor Code

customer-lens-reviewer

Komponenten-Topologie- und Architekturentscheidungen mit ≥2 Optionen. Drei Stakeholder-Linsen (Figma-Designer, Drupal-Site-Builder, Theme-Developer). Read-only Tabellen-Output, nie Code.

Diff-time · nach Code

5 file-glob-Reviewer

Brand, Twig/SDC, PHP, Config-/Architektur-Governance, Test-Coverage. JSON-Findings gegen die Skill-Source-of-Truth. Vom /solcom-review-Skill orchestriert.

Kein Overlap zwischen den Achsen: Decision-time entscheidet die Form einer Komponente bevor Code entsteht; Diff-time prüft den Inhalt einer Änderung nachdem sie geschrieben wurde. Neue Review-Bedürfnisse (a11y, perf) konsolidieren als zusätzliche Linsen innerhalb von customer-lens-reviewer, nicht als parallele Agents.

Decision-time: customer-lens-reviewer

Aufruf proaktiv, sobald eine der folgenden Entscheidungen ansteht:

Output ist eine strukturierte Tabelle mit Pro/Contra pro Option aus jeder Linse. Der Caller (User oder Skill) entscheidet auf Basis dieser Tabelle — der Reviewer entscheidet nicht.

Konvention: ADRs, die eine Komponenten- oder Architekturentscheidung dokumentieren, müssen die customer-lens-reviewer-Konsultation referenzieren (oder explizit als N/A — Dev-Infrastruktur begründen). Siehe Skill solcom-adr-workflow.

Diff-time: 7 file-glob-Reviewer

Jeder Reviewer reagiert auf eine Glob-Schnittmenge im Diff und ruft inline seinen Skill als kanonische Regelquelle. Auswahl trifft der /solcom-review-Skill anhand der geänderten Dateien — nicht alle Reviewer laufen bei jedem Diff.

solcom-brand-reviewer
Brand-Compliance: SOLCOM-Farben (Lime, Dark Blue, Background Blue, Gray-Skala, Gradients), Typografie (Montserrat ExtraBold + ScalaSans), Logo-Usage, Anti-Patterns (oklch-Literale, hardcoded Hex, shadcn-Slot-Verwechslung).
Triggers: web/themes/custom/**/*.{css,scss,twig,svg}, web/modules/custom/**/*.{theme,module} mit class-Strings / hardcoded color/font.
Skill: solcom-styleguide
drupal-twig-sdc-reviewer
Twig-/SDC-/CVA-Konventionen aus den 13 byte_theme-Regeln: SDC-Schema-Vollständigkeit (props/slots/examples), CVA-Multi-Variant-Strategie, Include-Patterns mit Context-Isolation (with_context: false + with only), Icon-Includes via @byte_theme, kein inline-HTML wo SDC existiert.
Triggers: web/themes/custom/**/*.twig, **/*.component.yml, **/*.component.json.
Skill: drupal-twig-sdc-authoring + byte_theme/AGENTS.md (AGENTS.md wins on conflict)
drupal-php-reviewer
Custom-Module-PHP: Datei-Struktur, Hooks vs. Services, Dependency Injection, D11-Attribute-Plugins (kein veraltetes Annotation-Schema), Routing, Form-API, Permissions, Update-Hooks, Sicherheit (keine \Drupal::-Direktzugriffe in DI-fähigen Klassen).
Triggers: web/modules/custom/**/*.{php,module,install,theme,inc} plus *.{routing,services,permissions,libraries,info}.yml, plus Theme-Hooks unter web/themes/custom/**/*.theme.
Skill: drupal-module-development
drupal-config-architecture-reviewer
Config-Management + Architektur-Governance: kein Default-Drift, kein versehentlich exportierter dev-only-Eintrag, ADR-Pflicht bei Komponenten-Topologie-/Architekturentscheidungen mit ≥2 Optionen, customer-lens-Konsultations-Nachweis.
Triggers: config/sync/**/*.yml, config/splits/**/*.yml, composer.json/composer.lock, .ddev/**, web/sites/default/settings*.php, neue web/{themes,modules}/custom/<neu>/-Verzeichnisse, docs/adr/**/*.html.
Skill: drupal-config-workflow + solcom-adr-workflow
drupal-test-coverage-reviewer
Test-Coverage gegen CLAUDE.md-Testing-Requirements: Security-Fixes brauchen Access-Control-Tests, Bug-Fixes brauchen Reproduktions-Tests, neue Features brauchen happy-path + error + edge-cases. Prüft Test-Counterpart-Existenz, Test-Typ-Wahl (Unit/Kernel/Functional/FunctionalJS) und Assertion-Qualität — nicht Code-Style.
Triggers: web/modules/custom/**/*.{php,module,install}, web/modules/custom/**/src/**/*.php, web/themes/custom/byte_theme/components/**/*.{twig,yml}, plus neue Test-Files unter web/{modules,themes}/custom/**/tests/**/*.php.
Skill: drupal-testing + CLAUDE.md-Testing-Requirements
drupal-security-sentinel
Security-Audit für Custom-PHP + Twig: XSS (|raw, Markup::create(), {% autoescape false %}), SQL-Injection (db_query() ohne Placeholder), CSRF/Access-Control (Routen ohne _permission/_access), unsichere API-Calls (eval/exec, file_get_contents auf externe URLs), hardcoded Secrets, OWASP Top 10. Eigene Achse — überlappt nicht mit Code-Style oder Performance.
Triggers: Manuell vor Deployments oder bei Auth-/Permission-/REST-/Form-API-Touches. Generischer System-Prompt ohne Glob-Trigger.
Skill: Drupal Security Best Practices (Prompt-intern, kein Skill-File)
drupal-performance-oracle
Performance-Audit: N+1-Queries (::load() in Loops statt ::loadMultiple()), fehlende #cache-Metadata, falsche Entity-Loading-Pattern, Render-Bottlenecks (kein #lazy_builder für teure/personalisierte Elemente), Views-Performance (Pager, Relationships, Aggregation), Index-Usage in Queries.
Triggers: Manuell vor Performance-Reviews oder bei großen Entity-/Query-/Views-Touches. Generischer System-Prompt ohne Glob-Trigger.
Skill: Drupal Performance Best Practices (Prompt-intern, kein Skill-File)

Sonderfall: solcom-figma-reviewer

Vergleicht eine Figma-Frame-Spec Komponente für Komponente mit der gebauten Twig-SDC-Implementation (Layout, Spacing, Farben, Typografie, Variants, Content-Struktur). Manuell getriggert via Task-Tool — keine Glob-Auswahl, weil der Diff allein nicht reicht: der Reviewer braucht die Figma-URL plus Figma-MCP-Zugriff.

Trigger-Phrasen: „Figma-Diff", „Figma-Compliance-Check", „Figma vs Implementation", „Figma-Parity", „Visual-Compliance vs Figma". Read-only — produziert ein JSON-Komponenten-Diff-Report, schreibt nie UI-Code.

Orchestration via /solcom-review

Der Skill solcom-review ist der manuelle in-session-Einstieg für PR-Reviews auf zwei Achsen:

  1. Standards — CLAUDE.md, byte_theme/AGENTS.md, ADRs, Wiki-Pages, agent-docs und die Diff-time-Reviewer als Rule-Korpora.
  2. Spec — Jira-Story (F-XXX / P2503-XX aus Commits + Branch-Name) plus passende HTML-Docs unter docs/prds/, docs/plans/, docs/brainstorms/.

Zwei Input-Modi: git-Fixed-Point (/solcom-review main, SHA, Branch) oder Azure-DevOps-PR-URL (REST-API holt Source/Target/Description/Linked-Work-Items). --persist ist Default — Report wird nach docs/reports/ geschrieben mit LOG- und INDEX-Update.

Drei Review-Stages stehen nebeneinander: Decision-time (customer-lens-reviewer, vor Code), Diff-time (7 Reviewer + Figma-Reviewer, in-session via /solcom-review), Cloud-Post-PR (PR-Agent, siehe ADR-0021). Keine Stage ersetzt eine andere. Security- und Performance-Reviewer haben keinen Glob-Trigger und werden manuell vor Deployments / Perf-Reviews aufgerufen.

Konventionen für alle Reviewer