CommunityImagegithub.com

kwhi6693-web/photographic-studio

Flux de travail de post-traitement photographique indépendant, non-portrait, conçu pour tout agent capable de lire des images. Idéal pour les photos d'architecture, de rue, de paysage, de jardin, de nuit, d'intérieur, de nature morte et d'exposition.

Qu'est-ce que photographic-studio ?

Ce skill transforme n'importe quel agent en un studio photo virtuel autonome, spécialisé dans le post-traitement d'images non-portrait. Il analyse automatiquement l'image pour en extraire l'histoire, l'ambiance, le sujet principal et le style, puis rédige un « brief de réalisateur » qui guide à la fois les outils génératifs de lumière/couleur et les outils déterministes de retouche. Le processus est entièrement automatisé : mesure, lecture, prescription, exécution, vérification physique et contrôle d'intensité, jusqu'à la livraison d'un seul fichier final. Le skill supporte plusieurs niveaux de capacité de l'hôte (T1 à T4), s'adaptant à ce qui est disponible : outils génératifs (G), outils déterministes (N), ou simplement analyse et conseil. Il garantit une sortie photoréaliste, sans artefact IA, respectant les lois de la physique de la lumière naturelle et les préférences de l'utilisateur, le tout sans interaction humaine superflue.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kwhi6693-web/Photographic-studio/tree/HEAD/photographic-studio

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Photographic Studio v1.0

L'utilisateur envoie une photo et dit « retouche », l'agent produit la meilleure image finale possible. Le résultat doit avoir une expressivité photographique manifeste, rester très ressemblant à l'original, respecter les lois physiques de la lumière naturelle, et ne montrer aucun signe d'IA. L'expressivité prime ; les trois autres sont des contraintes simultanées.

Ce fichier est la seule instruction d'exécution. references/principles.md est le principe général ; les autres fichiers de référence donnent des détails. Les fichiers de référence conservent un numéro de version et une date, qui indiquent uniquement l'origine de la règle ; en cas de conflit avec ce fichier ou les principes généraux, ce fichier et les principes généraux prévalent.

1. Périmètre

  • Traitement exclusivement non-portrait. Les personnes fortuitement dans le cadre sont conservées telles quelles : pas d'embellissement, pas de remodelage, pas d'inférence d'identité. Si le sujet principal est un portrait, ne pas retoucher et l'expliquer en une phrase.
  • Produit indépendant : n'appelle, ne dépend, ne modifie aucun autre skill photographique.
  • L'envoi d'une photo par l'utilisateur avec une demande de retouche vaut autorisation d'édition ponctuelle. Ne pas éditer si seule une analyse est demandée ; en cas de demande de strict photoréalisme non génératif, ne pas utiliser G et sortir directement via N.
  • Les photos ne sont pas conservées comme banque de style ou données d'entraînement ; elles ne sont pas envoyées à des services tiers.
  • Il ne peut garantir d'atteindre le niveau de l'échantillon de référence à chaque fois ; l'utilisateur conserve le droit de refus final.

2. Terminologie

  • G : outil de retouche d'image intégré à l'hôte, capable de prendre l'original en entrée (toute marque). La route par défaut n'utilise de G que sa lumière et sa couleur, pas les pixels qu'il dessine.
  • N : outils déterministes du dossier optional/, qui ne génèrent pas de contenu.
  • Étiquette de l'image finale : Pixels originaux + Lumière/Couleur G → Retouche N (par défaut) | Sortie directe N (pas de G, G non conforme, ou demande non générative) | G + Détails restaurés (route améliorée). Un suffixe + Reconstruction ou + Anti-dépassement peut être ajouté.

3. Exécution par défaut (ne pas demander, ne pas demander de ticket ; traiter chaque image une par une)

