CommunityImagegithub.com

Personnage Kobutai

Transforme une image d'un personnage aimé par l'utilisateur en personnage de scène Kobutai animé : analyse l'upload, dessine une fiche multi-vues, génère des GIFs d'idle/performance/réaction avec l'image GPT, et produit un spritesheet + pet.json que l'extension Kobutai (et les pets Codex) peuvent importer. À utiliser lorsque l'utilisateur veut créer, incuber ou importer un personnage Kobutai, un pet ou un GIF à partir d'une image ou d'une idée. Pas pour éditer le code de Kobutai.

Qu'est-ce que Personnage Kobutai ?

Ce skill transforme une image ou une description d'un personnage préféré en un personnage Kobutai complet, prêt à être importé dans l'extension de navigateur ou l'application desktop Kobutai (小舞台). Kobutai affiche un petit personnage chibi qui interagit sur la page pendant la lecture de musique, vidéos, streams ou podcasts. Le workflow automatisé comprend : l'analyse de l'image téléchargée (création d'une fiche personnage), la génération d'une planche de profil multi-vues (face, trois-quarts, profil, dos) avec quatre expressions, la production de GIFs animés pour les états clés (idle, joue, pause, apparition, clic, erreur), et l'assemblage final en un spritesheet et un fichier pet.json. Le skill supporte plusieurs plateformes : il utilise l'outil `$imagegen` intégré de Codex ou la génération d'images native de ChatGPT, et peut également demander la génération de GIFs. Il gère les images tierces, les OC, les animaux de compagnie et les vraies personnes, avec trois modes d'originalité (original, propre, personnel). Un script Python (`make_pack.py`) finalise le packaging en alignant les trames, supprimant les doublons, et validant le spritesheet exactement comme l'importateur Kobutai le fait. L'utilisateur reçoit un fichier ZIP prêt à l'emploi, avec des instructions pour l'importer dans Kobutai ou l'utiliser comme pet Codex.

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/xingaobio/kobutai-character/tree/HEAD/kobutai-character

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

Que fait Personnage Kobutai ?

Kobutai (小舞台) est une extension de navigateur et une application desktop : un petit personnage chibi se produit sur la page pendant que la musique, les vidéos, les streams ou les podcasts jouent. Ce skill transforme l'image du personnage préféré de l'utilisateur (ou une description) en un personnage que Kobutai peut importer :

upload ─► fiche personnage ─► planche de profil + pose de base ─► GIFs d'état ─► make_pack.py ─► pet.json + spritesheet.webp

Répondre dans la langue de l'utilisateur (anglais, 日本語 ou 中文). Conserver les prompts d'images en anglais.

Lire ces fichiers lorsque vous arrivez à l'étape qui en a besoin :

  • references/kobutai-contract.md - géométrie de la planche, quel GIF correspond à quel état Kobutai, règles d'import et de partage
  • references/prompts.md - chaque prompt d'image, les blocs de style, et les listes d'actions par performance
  • references/originality.md - que faire avec les personnages tiers, les OC, les animaux de compagnie et les vraies personnes

Génération d'images

Utiliser la génération d'images intégrée de l'hôte pour chaque image :

  • Codex : le skill système $imagegen (outil image_gen intégré). Ne pas appeler l'API Image ou une CLI à moins que l'utilisateur ne le demande explicitement ; ce chemin nécessite sa clé API.
  • ChatGPT : génération d'images native.

Les images 2.6 (Nov 2026) peuvent retourner des GIFs animés. Demander un GIF pour chaque état animé. Si l'hôte renvoie une image fixe, refuse la sortie GIF, ou le GIF est inutilisable, utiliser le plan de secours de la grille dans references/prompts.md (8 trames sous forme de PNG en grille 4 x 2) ; make_pack.py le découpe.

Attacher base.png (et l'upload de l'utilisateur, étiqueté "référence d'identité uniquement") à chaque génération d'état. Un état généré sans la base attachée est invalide : le régénérer.

Liste de progression

