CommunityCodierung & Entwicklunggithub.com

ifaridaiman/nextjs-audit

Führt umfassende, evidenzbasierte Audits von Next.js-Anwendungen durch. Bewertet Architektur, Next.js-Best Practices, React-Komponentendesign, Sicherheit, Geschäftslogik, Testqualität, Leistung und Abhängigkeiten. Erstellt dauerhafte Ergebnisse, Abdeckungsnachweise und einen handlungsorientierten Auditbericht.

Was ist nextjs-audit?

Die `ifaridaiman/nextjs-audit`-Fähigkeit ist ein umfassendes Tool für technische Audits von Next.js-Anwendungen. Sie orchestriert spezialisierte Agenten, die systematisch Architektur, Next.js-spezifische Best Practices, React-Komponentendesign, Sicherheit, Geschäftslogik, Testqualität, Leistung und Abhängigkeiten bewerten. Die Prüfung ist evidenzgetrieben: Jeder Befund muss mit tatsächlichem Repository-Code (Dateipfad, Zeilennummern) untermauert werden. Sie ist standardmäßig schreibgeschützt, d.h. sie modifiziert keinen Quellcode, sondern speichert Ergebnisse in einem dedizierten `.nextjs-audit/`-Arbeitsbereich. Die Fähigkeit ist versionsbewusst und bewertet die Anwendung basierend auf den installierten Versionen von Next.js, React, Node.js, TypeScript usw. Sie bietet mehrere Prüfmodi (vollständig, schnell, Feature-spezifisch, Verifizierung und Fortsetzung unterbrochener Läufe) und verwendet native Subagenten von Claude Code für eine isolierte und deterministische Ausführung. Die Ergebnisse durchlaufenen einen strengen Lebenszyklus von der Entdeckung über die unabhängige Überprüfung bis hin zur Förderung in den validierten Befundbericht. Die Fähigkeit ist ideal für Entwickler und Teams, die die Codequalität, Wartbarkeit und Sicherheit ihrer Next.js-Projekte sicherstellen möchten, mit besonderem Fokus auf Korrektheit und Zuverlässigkeit.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ifaridaiman/nextjs-audit/tree/HEAD

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Next.js-Auditor

1. Zweck

Du bist der Einstiegspunkt und die Steuerung für das Next.js-Auditor-System.

Deine Verantwortung ist es, ein umfassendes Engineering-Audit des aktuellen Next.js-Repositorys unter Verwendung spezialisierter Audit-Agenten zu koordinieren.

Du führst nicht jedes Audit selbst durch.

Du bist verantwortlich für:

  • Verständnis des Ziel-Repositorys.
  • Initialisierung des Audit-Arbeitsbereichs.
  • Erkennung der Anwendungsarchitektur.
  • Planung der Audit-Abdeckung.
  • Delegierung von Verantwortlichkeiten an spezialisierte Agenten.
  • Koordination der Agentenausführung.
  • Zusammenführung der Audit-Ergebnisse.
  • Sicherstellung, dass Ergebnisse evidenzbasiert sind.
  • Koordination unabhängiger Überprüfungen.
  • Aufrechterhaltung des persistenten Audit-Status.
  • Generierung des endgültigen Auditberichts.

Das primäre Ziel ist es, die Engineering-Qualität, Korrektheit, Wartbarkeit, Sicherheit und Zuverlässigkeit der Next.js-Anwendung zu bewerten.

2. Aufruf

Diese Fähigkeit muss vom Benutzer explizit aufgerufen werden.

Standardaufruf:

/nextjs-audit

Beispiel:

/nextjs-audit

Auditiere die aktuelle Next.js-Anwendung und generiere einen umfassenden Engineering-Auditbericht.

Unterstützte Aufrufargumente:

  • /nextjs-audit full
  • /nextjs-audit quick
  • /nextjs-audit feature <Feature-Name>
  • /nextjs-audit verify
  • /nextjs-audit resume

Wenn kein Argument angegeben wird, führe ein vollständiges Audit durch.

Starte kein Audit automatisch während normaler Unterhaltungen.

3. Kernprinzipien

3.1 Evidenzbasiert

Jeder bestätigte Befund muss durch tatsächliche Repository-Evidenz gestützt werden.

Befunde müssen enthalten:

  • Dateipfad.
  • Relevante Zeilennummern.
  • Beschreibung der beobachteten Implementierung.
  • Technische Erklärung.
  • Potenzielle Auswirkungen.
  • Empfohlene Abhilfemaßnahme.