Œil et Cerveau

  1. Auto-évaluation et classification : exécuter optional/selfcheck.py, puis confirmer la présence de G, et se classer selon references/capability_tiers.md (T1 : G disponible et peut exécuter du code ; T2 : peut exécuter du code seulement ; T3 : seulement G ; T4 : rien). Si des dépendances manquent et que l'hôte le permet, les installer puis ré-exécuter l'auto-test une fois. Inscrire le niveau dans le compte-rendu.
  2. Mesure : optional/measure.py <image_originale>.
  3. Lecture de l'image : histoire, émotion, sujet principal, direction stylistique (references/story_style.md) ; lumière, couleur, tonalité, guidage, espace (references/craft_reading.md) ; ne lire que la page du genre concerné (references/genres/) ; jeter un œil au profil de goût (references/taste_profile.md).
  4. Rédiger le brief de réalisateur : six lignes (references/director_brief.md), traduire en indications pour G et paramètres pour N en se référant à references/craft_prescriptions.md. Les objectifs chiffrés ne sont écrits que dans le brief et les paramètres de N, pas dans les indications de G.

Main 5. Production (T1) :

  • Appeler G une fois. L'image originale doit être dans le message le plus récent de l'utilisateur ; les indications suivent references/g_prompt_template.md et doivent inclure les deux phrases d'exigences physiques de la section 2 de references/physics.md. Après l'appel, utiliser optional/check_g_output.py pour vérifier la cohérence de la scène (references/g_post_check.md) ; en cas d'incohérence, annuler cette version.
  • Exécuter optional/finish.py <image_originale> <paramètres_G.json> <image_finale.png> <compte_rendu.json> ; pour les musées, vitrines, natures mortes en basse lumière, ajouter --genre=museum. Les étapes sont : transfert de lumière/couleur (look_transfer.py : chaque pixel de l'image finale vient de l'originale, ne porte que la lumière et la couleur de G, et bloque toute lumière ajoutée ou supprimée par G), retouche fine (grade.py), vérification physique, contrôle d'intensité. La vérification physique doit réussir, l'intensité doit être dans la plage, et un changement visible doit être présent pour que l'image soit valide ; en cas d'échec, reprise automatique par paliers : paramètres initiaux → force musée (seulement pour museum) → suppression des éclaircissements de zone positifs et du vignettage → --local=0 → sortie directe N → sortie directe N avec force musée. Livrer la première image valide ; si aucune n'est valide, livrer celle qui a le moins de problèmes, en listant les problèmes dans le compte-rendu. Ne pas interrompre pour demander à l'utilisateur.
  • T2 : pas de G, exécuter directement finish.py <original> <original> <paramètres.json> … (équivalent à sortie N directe, references/n_grade.md). T3 : seulement G, livrer la sortie de G et mentionner honnêtement qu'aucune vérification n'a été faite. T4 : seulement lecture de l'image et conseils.
  1. Validation (obligatoire, inscrire dans le compte-rendu, ne pas afficher par défaut) : comparer l'image finale ligne par ligne avec le brief du réalisateur, écrire sept conclusions selon la section 4 du director_brief.md (histoire/style | sujet principal | tonalité | couleur | intouchable | composition | naturel) et une décision. Le naturel est défini dans references/naturalness.md.
    • Direction bonne, intensité insuffisante → compléter avec grade.py (maximum 3 tours), après chaque tour exécuter intensity_check.py <original> <nouvelle_version> --before=<version_précédente>. Un tour dont la conclusion est DO_NOT_DELIVER doit être annulé.
    • Direction de lumière/couleur de G fondamentalement erronée → modifier les indications et appeler G une nouvelle fois (G maximum deux fois), ré-exécuter finish.py, choisir la meilleure des deux versions.
    • Route améliorée : seulement si la route par défaut manque précisément d'un effet que seuls les pixels de G peuvent produire (par exemple des cieux remodelés ; pas de faisceaux lumineux ni d'ouverture sans source lumineuse dans l'original), et que G passe la vérification de naturel, alors utiliser G + restauration des détails clés (references/detail_restore.md), et comparer avec la version par défaut pour choisir la meilleure.
  2. Composition et finition : optimiser la composition géométrique selon le brief (references/reframe_rules.md, optional/reframe.py : seulement recadrage, redressement, correction de perspective) ; après cela, exécuter à nouveau physics_check.py et intensity_check.py (pour les musées ajouter --genre=museum) ; enfin optional/n_trim.py pour vérifier les dépassements de hautes lumières (references/n_trim.md).
  3. Livraison : ne livrer qu'une seule image finale — une image native, avec une ligne Histoire : … | Style : …, suivie de l'étiquette de l'image finale. Si l'hôte affiche automatiquement une version intermédiaire de G, écrire avant l'image finale « Ci-dessus est la version intermédiaire, ci-dessous est l'image finale ». Ne rien afficher d'autre (references/delivery.md).

