Entwickler automatisiert Flutter-Release-Checks mit vier Claude Code Skills
Statt einer mentalen Checkliste vor jedem Release prüfen vier Claude Code Skills nun automatisiert, ob Privacy Manifest, Dependencies, hartcodierte Strings und Zugangsdaten in Ordnung sind. So geraten die Kontrollen auch unter Zeitdruck nicht in Vergessenheit.

Vor einem Release habe ich früher immer dieselbe mentale Checkliste durchlaufen. Ist das Privacy Manifest vorhanden? Ist etwas in der pubspec.yaml verwaist? Hat wieder jemand einen String hartcodiert? Liegt ein Token im Quellcode?
Eine Checkliste im Kopf wird übersprungen, wenn die Deadline naht. Deshalb habe ich meine in vier Claude Code Skills umgewandelt. Jeder davon liest das Projekt, arbeitet eine feste Liste von Prüfungen ab und schreibt einen Markdown-Bericht mit einem Lösungsvorschlag für jeden Befund.
Sicherheit: /owasp-mobile-audit deckt alle zehn Kategorien der OWASP Mobile Top 10 (2024) ab sowie sechs neuere Prüfungen, etwa hardcodierte Secrets, Daten, die in Logs landen, und unsicheres Sharing. Es funktioniert mit Flutter-, nativem Android- und nativem iOS-Code.
Abhängigkeiten: /flutter-dependency-audit untersucht sieben Dinge in Ihren Paketen: veraltete und verwaiste Pakete, Duplikate, die dieselbe Aufgabe erfüllen, Lizenzkonflikte, bekannte CVEs, zu lockere Versionsbeschränkungen und übrig gebliebene dependency overrides.
Lokalisierung: /flutter-localization-audit führt acht Prüfungen durch: hardcodierte Strings, fehlende ARB-Schlüssel, das l10n-Setup, Plural- und Genusformen, RTL-Layouts, länderspezifische Datums- und Zahlenformate, fehlerhafte Interpolation und die Fallback-Locale.
Store-Bereitschaft: /flutter-store-readiness führt acht Prüfungen für den App Store und Google Play durch: das iOS Privacy Manifest, Android Data Safety, Permission-Strings, Screenshots, Altersfreigabe, Metadaten-Grenzwerte sowie die Plattformkonfigurationen wie Signing und targetSdk.
npx skills add NoaTubic/owasp-mobile-audit-skill npx skills add NoaTubic/flutter-dependency-audit-skill npx skills add NoaTubic/flutter-localization-audit-skill npx skills add NoaTubic/flutter-store-readiness-skill Vollbildmodus öffnen Vollbildmodus beenden Anschließend in Claude Code, in Ihrem Flutter-Projekt:
/flutter-store-readiness Vollbildmodus öffnen Vollbildmodus beenden Jeder Skill speichert seinen Bericht im Projektstammverzeichnis, zum Beispiel als store_readiness_report.md. Sie können auch nur die Prüfungen ausführen, die Sie interessieren:
/owasp-mobile-audit M9,AE2 /flutter-dependency-audit security,licenses /flutter-localization-audit hardcoded,arb /flutter-store-readiness ios Vollbildmodus öffnen Vollbildmodus beenden Wie ein Bericht aussieht Jeder Bericht folgt demselben Aufbau. Er beginnt mit einer Zusammenfassung: einer Anzahl je Schweregrad, von Critical bis Info. Der Store-Readiness-Bericht weist jeder Plattform zudem einen Status zu: ready, issues found oder blocking.
Danach werden je Kategorie die Befunde aufgeführt. Ein Befund enthält Datei und Zeile, den Beleg und einen Satz zur Behebung. Der Bericht führt auch auf, was bereits korrekt umgesetzt ist, damit Sie nichts "reparieren", das funktioniert. Er endet mit den drei bis fünf wichtigsten Fixes.
Die Schweregradskala bezieht sich auf Folgen, nicht auf Stil. Beim Store-Readiness-Skill bedeutet Critical eine automatische Ablehnung, etwa ein fehlendes Privacy Manifest oder Debug-Signing bei einem Release-Build. Beim Security-Skill bedeutet Critical etwas direkt Ausnutzbares, etwa ein hardcodiertes Credential oder deaktiviertes TLS.
Es sind Skills, das heißt, Claude übernimmt das Lesen. Das bedeutet, sie verstehen Kontext, den ein Regex nicht erfassen kann, etwa ob ein String nutzergerichtet oder ein Log-Tag ist. Es bedeutet auch, dass ein Befund ein gut begründeter Vorschlag ist, kein Beweis. Prüfen Sie jeden Befund, bevor Sie ihn umsetzen, und binden Sie Ihre echten Scanner und das Store-Review weiter ein. Die Skills sollen offensichtliche Versäumnisse früh aufdecken.
Führen Sie /flutter-store-readiness für Ihre App vor dem nächsten Release aus und beheben Sie zuerst die Critical-Einträge. Die Skills, ihre Prüfungen und die vollständigen Berichtsvorlagen finden Sie hier:
Ein Claude Code Skill, das eine umfassende Sicherheitsprüfung nach der OWASP Mobile Top 10 (2024) für mobile Codebasen durchführt und einen strukturierten, umsetzbaren Markdown-Bericht erstellt.
Es deckt alle 10 offiziellen OWASP-Mobile-Kategorien sowie 6 zusätzliche Checks zu neuen Bedrohungen ab, wobei jeder Befund einem Schweregrad zugeordnet ist und mit konkreten Hinweisen zur Behebung versehen wird.
ID Kategorie M1 Unsachgemäße Verwendung von Credentials M2 Unzureichende Supply-Chain-Sicherheit M3 Unsichere Authentifizierung/Autorisierung M4 Unzureichende Eingabe-/Ausgabevalidierung M5 Unsichere Kommunikation M6 Unzureichende Datenschutzkontrollen M7 Unzureichende Binary-Schutzmaßnahmen M8 Fehlkonfiguration der Sicherheit M9 Unsichere Datenspeicherung M10 Unzureichende Kryptografie AE1 Data Leakage (neu) AE2 Hardcodierte Secrets (neu) AE3 Unsichere Zugriffskontrolle (neu) AE4 Path Overwrite / Path Traversal (neu) AE5 Ungeschützte Endpunkte (neu) AE6 Unsicheres Sharing (neu)
npx skills add NoaTubic/owasp-mobile-audit-skill Vollbildmodus öffnen Vollbildmodus beenden Oder fügen Sie ihn manuell hinzu, indem Sie SKILL.md und references/ in Ihr Claude Code Skills-Verzeichnis kopieren.
Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.
Original (Englisch) anzeigen
Before a release I used to run the same mental checklist. Is the privacy manifest there? Is anything in pubspec.yaml abandoned? Did someone hardcode a string again? Is a token sitting in the source?
A checklist in your head gets skipped when the deadline is close. So I turned mine into four Claude Code skills. Each one reads the project, works through a fixed list of checks, and writes a Markdown report with a fix for every finding.
Security: /owasp-mobile-audit covers all ten OWASP Mobile Top 10 (2024) categories plus six newer checks, like hardcoded secrets, data leaking into logs, and unsafe sharing. It works on Flutter, native Android, and native iOS code.
Dependencies: /flutter-dependency-audit looks at seven things in your packages: outdated and abandoned ones, duplicates that do the same job, license conflicts, known CVEs, loose version constraints, and leftover dependency overrides.
Localization: /flutter-localization-audit runs eight checks: hardcoded strings, missing ARB keys, the l10n setup, plural and gender forms, RTL layouts, locale-aware dates and numbers, broken interpolation, and the fallback locale.
Store readiness: /flutter-store-readiness runs eight checks for App Store and Google Play: the iOS Privacy Manifest, Android Data Safety, permission strings, screenshots, age rating, metadata limits, and the platform configs such as signing and targetSdk.
npx skills add NoaTubic/owasp-mobile-audit-skill npx skills add NoaTubic/flutter-dependency-audit-skill npx skills add NoaTubic/flutter-localization-audit-skill npx skills add NoaTubic/flutter-store-readiness-skill Enter fullscreen mode Exit fullscreen mode Then, inside Claude Code, in your Flutter project:
/flutter-store-readiness Enter fullscreen mode Exit fullscreen mode Each skill saves its report in the project root, for example store_readiness_report.md. You can also run only the checks you care about:
/owasp-mobile-audit M9,AE2 /flutter-dependency-audit security,licenses /flutter-localization-audit hardcoded,arb /flutter-store-readiness ios Enter fullscreen mode Exit fullscreen mode What a report looks like Every report uses the same shape. It opens with a summary: a count per severity, from Critical to Info. The store readiness report also gives each platform a status of ready, issues found, or blocking.
Then each category gets its findings. A finding has the file and line, the evidence, and one sentence on how to fix it. The report also lists what's already done right, so you don't "fix" something that works. It ends with the three to five fixes that matter most.
The severity scale is about consequences, not style. In the store readiness skill, Critical means an automatic rejection, like a missing Privacy Manifest or debug signing on a release build. In the security skill, Critical means something directly exploitable, like a hardcoded credential or disabled TLS.
These are skills, so Claude does the reading. That means they understand context a regex can't, like whether a string is user-facing or a log tag. It also means a finding is a well-argued suggestion, not a proof. Check each one before you act on it, and keep your real scanners and your store review in the loop. The skills are there to catch the obvious misses early.
Run /flutter-store-readiness on your app before the next release and fix the Critical items first. The skills, their checks, and the full report templates are here:
A Claude Code skill that performs a comprehensive OWASP Mobile Top 10 (2024) security audit on mobile codebases and produces a structured, actionable markdown report.
Covers all 10 official OWASP Mobile categories plus 6 additional emerging checks, with each finding mapped to a severity level and concrete remediation advice.
ID Category M1 Improper Credential Usage M2 Inadequate Supply Chain Security M3 Insecure Authentication / Authorization M4 Insufficient Input/Output Validation M5 Insecure Communication M6 Inadequate Privacy Controls M7 Insufficient Binary Protections M8 Security Misconfiguration M9 Insecure Data Storage M10 Insufficient Cryptography AE1 Data Leakage (emerging) AE2 Hardcoded Secrets (emerging) AE3 Insecure Access Control (emerging) AE4 Path Overwrite / Path Traversal (emerging) AE5 Unprotected Endpoints (emerging) AE6 Unsafe Sharing (emerging)
npx skills add NoaTubic/owasp-mobile-audit-skill Enter fullscreen mode Exit fullscreen mode Or add it manually by copying SKILL.md and references/ into your Claude Code skills directory.