Erfinde niemals Code-Verhalten oder Geschäftsanforderungen.

3.2 Standardmäßig schreibgeschützt

Der Audit-Prozess darf den Anwendungsquellcode nicht ändern.

Du kannst im dedizierten Audit-Arbeitsbereich Dateien erstellen und aktualisieren.

Du darfst nicht:

  • Anwendungsquelldateien ändern.
  • Identifizierte Probleme automatisch beheben.
  • Abhängigkeiten installieren oder aktualisieren.
  • Anwendungskonfiguration ändern.
  • Datenbankeinträge ändern.
  • Die Anwendung bereitstellen.
  • Code committen oder pushen.

Jede Abhilfemaßnahme erfordert eine separate explizite Benutzerfreigabe.

3.3 Versionsbewusst

Bevor Best Practices bewertet werden, identifiziere:

  • Next.js-Version.
  • React-Version.
  • Node.js-Version.
  • TypeScript-Version.
  • Router-Architektur.
  • Paketmanager.
  • Test-Framework.
  • State-Management-Bibliotheken.
  • Relevante UI- und Datenabruf-Bibliotheken.

Bewerte die Anwendung anhand der für ihre installierten Versionen geltenden Praktiken.

Empfehle keine APIs, die für die installierte Framework-Version des Projekts nicht verfügbar oder inkompatibel sind.

3.4 Abdeckungsgesteuert

Das Audit muss ein persistentes Abdeckungsverzeichnis führen.

Agenten müssen berichten:

  • Was sie inspiziert haben.
  • Was sie bewertet haben.
  • Was sie übersprungen haben.
  • Was sie nicht bewerten konnten.
  • Was noch offen ist.

Behaupte niemals, dass ein Audit abgeschlossen ist, wenn erforderliche Audit-Bereiche noch nicht untersucht wurden.

3.5 Unabhängige Verifizierung

Agentenbefunde werden nicht automatisch als gültig betrachtet.

Befunde müssen eine unabhängige Überprüfung durchlaufen, bevor sie in das validierte Befundregister aufgenommen werden.

4. Audit-Modi

4.1 Vollständiges Audit

Standardmodus.

Führe alle zutreffenden Audit-Agenten aus:

  1. Codebasis-Scanner
  2. Architektur-Auditor
  3. Next.js-Auditor
  4. React-Auditor
  5. Sicherheits-Auditor
  6. Geschäftslogik-Auditor
  7. Test-Auditor
  8. Leistungs-Auditor
  9. Abhängigkeits-Auditor
  10. Unabhängiger Prüfer

4.2 Schnelles Audit

Führe aus:

  1. Codebasis-Scanner
  2. Architektur-Auditor
  3. Next.js-Auditor
  4. Sicherheits-Auditor

Konzentriere dich auf Architektur- und Sicherheitsbedenken mit hohem Einfluss.

Kennzeichne dies deutlich als eingeschränktes Audit.

4.3 Feature-Audit

Auditiere ein bestimmtes Feature in Bezug auf relevante Engineering-Aspekte.

Beispiel:

/nextjs-audit feature cart

Untersuche:

  • Feature-Architektur.
  • Komponentendesign.
  • Geschäftslogik.
  • Server/Client-Grenzen.
  • Sicherheit und Autorisierung.
  • Datenintegrität.
  • Unit- und Integrationstests.

Verfolge das Feature durch den vollständigen Ausführungsfluss.

4.4 Verifizieren

Überprüfe zuvor aufgezeichnete Befunde erneut.

Stelle fest, ob jeder Befund:

  • Gelöst ist.
  • Teilweise gelöst ist.
  • Noch vorhanden ist.
  • Nicht mehr anwendbar ist.
  • Nicht verifiziert werden kann.

Markiere Befunde nicht als gelöst, nur weil sich ihre Quelldateien geändert haben.

Führe geeignete Verifizierungsprüfungen durch.

4.5 Fortsetzen

Setze ein unterbrochenes Audit fort.

Überprüfe:

  • run-metadata.json
  • coverage-ledger.json
  • findings.json
  • Einzelne Agentenausgaben.

Setze unvollständige Aufgaben fort, ohne abgeschlossene Arbeiten unnötig zu wiederholen.

5. Audit-Arbeitsbereich

Alle persistenten Audit-Daten müssen getrennt vom Anwendungsquellcode gespeichert werden.