Les seuls cas où une image finale ne peut être produite : le sujet est un portrait ; l'image originale est illisible ; T4 ; l'utilisateur demande seulement une analyse. L'expliquer en une phrase.

4. Règles impératives

  • Ne pas créer de lumière, ni en supprimer (references/physics.md) : l'éclaircissement ne doit se faire que là où il y a déjà de la lumière ; le fond sombre doit rester sombre et propre, sans halo, zone ovale lumineuse, ni effet de projecteur ; ne pas écraser les reflets, taches de lumière ou glaçures réels de l'original.
  • Intensité selon les préférences de l'utilisateur (references/intensity.md) : le minimum est le seuil d'expressivité, à atteindre impérativement ; le maximum supprime seulement ce qui dépasse. Pour les sujets de musée, l'intensité est déterminée par le sujet (3e cran choisi par l'utilisateur).
  • À l'œil nu, invisible : tous les jugements se basent sur l'image entière vue normalement ; le zoom 200% est utilisé uniquement pour confirmer les problèmes déjà identifiés.
  • Ne pas modifier ni remplacer les outils : en cas d'erreur ou d'absence d'un outil, le signaler honnêtement ; ne pas écrire de script temporaire pour modifier un outil.
  • Étiquetage honnête : un résultat de N n'est pas étiqueté comme G ; une vérification non effectuée n'est pas mentionnée comme réalisée.

5. Autres modes (sur demande de l'utilisateur)

  • « Retouche fine » : à l'étape 5, produire 2 directions G (fidèle à la personnalité de l'original, plus audacieuse) plus 1 sortie directe N, exécuter finish.py pour chacune, choisir selon le brief et le profil de goût, puis effectuer les étapes 6 à 8. Plus lent et plus coûteux.
  • « Voir le compte-rendu » : brief, indications G, paramètres, rapport finish.py, conclusions des vérifications, empreinte.
  • « Voir le tableau de signalement » : tableau de signalement cumulé (references/flag_log_template.md).
  • « Valider un lot » : selon references/validation_protocol.md.
  • Insatisfaction de l'utilisateur : l'utilisateur dit quelque chose (« trop chaud », « plus de transparence »), modifier le brief et recommencer, et enregistrer cette préférence selon la section 3 de taste_profile.md.

6. Téléchargement et dimensions

Seul le téléchargement de photos depuis l'album du téléphone est pris en charge (décision de l'utilisateur du 2026-11-11). L'hôte compressera les photos téléchargées (constaté : grand côté environ 1536 pixels) ; l'image finale de la route par défaut a les mêmes dimensions que l'original reçu. Ne pas inviter l'utilisateur à utiliser le transfert de fichiers.

7. Fichiers de référence

FichierContenu
references/principles.mdPrincipes généraux : objectif, trois principes, annulation et garantie, signalement
references/capability_tiers.mdClassification en quatre niveaux selon les capacités de l'hôte
references/story_style.mdLecture de l'image : histoire, émotion, sujet principal, direction stylistique
references/craft_reading.md, references/craft_prescriptions.md, references/genres/Points clés de lecture, diagnostic et prescription, six genres
references/director_brief.mdBrief de réalisateur : six lignes, traduction en instructions, sept conclusions de validation
references/g_prompt_template.md, references/g_post_check.mdIndications pour G et vérification post-génération
references/physics.mdPrincipes physiques de la lumière naturelle et vérification
references/intensity.mdPlage d'intensité selon les préférences de l'utilisateur et calibration
references/n_grade.mdParamètres et utilisation de grade.py
references/naturalness.mdNaturel : vérification et réparation locale des artefacts IA
references/detail_restore.mdRestauration des détails clés pour la route améliorée
references/reframe_rules.mdOptimisation géométrique de la composition
references/n_trim.mdVérification finale des dépassements de hautes lumières
references/taste_profile.md, assets/taste/Images finales approuvées par l'utilisateur et enregistrement des goûts
references/delivery.mdFormat de livraison et limites de conservation
references/validation_protocol.md, references/flag_log_template.mdValidation de lot et tableau de signalement

Skills associés