Werkzeuge · KI-Integration
Der Skill, der Claude Code
zwingt, mit der Antwort anzufangen.
EN Read in English
i-have-adhd ist
ein Skill mit über 47.000 Sternen auf GitHub, der Antworten von Coding-Agenten für ADHS-Leser
umformt: Aktion zuerst, nummerierte Schritte, kein „Hope this helps!" am Ende. Ich habe die zehn
Regeln aus der echten SKILL.md wörtlich auf einen echten PlantWiz-Bugfix angewendet
und gegen den eingebauten Claude-Code-Standardstil gemessen.
curl geladenen SKILL.md aus dem Repository, wörtlich befolgt. Die
fachliche Lösung ist in beiden Antworten identisch, damit der Vergleich auf die Form zielt, nicht
auf unterschiedliche Lösungsansätze. Wer die Grundlage dieses Beitrags selbst nachvollziehen will,
findet die zehn Regeln vollständig in der SKILL.md im verlinkten Repository.
Die Aufgabe
backend/src/routes/diseaseAnalyses.ts:117 speichert bei jeder Krankheitsdiagnose das
komplette Base64-Bild in der Spalte image_data der Tabelle
plant_disease_analyses, bis zu rund 8 MB pro Zeile
(MAX_IMAGE_CHARS = 8_000_000, Zeile 15). Auftrag an den Agenten:
„Speichere das Bild nicht mehr in der Datenbank, lade es stattdessen in den bestehenden
S3-Bucket hoch und speichere nur die URL."
Zwei Stile, eine Aufgabe
Proaktiv (Default)
Claude Code, eingebauter Standardstil · „hilft, Software-Engineering-Aufgaben effizient abzuschließen"
Erklärt die Ursache, setzt um, fasst danach zusammen, moderate Länge, keine besondere Formatierung.
Ich schaue mir die Route POST /api/disease-analyses/analyze an: Die Spalte
image_data speichert das komplette Base64-Bild dauerhaft in der Tabelle
plant_disease_analyses, bis zu rund 8 MB pro Eintrag. Die Tabelle wächst
dadurch schnell auf mehrere Gigabyte, und jede Abfrage ohne Spaltenauswahl
lädt diese Bilddaten unnötig mit.
Ich lege eine neue Spalte image_url an, lade das Bild stattdessen in einen
S3-kompatiblen Bucket hoch und speichere nur die URL in der Datenbank. Die
Spalte image_data entfernen wir aus dem INSERT, der Upload passiert vor
dem Aufruf von Plant.id.
[... Code ...]
Ich habe die Route so umgebaut, dass sie das Bild vor dem Aufruf von
Plant.id in den Bucket lädt und nur die URL in image_url ablegt. Bestehende
Zeilen mit vollem image_data bleiben unverändert, eine Migration für den
Altbestand wäre ein separater Schritt.
i-have-adhd
GitHub ayghri/i-have-adhd, Regeln 1–3 und 6–10 der SKILL.md, wörtlich befolgt
Aktion in Zeile eins, nummerierte Schritte, konkreter Zeitrahmen, ein einziger nächster Schritt am Ende, keine Vorrede und kein Recap.
Add column image_url, upload the image to the bucket, drop the base64
write.
1. Add image_url VARCHAR(500) to plant_disease_analyses (migration
script)
2. In diseaseAnalyses.ts:80, before the Plant.id call: upload image_data
to the bucket, get back a URL
3. Replace image_data with image_url in the INSERT at line 117
4. Remove image_data from the response JSON at line 126
[... Code ...]
Table stops growing per-row by ~8 MB. About 20 minutes, migration for
existing rows not included.
Next: run the migration on a copy of the table, confirm row count matches
before dropping the old column.
Gemessen
Fachlich ist die Lösung in beiden Antworten identisch, deshalb zählt die folgende Tabelle den Fließtext getrennt vom Codeblock, sowie zusätzlich beides zusammen als Gesamtlänge der Antwort:
| Stil | Fließtext (Zeichen) | Fließtext (Wörter) |
|---|---|---|
| Proaktiv (Default) | 842 | 127 |
| i-have-adhd | 581 | 93 |
Fließtext-Länge je Stil
Nur der Text, ohne Codeblock. Beide Zahlen mit wc -m an den tatsächlich
geschriebenen Antworten gemessen.
31 % weniger Zeichen im Fließtext, aber der Unterschied liegt nicht nur an der Kürze: Die
Default-Antwort erklärt die Ursache in Prosa, bevor der Plan kommt, und fasst am Ende in Prosa
zusammen. Die i-have-adhd-Antwort ersetzt beide Prosa-Blöcke durch eine nummerierte Liste mit
Datei- und Zeilenangaben und einen einzigen Satz mit Zeitschätzung. Wer nur die erste und die
letzte Zeile liest, kennt bei i-have-adhd trotzdem die nächste Handlung und den aktuellen Stand,
genau die Prüfung, die Regel 10 der SKILL.md selbst vorschlägt.
SKILL.md hat 7.207 Zeichen
(per curl vom Repository geladen, wc -m gemessen), umgerechnet grob
1.700 bis 1.800 Tokens bei jedem Aufruf. Für eine einzelne kurze Antwort wie in diesem Test ist
das mehr, als die knappere Antwort selbst einspart, 261 Zeichen. Der Skill zahlt sich erst über
mehrere Antworten in derselben Sitzung aus, in der die Regel einmal geladen bleibt, und nur wenn
die Aufgaben tatsächlich mehrschrittig genug sind, dass die nummerierten Listen und das
wiederholte Festhalten des Stands etwas beitragen.
Was der Skill besser trifft als reine Kürze
Der eingebaute Concise-Stil von Claude Code kürzt ebenfalls, aber anders: Er lässt Übergänge weg, ohne die Struktur der Antwort zu verändern. i-have-adhd geht einen Schritt weiter, weil seine Regeln nicht nur „weniger Wörter" verlangen, sondern eine bestimmte Reihenfolge und Form: die erste Zeile ist ausführbar (Regel 1), jeder Schritt bekommt eine Nummer und eine Zeilenangabe (Regel 2), am Ende steht genau eine Handlung, die unter zwei Minuten dauert (Regel 3). Das trifft einen anderen Bedarf als reine Kompression, nämlich: Wo genau geht es weiter, ohne dass der Leser den ganzen Text noch einmal durchsuchen muss. In meinem eigenen Vergleich der eingebauten Ausgabestile war genau das die Lücke zwischen Concise (kürzer) und Explanatory/Learning (mehr Struktur, aber mehr Text) — i-have-adhd zielt auf mehr Struktur bei weniger Text.
Am nächsten kommt i-have-adhd der Skill Caveman aus demselben früheren Vergleich, ebenfalls
separat installiert, ebenfalls mit eigener SKILL.md. Der Mechanismus ist aber ein
anderer: Caveman kürzt auf Satzebene, Artikel und Füllwörter weg, Fragmente statt ganzer Sätze,
Zahlen und Fehlermeldungen bleiben wörtlich stehen. i-have-adhd kürzt kaum auf Satzebene, es
ändert die Reihenfolge und zwingt eine Liste statt Prosa. Beide zusammen wären redundant, nicht
ergänzend, weil beide dieselbe Zeile umschreiben würden, nur nach unterschiedlichen Regeln.
Wann welcher Stil
Einzelne, kurze Aufgaben ohne viele Schritte
Der eingebaute Concise-Stil reicht, kein Zusatzaufwand für eine Regel, die bei einem Einzeiler kaum greift.
Mehrschrittige Aufgaben über mehrere Antworten hinweg
i-have-adhd trägt dort etwas bei, wo Regel 5 greift, das Festhalten von „Schritt 3 von 5", etwas, das der Standardstil und Concise beide nicht von sich aus tun.
Erklärbedarf, Architekturentscheidungen
Regel 5 der SKILL.md selbst nennt die Ausnahme: Bei „erkläre" oder
„führe mich durch" darf die Antwort so lang werden, wie das Thema es braucht, dann eher
Explanatory oder Learning.
SKILL.md ist eine grobe Schätzung (Zeichen durch vier), keine gemessene Tokenisierung.
Die Kernaussage halte ich trotzdem für belastbar: i-have-adhd verändert die Form der Antwort
stärker als reine Kürzung es tut, zahlt dafür aber einen Ladeaufwand, der sich erst über mehrere
Antworten in derselben Sitzung lohnt.
Welcher Ausgabestil für Ihr Team passt?
Ich richte Claude Code in Entwicklerteams ein, inklusive Skills und der Frage, welcher Ausgabestil zu welcher Aufgabe passt. 30 Minuten Erstgespräch, kostenlos.