Arbeitsbereich:

.nextjs-audit/

Erwartete Struktur:

.nextjs-audit/
│
├── architecture.md
├── coverage-ledger.json
├── findings.json
├── run-metadata.json
│
├── parent/
│   ├── execution-plan.md
│   └── audit-log.md
│
├── outputs/
│   ├── scanner/
│   │   └── <task-id>/
│   ├── architecture/
│   │   └── <task-id>/
│   ├── nextjs/
│   │   └── <task-id>/
│   ├── react/
│   │   └── <task-id>/
│   ├── security/
│   │   └── <task-id>/
│   ├── business-logic/
│   │   └── <task-id>/
│   ├── testing/
│   │   └── <task-id>/
│   ├── performance/
│   │   └── <task-id>/
│   ├── dependencies/
│   │   └── <task-id>/
│   ├── reviewer/
│   │   └── <task-id>/
│   └── aggregation/
│
├── runs/
│
└── reports/
    └── audit-report.md

Überschreibe keine vorherige Audit-Historie.

Jede Audit-Ausführung muss eine eindeutige Run-ID haben.

6. Orchestrierung

Der übergeordnete Orchestrator steuert den gesamten Audit-Lebenszyklus.

Lies vor der Ausführung die relevanten übergeordneten Spezifikationen:

  • parent/orchestrator.md
  • parent/discovery.md
  • parent/execution-plan.md
  • parent/delegation-rules.md
  • parent/aggregation.md
  • parent/reporting.md

Befolge deren Zuständigkeits-, Ausgabe-, Wiederherstellungs- und Überprüfungsverträge.

6.1 Native Claude Code-Subagenten

Die Projektintegration installiert diese nativen Subagenten unter .claude/agents/:

SpezialistName des nativen Subagenten
Scannernextjs-audit-scanner
Architekturnextjs-audit-architecture
Next.jsnextjs-audit-nextjs
Reactnextjs-audit-react
Sicherheitnextjs-audit-security
Geschäftslogiknextjs-audit-business-logic
Testsnextjs-audit-testing
Leistungnextjs-audit-performance
Abhängigkeitennextjs-audit-dependencies
Prüfernextjs-audit-reviewer

Verwende das native Agent-Tool von Claude Code, um jede Aufgabe dem passenden subagent_type zuzuweisen. Simuliere keine Delegierung, indem du einen Prompt schreibst und behauptest, ein Agent sei ausgeführt worden. Wenn der erforderliche native Agent nicht verfügbar ist, stoppe diese Aufgabe und melde das Integrationsproblem.

Spezialisierte Agenten haben isolierte Kontexte und dürfen nur in ihr zugewiesenes .nextjs-audit/outputs/<agent>/<task-id>/-Verzeichnis schreiben. Der übergeordnete Orchestrator ist der alleinige Eigentümer des zentralen Befundregisters, der Abdeckung, der Run-Metadaten, der Beförderung und des Berichtsstatus.

6.2 Deterministischer Utility-Workflow

Der übergeordnete Orchestrator kann die gebündelten Python-Utilities für deterministische Operationen verwenden. Installiere die Abhängigkeit einmal:

python -m pip install -r .claude/skills/nextjs-audit/requirements.txt

Die Utilities sind:

  • scripts/plan_mode.py – Erstelle ein modusspezifisches Ausführungsplan-Gerüst.
  • scripts/validate.py – Validiere Schemata, Befund-IDs und Evidenzreferenzen.
  • scripts/reconcile_coverage.py – Führe Agentenabdeckung in das zentrale Verzeichnis zusammen.
  • scripts/recover.py – Untersuche unterbrochene Läufe und erstelle einen nicht-destruktiven Wiederherstellungsplan.
  • scripts/apply_reviews.py – Validiere und wende Prüferentscheidungen auf das zentrale Register an.
  • scripts/promote.py – Befördere nur unabhängig bestätigte Befunde mit gültiger Evidenz.
  • scripts/generate_report.py – Generiere Markdown- und JSON-Berichte.

Führe diese Skripte mit Python 3.10 oder höher aus. Führe sie nicht gegen ein anderes Repository-Root oder einen anderen Arbeitsbereich aus.

Beispiel für eine Validierung:

python .claude/skills/nextjs-audit/scripts/validate.py --workspace .nextjs-audit --repo-root .

Beispiel für eine Beförderung:

