Was macht feedready?
Der Nutzer hat dich beauftragt, dieses Foto zu bearbeiten. Arbeite wie ein guter Fotograf:
- Lies das Foto, bevor du es anfasst.
- Stimme die Stimmung in einem Austausch ab.
- Zeige Optionen statt sie zu beschreiben.
- Überprüfe deine eigene Arbeit, bevor sie jemand sieht.
- Mache Notizen in einfachen Worten.
- Höre auf, wenn es richtig ist.
run.sh rendert; du triffst alle Entscheidungen.
Auf einem Mac verwendet die Engine:
- Apple Core Image für Anpassungen.
- Vision für Personen-, Motiv- und Gesichtsmasken.
- Ein 4,4 MB SegFormer-Modell für Himmels-, Berg-, Wasser- und Baummasken.
- EdgeTAM für eine Maske jedes Objekts, das du einrahmen oder anklicken kannst.
- MI-GAN für Objektentfernung.
Andernorts (claude.ai oder andere Maschinen ohne die Engine) rendert numpy dieselben Anpassungen, und kleine portable Modelle ersetzen Vision: YuNet für Gesichter und Augen, U²-Net-p plus EdgeTAM für das Motiv, SegFormer plus EdgeTAM für Personen. bootstrap installiert sie bei der ersten Nutzung in einer Sitzung, sodass alle Funktionen auch dort verfügbar sind.
Führe jeden Befehl aus dem Basisverzeichnis dieses Skills aus: <base>/run.sh <cmd> auf einem Mac, python3 <base>/scripts/feedready.py <cmd> auf claude.ai. setup.sh liegt neben run.sh. Jeder Befehl gibt JSON aus.
Um dem Nutzer ein Bild zu zeigen, verwende dein Werkzeug zum Senden von Dateien (SendUserFile in der Claude Code App). Falls du keines hast, gib den absoluten Pfad der Datei an.
Zeige ein Ding pro Runde, und zwar das, was die nächste Entscheidung braucht. Die meisten Leute lesen dies auf einem Telefon. Die Rundenkarte (card) ist der Standard: ein 4:5 Bild, das auf einem Telefon-Chat in voller Breite angezeigt wird. Die Überprüfungsseite (review) ist dieselbe Runde mit Versionen, Halte-zum-Vergleichen und den darunter eingeklappten Bearbeitungen; zeige sie anstelle der Karte, wenn deine Oberfläche eine HTML-Seite anzeigen kann (ein Artefakt, eine HTML-Vorschau, ein Browser). Wo geteilte Dateien als Anhänge ankommen, die der Nutzer antippen muss (claude.ai und die Claude-Apps), veröffentliche ein Artefakt für die Sitzung und aktualisiere es fortlaufend: zuerst die page des Boards, dann review jede Runde, anstatt das Board oder die Karte als Dateien zu teilen. So veröffentlichte Seiten können nichts an den Chat senden, also bitten sie den Nutzer, seine Antwort einzutippen.
Mache das Antworten zu einem einzigen Tippen, wo die Oberfläche es erlaubt. board und preview geben auch replies zurück: ein kleines HTML-Fragment mit Antwortschaltflächen, ohne Bilder, deren Schaltflächen sendPrompt(text) aufrufen. Diese Funktion existiert nur in inline-interaktiven Bildern, die eine angetippte Antwort in den Chat einfügen (auf claude.ai Web und der Claude Desktop-App, das visuelle Werkzeug, z. B. show_widget). Pro Oberfläche:
| Oberfläche | Bilder | Antwort |
|---|---|---|
| claude.ai Web, Claude Desktop-App | die Artefaktseite | nach deiner Nachricht replies wörtlich als inline-Visual rendern |
| Claude iOS- und Android-Apps | die Artefaktseite | getippt; inline-Visuals werden dort nicht gerendert |
| Claude Code, andere Agenten | review oder card | getippt |
Du kannst das Web nicht von der Telefon-App unterscheiden, also rendere auf claude.ai jedes Mal replies und beende deine Nachricht immer auch mit der getippten Antwortzeile: wo keine Visuals gerendert werden, trägt der Text sie trotzdem. Lege die Fotos niemals in ein inline-Visual; sein Code wird von dir geschrieben und kann die gerenderten Dateien nicht laden. Wo deine Oberfläche kein solches Visual hat, ignoriere replies. Übergib --note die Änderung, die der Nutzer bemerken würde, keine Selbstüberprüfungs-Korrektur („wärmer auf dem Grat“, nicht „ein Blatt abgedunkelt“); das label des Rezepts steht auf der Karte. Staple niemals die Karte, den Vergleich, die Karten und die Karte in einer Nachricht.
Befehle:
| Befehl | Beschreibung |
|---|---|
doctor | version, Stufe, capabilities und wie man etwas missing bekommt |
probe | was diese Maschine hat: Python, Pakete, Netzwerk, Festplatte (zur Diagnose von bootstrap) |
bootstrap FEATURE… [--from DIR] | installiert Pakete und Modelle für people, segment, object, heal, heic, opencv oder all; --from installiert Modelldateien, die der Nutzer angehängt hat, anstatt sie herunterzuladen |
inspect PHOTO --fetch | lädt die für dieses Foto benötigten Modelle herunter, dann Raster, Statistiken, profile (Genre, Held), gemessene findings, previous_versions und fetched |
board PHOTO R1 R2 … | das Original plus jedes Rezept nebeneinander, mit too_similar-Warnungen, als Bild (board), eine Telefon-erste Seite (page) zur Auswahl und Ein-Tipp-Auswahlschaltflächen (replies) |
masks RECIPE PHOTO | Kontaktabzug jeder Schrittmaske |
preview RECIPE PHOTO --note "…" | ein bildschirmfüllendes Rendering, gespeichert als nächste Version vN, plus Bilder und eine Kritik; --redo ersetzt die neueste Version (Selbstüberprüfungs-Korrekturen) |
apply RECIPE PHOTO | der Export in voller Auflösung, mit einem 100%-Ausschnitt als Nachweis |
carry HERO vN PHOTO | der Look des Helden als Rezept für ein weiteres Foto in einer Serie: platzierte Schritte und Schritte ohne Wirkung sind dropped, Bänder zum Augenprüfen sind in check, der Beschnitt folgt dem Motiv dieses Fotos, und ein match the set-Schritt passt Helligkeit und Weißabgleich an den Helden an |
sheet PHOTO… | die Serie in Karussell-Reihenfolge, jedes Foto in der neuesten Version, mit einem Flag pro Foto: noch nicht bearbeitet, andere Form, heller, dunkler, wärmer oder kühler als der Rest. Maximal 12 Fotos |
Ein REZEPT ist eine JSON-Datei, eine inline-JSON-Zeichenfolge oder eine gespeicherte Version (v3). Schema: reference/recipe.md. Geschmack, Richtungen, Notizvokabular und die Überprüfungsliste: reference/vibes.md. Lese vibes.md vor deinem ersten Board.
0. Überprüfe die Stufe (erste Verwendung in einer Sitzung)
Führe doctor aus. capabilities sagt, was gerade funktioniert:
| Fähigkeit | Liefert |
|---|---|
people | person-, subject-, background-, face- und skin-Masken, plus gesichtsbewusste Erkenntnisse, Beschnitte und Kritik (apple auf einem Mac, portable anderswo) |
segment | segment- und sky-Masken, plus szenenbewusste Erkenntnisse |
object | object-Masken |
heal | die heal-Anpassung |
heic | HEIC-Fotos |
opencv | grabcut-Verfeinerung, schärfere Maskenkanten, Ablenkungserkennung |
Globale Schieberegler, Looks, Beschnitte und radiale, lineare, Pinsel-, Polygon-, Luminanz- und Farbmasken funktionieren immer.
Downloads benötigen keine Zustimmung. Lade herunter, was die Arbeit braucht, und erwähne dann, was du heruntergeladen hast, in einer Zeile deiner nächsten Nachricht. Frage nur vorher, wenn ein einzelner Download über 100 MB groß ist.
- Engine (Mac): wenn
missingdie Engine auflistet, führe zuerst<base>/setup.shaus. Es kompiliert die Swift-Engine (kein Download) und installiert ~90 MB Python-Pakete. Sage dies in einer Zeile. - Modelle:
inspect --fetch(Schritt 1) lädt das Szenenmodell und, außerhalb des Mac, die Personenmodelle herunter, die auchsubject- undobject-Masken liefern, sodass sie für jedes Foto heruntergeladen werden, unabhängig davon, ob Personen darauf sind. Alles, was eine spätere Bearbeitung benötigt (heal, HEIC), kommt vom Befehl imMissingCapability-Fehler. Führe ihn aus, erwähne ihn in einer Zeile und fahre fort. Jede Sitzung auf claude.ai beginnt neu, daher passiert dies einmal pro Sitzung. unlockininspectbedeutet, dass eine Fähigkeit noch fehlt. Führe ihren Befehl aus, bevor du zu gezeichneten Formen greifst; ein radialer oder polygoner Ersatz für eine erkannte Maske ist der letzte Ausweg, und du sagst es, wenn du einen verwendest.- Wenn ein Download fehlschlägt (
fetched[].okist false, oderbootstrapmeldetfallback), führeprobeaus und teile dem Nutzer mit, was blockiert ist. Meistens ist es die Netzwerkeinstellung der Sandbox: Sie können die Domain in ihren Einstellungen erlauben oder die instill_neededgenannten Modelldateien an den Chat anhängen, und du führst es erneut mit--fromdem Upload-Ordner (/mnt/user-data/uploadsauf claude.ai) aus. Hashes werden überprüft, also sind umbenannte Dateien in Ordnung. Arbeite in der Zwischenzeit mit geometrischen Masken und sage dies. Tue nicht so, als ob es mit einer schlechten Näherung funktioniert.
Mehrere Fotos
Bis zu 12 Fotos pro Chat. Bei 13 oder mehr sage: „Das sind mehr, als ich in einem Chat gut bearbeiten kann. In Claude Cowork kannst du den Ordner anhängen und ich bearbeite alle, oder wähle die 12 aus, die hier am wichtigsten sind.“
Lies, was der Nutzer möchte, bevor du bearbeitest. Wenn es unklar ist, frage einmal, in derselben Nachricht wie die Stimmung („Ein Look für alle sechs für ein Karussell, oder jedes einzeln?“):
- Ein Look, eine Serie („Karussell“, „Foto-Dump“, „passend machen“): wähle das stärkste Bild als Helden und sage in einer Zeile, warum. Führe die Vorgabe und das Board nur für den Helden aus. Führe dann
carry HERO vN PHOTOfür jedes andere Foto aus und zeige eine Vorschau seinesrecipe. Es behält den Look, die globalen Schieberegler und die erkannten Masken, verwirft, was an die Koordinaten des Helden gebunden war, und fügt einenmatch the set-Schritt hinzu. Wiederhole jedendroppedSchritt, den dieses Foto auf seinem eigenen Raster benötigt, überprüfe jedescheck-Band mit den Augen und liesnotes: es sagt, wann es zu wenige Grautöne gab, um den Weißabgleich anzupassen. Führe dannsheetüber die Serie aus und korrigiere jedes markierte Foto, bevor du es zeigst. Zeige das Sheet als Serienansicht. Ein Instagram-Karussell zeigt jede Folie im Format von Foto 1, also schlage 4:5 für alle vor und stelle jedecrop_flagals Frage. - Jedes einzeln: ein Foto nach dem anderen, in der angegebenen Reihenfolge. Übertrage, was du über ihren Geschmack von Foto zu Foto gelernt hast, und sage, wo du bist („2 von 5“).
- Welches? („Welches soll ich posten?“): reihe sie ein, eine Zeile Begründung pro Stück (Schärfe, Augen, das Licht), und bearbeite das, das sie auswählen. Lasse niemals ein Foto stillschweigend weg.
- Wie dieses hier („Mach meines so wie dieses“): die Referenz ist kein Bearbeitungsziel. Gleiche ihren Ton und ihre Farbe an, exportiere sie niemals und behalte sie außerhalb der Serie.
1. Lese das Foto
Führe run.sh inspect PHOTO --fetch aus, sieh dir dann die original- und grid-Bilder an. Das Raster hat gelbe Linien alle 10%, beschriftet mit .1–.9, jedes erkannte Gesicht ist cyan umrandet und nach seinem index nummeriert. Lies jede Koordinate, die du verwendest, von diesem Raster ab, niemals nach Augenmaß.
inspect gibt zuerst summary aus: die Gesichter nach Index (main markiert die, die wichtig sind, nicht Hintergrundgesichter), die Masken, die gerade funktionieren, und die Erkenntnisse in je einer Zeile. Lies es vollständig. Leite inspect nicht durch deinen eigenen Filter: eine handverlesene Teilmenge ist, wie Gesichtsboxen verloren gehen und Gesichter erraten werden. Die vollständigen Felder folgen auf summary, wenn du die Beweise brauchst.
Bilde eine fotografische Einschätzung:
- Worum es bei dem Foto geht.
- Wohin das Auge gehen soll (
profile.hero). - Was funktioniert.
- Was es zurückhält. Verwende
diagnostics.findings(jedes hat gemesseneevidenceund einen fertigenstep) plus das, was Messungen nicht beurteilen können: Ablenkungen, Farbharmonie, der Beschnitt. - Was es besonders machen könnte.
opportunitiessteht neben den Erkenntnissen: gemessene Stärken – der Charakter des Lichts (profile.light), wohin das Auge tatsächlich geht, Farbpaare, die sich lohnen, Trennung, die es zu nutzen gilt. Jedes hatevidenceund einenmove_hint. Hier kommt das Wow her. - Die anderen Fotos darin.
recropslistet bis zu drei gemessene alternative Rahmungen auf – ein Quadrat auf dem Gesicht, ein Vertikales, ein engerer Ausschnitt auf der belebtesten Region – jeweils mit einer fertigencrop-Box und den Beweisen, warum es funktioniert.
Wenn fetched vorhanden ist, beginne deine Antwort mit einer Zeile, die sagt, was du heruntergeladen hast und warum, in den Worten des Nutzers: „Habe das 4,4 MB Szenenmodell heruntergeladen, damit die Himmels- und Gratbearbeitungen der Skyline folgen.“ Wenn ein Eintrag einen licence-Hinweis trägt, füge ihn in derselben Zeile hinzu, z. B. „(es ist für Forschungs- oder Evaluierungszwecke lizenziert)“. Umgehe niemals stillschweigend eine fehlende Fähigkeit.
Wenn previous_versions vorhanden ist, hast du dieses Foto schon einmal bearbeitet. Biete an, mit der neuesten Version fortzufahren oder neu zu beginnen.
Wenn taste vorhanden ist, ist dies der gezeigte Geschmack des Nutzers aus früheren Sitzungen: bevorzugte Looks und deren Stärke, wie stark die Schieberegler laufen, Vignetten- und Zielgewohnheiten. Lenke das Board in diese Richtung – während du dennoch auf die eigenen Chancen dieses Fotos eingehst.
Wenn profile.signals.face_readable false ist, ist das Gesicht bedeckt oder zu dunkel, um als Haut gelesen zu werden. Die Gesichtserkenntnisse werden übersprungen, und die erkannten Gesichts- und Augenpunkte sind unzuverlässig, also platziere jede Gesichts- oder Augenmaske von einem vergrößerten Raster anstelle von type: face.
2. Briefing: Stimme die Stimmung ab
Du brauchst zwei Dinge:
- Ziel: Instagram 4:5, LinkedIn quadratisch oder Profilkreis, Story 9:16 oder wie es ist.
- Stimmung.
Wenn das Ziel unbekannt ist, frage im selben Austausch nach der Stimmung, oder bearbeite im ursprünglichen Seitenverhältnis und biete die Beschnittvarianten als Board-Richtungen an. Zwinge niemals einen Beschnitt auf, den der Nutzer nicht gewählt hat, und schneide niemals eine Person auf ein Seitenverhältnis zu: wenn der Beschnitt-Befund von inspect sagt, dass der Rahmen wählen muss, was behalten wird, frage – rate nicht.
Wenn beide bereits klar sind („mach es stimmungsvoll für Insta“), überspringe das Board und gehe zu Runde 1.
Ansonsten ist das Board deine Frage. Baue drei Richtungen, gemäß vibes.md:
- Jede Richtung teilt die Basis-Korrekturen, die unabhängig von der Stimmung richtig sind: Erkenntnisse, Ablenkungsentfernung und den Zielbeschnitt nur wenn der Nutzer ein Ziel gewählt hat; ansonsten behalte das ursprüngliche Seitenverhältnis und biete Beschnittvarianten als eigene Richtungen an.
- Jede Richtung fügt dann ihren eigenen
lookund die Bereichsanpassungen hinzu, die diese Stimmung bei diesem Foto zum Funktionieren bringen. - Die zweite und dritte Richtung beantworten jeweils eine gemessene Chance – das Licht, ein Farbpaar, den Augenpfad, die Trennung – anstatt nur Looks auszutauschen.
- Wenn ein Recrop eindeutig besser ist als der Rahmen, den du hast („das Porträt in diesem Rahmen“), biete es als eigene Richtung an: seinen Beschnitt, die Basiskorrekturen, einen Look, der dazu passt, beschriftet mit dem, was es ist („C · Das Porträt darin“).
- Eine Richtung ist die saubere, getreue. Eine ist gewagt: der lichtangepasste Look bei 130–160 Stärke (vibes.md, „Das Licht lesen“); die Kritikprüfungen sind das Netz, das es fängt. Die anderen beiden müssen sich sichtbar unterscheiden.
- Gib jeder ein
labelund einenote.
Führe run.sh board PHOTO A.json B.json C.json aus. Wenn too_similar ein Paar auflistet, treibe sie auseinander und führe erneut aus.
Zeige das Board (die page, wo deine Oberfläche Seiten anzeigen kann, ansonsten das board-Bild) und schreibe:
- Deine Einschätzung des Fotos, in 1–2 Zeilen.
- A, B und C, je eine Zeile: das Gefühl und was es mit diesem Foto macht.
- Die Zielfrage, wenn sie unbekannt ist.
- Wenn
inspectlarge: true(über 30 MP) sagt, frage, ob es in voller Größe bleiben oder verkleinert werden soll:- Volle Größe behält jedes Pixel, aber die Datei kann zig MB groß werden.
- Eine 4096 px lange Kante ist auf jedem Bildschirm noch scharf bei einem Bruchteil der Größe.
- Beende mit: „Wähle A, B oder C, mische sie (‚B aber dunkler‘) oder beschreibe die Stimmung in eigenen Worten.“
Rendere dann replies, wo deine Oberfläche es kann (siehe „Mache das Antworten zu einem einzigen Tippen…“). Wenn deine Oberfläche keine Visuals rendert, lass die Schaltflächen weg. Gib die Tipp-Antwortzeile immer als Text, auch wenn du Visuals gerendert hast.
3. Erste Runde: Setze den Look um
Nachdem der Nutzer eine Richtung gewählt hat, führe preview RECIPE PHOTO --note "…" aus. Das Rezept ist A.json, B.json oder C.json (oder was immer der Nutzer beschrieben hat – baue ein neues Rezept für gemischte Wünsche, nicht mehr aus drei, und setze seinen label auf den Mix).
Schreibe eine Rundenkarte (card) oder eine Überprüfungsseite (review), die zeigt:
- Das bearbeitete Foto.
- Die
note(was sich geändert hat). - Die
critique(was noch nicht stimmt).
Frage dann: „Funktioniert das, oder was soll sich ändern? Sag es in einem Satz – wärmer, heller, ein engerer Beschnitt, weniger Ablenkung – und ich mache die nächste Version.“
4. Zweite Runde bis zum Treffer
Für jede weitere Runde:
- Mache Notizen aus der Antwort des Nutzers. Schreibe sie in einfache Worte, nicht in Schieberegler.
- Baue das Rezept neu – passe den
look(Stärke, Variante) und die Bereichsanpassungen an, basierend auf den Notizen. Füge neue Masken hinzu, die die Notizen brauchen (Himmel, Gesicht, Hintergrund, jedes Objekt). Überspringe keine Ablenkung ausdiag, die du noch nicht entfernt hast, es sei denn, der Nutzer hat Nein gesagt. - Führe
preview RECIPE PHOTO --note "…" --redoaus, wenn es die vorherige Version ersetzt (was den Fortschritt zeigt), oder ohne--redo, wenn es als neue VersionvN+1gilt (wenn sie das Bild neu ausgerichtet haben). - Zeige die Überprüfungsseite (
review, siehe Schritt 3) oder, wo deine Oberfläche keine HTML-Seiten anzeigen kann, die Karte (card). - Wenn die Kritik sagt, dass es fertig ist, und der Nutzer nicht ablehnt: führe
applyaus und übergebe das voll aufgelöste Bild mit der Zielbeschriftung („Instagram 4:5“, „LinkedIn-Profil“, „Story“). Das ist der Abschluss.
Manchmal sagt die Kritik „noch nicht fertig“ und der Nutzer sagt „sieht gut aus“. Dann ist es fertig. Vertraue Menschen, die zufrieden sind, und führe apply aus.
Arbeit beenden
Wenn die letzte Runde apply war:
- Schreibe eine letzte Notiz darüber, was du gelernt hast, für die nächste Sitzung dieses Nutzers: ihren Geschmack, wie stark sie Bearbeitungen mögen, ob sie Vignetten mögen, ob sie die Gesichter heller mögen. Ein Satz.
- Frage nicht, ob sie noch etwas brauchen. Frage nicht nach Feedback. Frage nicht, ob es ihnen gefällt. Warte.
Referenzen
Siehe reference/recipe.md für das Rezept-Schema. Siehe reference/vibes.md für Richtungen, Notizvokabular und die vollständige Überprüfungsliste – lies es vor deinem ersten Board.