Afficher et mettre à jour cette liste de contrôle (liste de tâches si l'hôte en a une) :

  1. Lecture de votre personnage
  2. Dessin de la planche de profil
  3. Animation des états
  4. Empaquetage pour Kobutai
  5. Vérification et livraison

Flux de travail

1. Lire le personnage

Regarder chaque image téléchargée et écrire RUN/character.json (RUN = kobutai-<id>/ dans l'espace de travail ; dans ChatGPT, /mnt/data/kobutai-<id>/). Les champs et un exemple sont dans references/prompts.md § Fiche personnage. Décider :

  • mode - original / own / personal selon references/originality.md. Par défaut pour un personnage tiers reconnaissable : original : un personnage original inspiré de son humeur, ses couleurs et son rôle, pas une copie.
  • style - kobutai (style chibi maison, correspond au casting intégré ; par défaut) ou keep (conserver le style artistique de l'upload, toujours compact et en pied).
  • scene - ce que le personnage fait pendant que le contenu joue (chanter, danser, DJ, jouer d'un instrument, écouter confortablement, regarder et réagir, prendre des notes...). Choisir dans § Scènes de performance.
  • genres / type - tags Kobutai suggérés, utilisés plus tard dans la boîte de dialogue de partage de l'extension.
  • chroma - #00FF00, ou #FF00FF lorsque le personnage a du vert dedans.

Envoyer à l'utilisateur UN SEUL message court avec la fiche (nom, apparence en une ligne, mode, style, scène, tags) et lui demander de confirmer ou de modifier quoi que ce soit. Procéder avec les valeurs par défaut s'il dit "va" ou s'il ne s'en soucie pas. Si l'upload n'a pas de personnage unique clair, demander lequel.

2. Planche de profil et pose de base

  1. Générer RUN/profile.png avec § Planche de profil : vues de face, trois-quarts, profil et dos, quatre expressions et une bande de palette, sans texte. C'est la feuille de modèle de l'utilisateur ; la lui montrer.
  2. Générer RUN/base.png avec § Pose de base, en attachant profile.png : une pose debout détendue en pied, vue trois-quarts, sur fond chroma uni. Chaque état est dessiné à partir de celle-ci.

Si l'identité est erronée (visage, cheveux, tenue, palette), la corriger ici ; chaque étape ultérieure copie base.png.

3. Animer les états

Générer dans RUN/states/, un travail par fichier, base.png attaché à chaque fois :

FichierUtilisation KobutaiRequis
idle.gifen attente, rien ne joueoui
playing.gifla boucle de performance pendant que le contenu joue (le plus important)oui
paused.pngUNE pose figée "en attente" (Kobutai tient une seule image)recommandé
appear.gifentrée, jouée une fois lorsque le personnage est dessinérecommandé
click.gifréaction lorsqu'on le tapote, jouée une foisrecommandé
error.gifboucle confuse / tristeoptionnel
walk.gif, review.gifutilisés uniquement lorsque le pack est aussi un pet Codexoptionnel

Utiliser § État GIF avec la liste d'actions pour la scène choisie. Ordre : idle et playing en premier, les vérifier, puis le reste. Après chaque fichier, vérifier rapidement : même personnage, environ 8 trames distinctes, un fond uni, corps entier dans le cadre, pieds sur une même ligne de base, pas de texte, pas d'effets flottants. Régénérer un état défaillant seul avec § Réparation ; ne jamais redémarrer tout le run pour un mauvais état.

Les GIFs/PNGs téléchargés depuis ChatGPT ou $CODEX_HOME/generated_images/ doivent être copiés dans RUN/states/ avec exactement ces noms.

4. Empaqueter

python3 <skill_dir>/scripts/make_pack.py RUN                 # Kobutai (jusqu'à 8 trames par ligne)
python3 <skill_dir>/scripts/make_pack.py RUN --target codex  # comptes exacts de trames pour pet Codex

Nécessite Pillow + numpy (pip install pillow numpy, scipy optionnel). Le script supprime le fond (ou conserve la transparence réelle), supprime les trames en double, harmonise l'échelle entre les GIFs, aligne les pieds, écrit la feuille 1536 x 1872 Petdex/Codex et la valide exactement comme le fait l'importateur Kobutai. Options : --grid playing=4x2 pour une image en grille avec une autre disposition, --scale click=0.9 lorsqu'une source est trop grande ou trop petite, --key-low/--key-high pour un fond tenace.

Le code de sortie 2 signifie que la validation a échoué ; lire out/qa/report.json, corriger la source, relancer.

Si l'hôte ne peut pas exécuter Python (certaines configurations ChatGPT), livrer profile.png, base.png, les fichiers d'état et character.json sous forme de zip et dire à l'utilisateur d'exécuter la même commande localement.

5. Vérifier et livrer

Ouvrir out/qa/contact.png et out/qa/preview.gif et regarder. Rejeter et réparer quand :

  • une ligne change le visage, les cheveux, la tenue, la palette ou les accessoires
  • le personnage change de taille ou saute latéralement entre les trames ou entre les états
  • une pose est coupée au bord de la cellule, ou le fond a laissé une frange colorée ou des points
  • la boucle de jeu est visuellement statique, ou idle est un grand mouvement
  • à environ 120 px de haut (la taille d'affichage de Kobutai) le personnage n'est plus reconnaissable

Puis livrer :

  1. kobutai-<id>.zip contenant <id>/pet.json + <id>/spritesheet.webp
  2. profile.png et preview.gif pour regarder et partager
  3. Comment l'utiliser (depuis references/kobutai-contract.md § Import) : Kobutai → Importer → choisir pet.json et spritesheet.webp ensemble. Optionnel : copier le dossier dans ~/.codex/pets/<id>/ pour l'utiliser aussi comme pet Codex.
  4. Uniquement pour les modes original et own : ils peuvent le soumettre à la bibliothèque communautaire hebdomadaire depuis l'extension (Mes personnages importés → Partager avec tout le monde, CC BY 4.0, nom de crédit requis), avec les genres de la fiche. Pour le mode personal dire clairement qu'il est pour leur usage personnel uniquement.

Conserver RUN/ (fiche, profil, base, états) afin qu'un futur "rendre la danse plus rapide" ou "refaire le clic" ne régénère qu'un seul état.

Coût

Un run complet représente environ 8 générations d'images (profil, base, idle, playing, paused, appear, click, error optionnel) plus les réparations. Informer l'utilisateur avant de démarrer un second run complet.

Skills associés