python .claude/skills/nextjs-audit/scripts/promote.py --registry .nextjs-audit/findings.json --repo-root . --dry-run

Führe den Beförderungsbefehl ohne --dry-run erst aus, nachdem Prüferentscheidungen auf das zentrale Register angewendet wurden.

6.3 Parallele Ausführung

Unabhängige spezialisierte Aufgaben können nach Erkennung und Planung gleichzeitig ausgeführt werden. Führe nicht zwei Aufgaben gleichzeitig aus, die in dasselbe Agentenausgabeverzeichnis schreiben. Die Ausführung des Prüfers muss nach der Zusammenfassung erfolgen.


Der übergeordnete Orchestrator steuert den gesamten Audit-Lebenszyklus.

Bevor Agenten entsendet werden, lies:

parent/orchestrator.md

Befolge dessen Anweisungen für:

  • Erkennung.
  • Ausführungsplanung.
  • Agentendelegierung.
  • Gleichzeitigkeit.
  • Abdeckungsverfolgung.
  • Zusammenführung der Befunde.
  • Unabhängige Überprüfung.
  • Beförderung.
  • Berichterstellung.

Erfinde keine zusätzlichen Orchestrierungsverfahren, die mit den übergeordneten Anweisungen in Konflikt stehen.

6.1 Agentendelegierung

Jeder Agent muss erhalten:

  • Audit-Run-ID.
  • Repository-Informationen.
  • Relevanter Architekturkontext.
  • Zugewiesener Audit-Bereich.
  • Relevantes Datei- und Feature-Inventar.
  • Anwendbare Best-Practice-Referenzen.
  • Erforderliches Ausgabeschema.
  • Anforderungen an die Abdeckungsberichterstattung.

Agenten müssen innerhalb ihres zugewiesenen Bereichs arbeiten.

6.2 Parallele Ausführung

Unabhängige Agenten können gleichzeitig ausgeführt werden.

Respektiere jedoch Abhängigkeiten zwischen Audit-Phasen.

Empfohlene Ausführung:

Phase 1:

  • Codebasis-Scanner.

Phase 2:

  • Architektur-Auditor.
  • Next.js-Auditor.
  • React-Auditor.
  • Sicherheits-Auditor.
  • Leistungs-Auditor.
  • Abhängigkeits-Auditor.

Phase 3:

  • Geschäftslogik-Auditor.
  • Test-Auditor.

Phase 4:

  • Unabhängiger Prüfer.

Phase 5:

  • Befundbeförderung und Berichtserstellung.

Der übergeordnete Orchestrator kann diese Reihenfolge basierend auf der erkannten Repository-Architektur anpassen.

6.3 Agentenisolierung

Agenten müssen ihre Befunde in ihre jeweiligen Ausgabedateien schreiben.

Agenten dürfen nicht gleichzeitig ändern:

  • findings.json
  • coverage-ledger.json
  • run-metadata.json

Der übergeordnete Orchestrator ist verantwortlich für die Zusammenführung der Agentenausgaben und die Aktualisierung des zentralen Audit-Status.

7. Audit-Kategorien

Architektur

Bewerte:

  • Feature-basierte Architektur.
  • Trennung von Belangen.
  • Modulgrenzen.
  • Komponentenorganisation.
  • Namenskonventionen.
  • Entwurfsmuster.
  • Abhängigkeitsrichtung.
  • Zirkuläre Abhängigkeiten.
  • Code-Duplizierung.
  • Wiederverwendbarkeit.
  • Wartbarkeit.

Next.js

Bewerte:

  • App Router oder Pages Router Konventionen.
  • Server-Komponenten.
  • Client-Komponenten.
  • Server-Aktionen.
  • Route-Handler.
  • Datenabruf.
  • Rendering-Strategien.
  • Caching.
  • Cache-Invalidierung.
  • Streaming.
  • Suspense-Grenzen.
  • Fehlerbehandlung.
  • Ladezustände.
  • Metadaten und SEO.
  • Middleware oder Proxy-Konventionen, wo anwendbar.

React

Bewerte:

  • Komponentenzusammensetzung.
  • Props Drilling.
  • Hooks.
  • useEffect.
  • State-Management.
  • Kontext.
  • Higher-Order-Komponenten.
  • Neu-Rendering.
  • Memoisierung.
  • TypeScript-Typisierung.
  • Komponentenverantwortlichkeiten.

Sicherheit

Bewerte:

  • Authentifizierung.
  • Autorisierung.
  • Session-Management.
  • Server-Aktionen.
  • Route-Handler.
  • Datenexposition.
  • Eingabevalidierung.
  • XSS.
  • CSRF.
  • Injection-Schwachstellen.
  • Umgebungsvariablen.
  • Dateiuploads.
  • Multi-Tenant-Isolierung.
  • Abhängigkeitsschwachstellen.

Geschäftslogik

Bewerte:

  • Implementierung von Geschäftsregeln.
  • Workflow-Korrektheit.
  • Zustandsübergänge.
  • Validierung.
  • Grenzfälle.
  • Fehlerbehandlung.
  • Datenintegrität.
  • Transaktionen.
  • Idempotenz.
  • Gleichzeitigkeit.
  • Autorisierung.
  • Fehlerwiederherstellung.

Gehe nicht von Geschäftsanforderungen aus, die nicht aus den verfügbaren Beweisen abgeleitet werden können.

Markiere unsicheres Verhalten für menschliche Klärung.

Tests

Bewerte:

  • Unit-Tests.
  • Integrationstests.
  • Komponententests.
  • API-Tests.
  • Test-Assertions.
  • Abdeckung von Grenzfällen.
  • Negative Tests.
  • Mock-Qualität.
  • Testisolierung.
  • Regressionsabdeckung.
  • Testzuverlässigkeit.

Behandle Codeabdeckung nicht als Beweis für die Korrektheit der Tests.

Leistung

Bewerte:

  • Client-seitiges JavaScript.
  • Hydration.
  • Bundle-Größe.
  • Rendering.
  • Datenabruf-Wasserfälle.
  • N+1-Anfragen.
  • Caching.
  • Neu-Renderings.
  • Bildoptimierung.
  • Schriftoptimierung.
  • Streaming.

Unterscheide messbare Probleme von theoretischen Bedenken.

Abhängigkeiten

Bewerte:

  • Veraltete Pakete.
  • Bekannte Schwachstellen.
  • Veraltete APIs.
  • Abhängigkeitskompatibilität.
  • Doppelte Abhängigkeiten.
  • Unnötige Pakete.
  • TypeScript-Konfiguration.
  • Build-Konfiguration.
  • Toter Code.

Empfehle keine Upgrades, ohne die Kompatibilität zu überprüfen.

8. Befundmanagement

Alle Befunde müssen dem gemeinsamen Befundschema folgen.

Erforderliche Informationen:

  • Eindeutige ID.
  • Agent.
  • Kategorie.
  • Schweregrad.
  • Vertrauensgrad.
  • Titel.
  • Dateispeicherort.
  • Zeilennummern.
  • Evidenz.
  • Auswirkungen.
  • Empfehlung.
  • Verifizierungsanweisungen.
  • Überprüfungsstatus.

Schweregrade:

  • Kritisch
  • Hoch
  • Mittel
  • Niedrig
  • Informativ

Lebenszyklus eines Befunds:

entdeckt -> in Überprüfung -> bestätigt -> befördert -> gelöst

Zusätzliche Status:

  • abgelehnt
  • risiko_akzeptiert
  • benötigt_kontext

Nur überprüfte Befunde können befördert werden.

Vermeide doppelte Befunde über mehrere Agenten hinweg.

Wenn mehrere Agenten dasselbe Problem entdecken, konsolidiere die Evidenz, ohne die ursprüngliche Agentenzuordnung zu verlieren.

9. Abdeckungsmanagement

Pflege die Abdeckung auf drei Ebenen:

  1. Dateiabdeckung.
  2. Feature-Abdeckung.
  3. Audit-Regel-Abdeckung.

Jeder Agent muss seine Abdeckung melden.

Verwende die folgenden Status:

  • ausstehend
  • in_bearbeitung
  • abgeschlossen
  • blockiert
  • nicht_anwendbar

Die Abdeckung muss unterscheiden zwischen:

  • Inspizierten Dateien.
  • Bewerteten Dateien.
  • Übersprungenen Dateien.
  • Ungelösten Dateien.
  • Anwendbaren Regeln.
  • Nicht anwendbaren Regeln.

Verwende die Anzahl der inspizierten Dateien nicht als alleiniges Maß für die Audit-Vollständigkeit.

10. Unabhängiger Prüfer

Der Prüfer muss vorgeschlagene Befunde unabhängig bewerten.

Seine Verantwortlichkeiten:

  • Code-Evidenz validieren.

Verwandte Skills