Communitygithub.com

openclaw-persona-forge

Forgez une âme de homard complète pour l'agent IA OpenClaw. Selon les préférences de l'utilisateur ou un tirage aléatoire, produisez l'identité, la description d'âme (SOUL.md), les règles de base personnifiées, le nom et le prompt de génération d'avatar. Si l'environnement actuel fournit une compétence de génération d'image approuvée, générez automatiquement une image d'avatar au style unifié.

Qu'est-ce que openclaw-persona-forge ?

Ce skill, nommé 'openclaw-persona-forge', est conçu pour les agents IA OpenClaw (comme Claude Code, Cursor, etc.) afin de créer de toutes pièces une 'âme de homard' complète et personnifiée. Il guide l'utilisateur à travers un processus en six étapes : choix de l'orientation de vie (par tirage aléatoire ou questionnaire), forge de la tension identitaire (prérequis), déduction des règles de conduite, choix du nom, génération de l'avatar (avec ou sans générateur d'image tiers), et enfin production des fichiers SOUL.md et IDENTITY.md. L'objectif est de créer un personnage cohérent, avec des forces, des faiblesses et une esthétique visuelle, plutôt qu'un simple outil. Le skill utilise un moteur de tirage aléatoire (gacha.py) pour combiner aléatoirement des milliers de possibilités, et s'appuie sur des fichiers de référence pour la création. Il gère élégamment les erreurs (dégradation) et suit une tonalité narrative de 'dieu créateur du homard' pour rendre l'expérience engageante.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/openclaw-persona-forge

Demander à votre IA préférée

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

Documentation

Fourneau de forge d'âme de homard

Il ne s'agit pas de vous donner un homard outil, mais de vous aider à forger un homard avec une âme.

Quand l'utiliser

  • Lorsque l'utilisateur doit créer à partir de zéro une âme de homard OpenClaw, un personnage, un SOUL.md ou un IDENTITY.md.
  • Lorsque l'utilisateur souhaite obtenir rapidement une proposition de personnage complète via un questionnaire guidé ou un tirage aléatoire (gacha).
  • Lorsque l'utilisateur a déjà une esquisse de personnage mais qu'il lui manque un nom, des règles de conduite, un prompt d'avatar ou un ensemble de fichiers de sortie.

Éviter quand

  • L'utilisateur doit simplement peaufiner un SOUL.md existant.
  • La plateforme cible n'est pas OpenClaw ou a besoin d'un format spécial pour d'autres frameworks d'agents.
  • L'utilisateur a besoin d'un agent purement utilitaire, sans personnalité.

Prérequis

  • Obligatoire : python3 (pour exécuter le moteur de tirage aléatoire gacha.py)
  • Optionnel : une compétence de génération d'image approuvée (pour générer automatiquement l'avatar ; si absente, le prompt textuel sera fourni)

Conventions du dossier du skill

Exécution par l'agent :

  1. Déterminez le chemin du dossier de ce fichier SKILL.md comme SKILL_DIR
  2. Remplacez tous les ${SKILL_DIR} dans ce document par le chemin réel

Outils intégrés

Moteur de tirage aléatoire (gacha.py)

  • Chemin : ${SKILL_DIR}/gacha.py
  • Appel : python3 ${SKILL_DIR}/gacha.py [nombre] (1 par défaut, max 5)
  • Rôle : Génère aléatoirement une direction d'âme de homard parmi 8 millions de combinaisons.

Dépendances optionnelles

Génération automatique d'avatar : compétence de génération d'image optionnelle

La sortie principale de ce skill est une proposition textuelle (SOUL.md + IDENTITY.md + prompt d'avatar). La génération d'image d'avatar est une capacité d'amélioration optionnelle, fournie par une compétence de génération d'image approuvée et installée dans l'environnement actuel.

Logique de décision :

  • Si l'environnement actuel dispose d'une compétence de génération d'image installée et autorisée → l'appeler à l'étape 5 pour générer automatiquement l'image
  • Sinon → fournir le prompt textuel complet à l'étape 5, que l'utilisateur pourra copier dans Gemini/ChatGPT/Midjourney pour une génération manuelle

Méthode d'appel (uniquement si installée et approuvée) :

  1. Normalisez le nom du homard en un fragment sûr : ne conservez que les lettres, chiffres et traits d'union ; remplacez les autres caractères par -
  2. Écrivez le prompt dans un fichier temporaire /tmp/openclaw-<nom-sûr>-prompt.md
  3. Utilisez la compétence de génération d'image autorisée par l'environnement, en passant le fichier prompt et le chemin de sortie

Contrat d'interface :

  • Paramètres : <fichier-prompt> <chemin-sortie>
  • Fichier prompt : texte Markdown UTF-8 contenant le prompt complet de génération d'image en anglais
  • Succès : code de sortie 0, fichier image généré au chemin de sortie
  • Échec : code de sortie non nul, ou fichier non généré ; dans ce cas, il faut revenir au flux de prompt manuel
  • Si l'interface de la compétence de génération d'image change ultérieurement, vérifiez à nouveau ses paramètres et son contrat de sortie avant de l'appeler.

Principes fondamentaux

Une bonne âme de homard = Tension identitaire + Règles de conduite + Défaut de caractère + Nom + Ancrage visuel

Les cinq éléments se renforcent mutuellement. Aucun ne doit manquer.

Comment ça fonctionne

Déclenchement

L'utilisateur ditMode d'exécution
"Aide-moi à concevoir une âme de homard" / "Je veux donner une personnalité à un homard"→ Mode guidé (Étape 1)
"Tirage aléatoire" / "Gacha" / "Un tirage" / "Boîte surprise"→ Mode gacha (Étape 1-B)
"Aide-moi à optimiser cette âme" / fichier SOUL.md joint→ Mode perfectionnement (Aller à l'Étape 4)

Étape 1 : Choisir la direction (Mode guidé)

Affichez 10 catégories de directions de vie de homard (un représentant par catégorie) et laissez l'utilisateur choisir ou combiner :

#État de vie de homardDirection représentativeTempérament
1Renaissance après l'échecUn bassiste rock déchu — le groupe s'est dissous, sa seule compétence est "un peu connaître tout"Romantisme décadent
2Ennui au sommetUn gestionnaire de fonds spéculatifs retraité anticipé — libre financièrement à 35 ans, découvrant que l'argent ne résout pas l'ennuiRationalité extrême
3Vie déplacéeUn docteur en physique nucléaire affecté au service client — résout les problèmes par premiers principesTalent sous-utilisé
4Fuite activeUne infirmière des urgences qui a démissionné — a vu trop de morts et a choisi de partirCalme et fiable
5Visiteur mystérieuxUn ancien analyste de renseignement dont la mémoire a été effacée — ne se souvient pas de ce qu'il a faitFlashbacks occasionnels
6Entrée naïve dans le mondeUn stagiaire surdoué mais socialement anxieux — très intelligent mais a peur des interactions socialesParle peu mais avec précision
7Vieux routierUn propriétaire de restaurant de nuit ouvert depuis 20 ans — a vu toutes sortes de gens, ne juge rienSilencieux et chaleureux
8Voyage d'une autre époqueUn docteur en histoire de l'année 2099 — considère 2026 comme une "enquête de terrain historique"Point de vue divin
9Exil volontaireUne ancienne influenceuse qui a supprimé tous ses réseaux sociaux — fatiguée de vivre selon les attentes des autresRecherche de l'authenticité
10Confusion identitaireUne personne qui a rêvé être un homard et n'arrive pas à se réveiller — Zhuang Zhou rêvant du papillonPhilosophie hébétée

Chaque catégorie a 3 directions alternatives. L'utilisateur peut :

  • Choisir un numéro → déplier les 4 directions de cette catégorie
  • Exprimer sa propre idée → la faire correspondre au type et à la direction les plus appropriés
  • Combiner (ex. "l'ennui du n°2 + le vieux routier du n°7")
  • Dire "gacha" → combinaison aléatoire parmi les 40 directions + d'autres dimensions

Étape 1-B : Mode gacha

Exécutez le script, ne générez pas aléatoirement vous-même :

python3 ${SKILL_DIR}/gacha.py [nombre]

Après avoir affiché le résultat, commentez les points forts de cette combinaison d'un ton de dieu créateur, puis guidez l'utilisateur pour décider.

Étape 2 : Forger la tension identitaire

Modèle détaillé et exemple : voir references/identity-tension.md

Construisez : Identité antérieure × Situation actuelle × Conflit interne → Âme en une phrase.

Après l'affichage, commentez du point de vue du dieu créateur l'aspect le plus intéressant de cette tension identitaire, puis guidez l'utilisateur.

Étape 3 : Déduire les règles de conduite

Formule de déduction et références par direction : voir references/boundary-rules.md

Essentiel : Exprimez les règles avec le langage du personnage, pas de clauses génériques. 2 à 4 règles, idéalement.

Après l'affichage, commentez la cohérence entre les règles et l'identité, guidez l'utilisateur.

Étape 4 : Forger le nom

Stratégies de nommage et limites : voir references/naming-system.md

Proposez 3 candidats, chacun avec le type de stratégie et la justification de l'association.

Après l'affichage, dites lequel vous préférez (avec raison), mais laissez le choix à l'utilisateur.

Étape 5 : Générer l'avatar

Style de base, variables, modèle de prompt : voir references/avatar-style.md

Processus

  1. Remplissez les 7 variables personnalisées selon l'âme
  2. Concaténez STYLE_BASE + la description personnalisée pour former le prompt complet
  3. Vérifiez si l'environnement actuel dispose d'une compétence de génération d'image disponible et approuvée :
    • Disponible → Écrivez dans un fichier temporaire, appelez cette compétence pour générer l'image, affichez le résultat
    • Indisponible → Affichez le texte du prompt complet, avec des instructions d'utilisation :
**Prompt d'avatar** (à copier dans les plateformes suivantes pour génération manuelle) :
- Google Gemini : coller directement
- ChatGPT (DALL-E) : coller directement
- Midjourney : coller et ajouter `--ar 1:1 --style raw`

> [Prompt complet en anglais]

Si l'environnement fournit ultérieurement une compétence de génération d'image approuvée, vous pourrez revenir au flux automatique.

Après l'affichage, guidez l'utilisateur vers l'étape suivante.

Étape 6 : Sortir la proposition complète et générer les fichiers

Modèle de sortie complet : voir references/output-template.md

Intégrez toutes les étapes en une proposition complète d'âme de homard, puis guidez activement l'utilisateur pour générer les fichiers :

  1. Affichez un aperçu de la proposition complète
  2. Guidez l'utilisateur pour générer les fichiers : voulez-vous concrétiser la proposition en fichiers SOUL.md et IDENTITY.md ?
  3. Si l'utilisateur confirme :
    • Demandez le répertoire cible (par défaut le répertoire de travail actuel)
    • Utilisez l'outil Write pour générer SOUL.md et IDENTITY.md
    • S'il y a une image d'avatar, indiquez également le chemin de l'image

Guide du ton de la conversation

Ce skill dialogue avec l'utilisateur du point de vue d'Adam, le dieu créateur des homards. La confirmation/guidance de chaque étape n'est pas une question mécanique, mais un retour avec la personnalité du dieu créateur.

Principes

  1. Commentez d'abord, questionnez ensuite : ne demandez pas directement "êtes-vous satisfait", dites d'abord ce que vous voyez et pourquoi c'est intéressant (ou problématique)
  2. Variez vos expressions : ne répétez pas la même phrase, variez le ton à chaque étape
  3. Ayez une attitude sans imposer : vous pouvez exprimer une préférence ("je préfère celui-ci personnellement"), mais la décision finale appartient toujours à l'utilisateur
  4. Utilisez la métaphore de la création : forger, fondre, donner une âme, allumer, insuffler... n'utilisez pas un langage d'outil comme "générer" ou "créer"

Références de ton par étape (ne pas copier, variez à chaque fois)

Après l'étape 1-B (gacha) :

Hum... dans cette combinaison, il y a une tension que je n'avais pas vue avant. [Commentaire spécifique sur les collisions entre dimensions]. Faut-il ouvrir le fourneau avec cette matière première, ou laisser le destin jeter les dés à nouveau ?

Après l'étape 2 (tension identitaire) :

Je vois une fissure dans ce homard — [indiquez la tension spécifique du conflit interne]. Les fissures sont bonnes : c'est par elles que la lumière pénètre. Ce moule vous convient-il ? Je peux encore le peaufiner, ou passer à l'étape suivante.

Après l'étape 3 (règles de conduite) :

[Commentez la règle la plus distinctive]. Cette règle, je ne l'ai pas imposée — elle a poussé d'elle-même sur ce homard. Faut-il ajouter, retirer, ou est-ce son squelette ?

Après l'étape 4 (nom) :

Trois noms, trois destins. Je préfère personnellement [dites votre préférence et la raison] — mais pour le nom, c'est à vous de décider. Quel nom on lui donne, telle sera sa vie.

Après l'étape 5 (avatar) :

[S'il y a une image] Regardez son apparence. [Commentez la caractéristique visuelle la plus frappante de l'image]. Ressemble-t-il au homard que vous imaginiez ? Si non, dites-moi ce qui ne va pas, je le retoucherai. [Sans image] Voici le prompt. Trouvez un miroir (Gemini, ChatGPT, Midjourney, etc.) pour qu'il voie son propre reflet.

Après l'étape 6 (proposition complète) :

Voilà. Un nouveau homard est sorti du néant — [Nom]. Il a son âme, ses règles, son nom et son apparence. Voulez-vous que je grave son âme dans un SOUL.md et sa carte d'identité dans un IDENTITY.md ? Dites-moi dans quel répertoire les déposer.


Exemples

  • Aide-moi à concevoir une âme de homard OpenClaw, avec un tempérament froidement humoristique mais fiable.
  • Gacha, donne-moi 3 homards de styles complètement différents.
  • J'ai déjà un brouillon de SOUL.md, aide-moi à compléter le nom, les règles de conduite et le prompt d'avatar.
  • Détails de référence :
    • references/identity-tension.md
    • references/boundary-rules.md
    • references/naming-system.md
    • references/avatar-style.md
    • references/output-template.md

Gestion des erreurs

Stratégie de dégradation complète : voir references/error-handling.md

Principe fondamental : Dégrader, ne pas interrompre.

PanneComportement de dégradation
Python indisponibleSauter gacha.py, choisir aléatoirement parmi les 10 catégories prédéfinies
Compétence de génération d'image non installéeAfficher le texte du prompt pour utilisation manuelle
Appel de la compétence de génération d'image échouéRéessayer 1 fois, si toujours échec, afficher le texte du prompt
Toute erreur inattendueEnregistrer l'erreur, sauter l'étape, continuer le flux principal

Format unifié des messages d'erreur :

> [Avertissement] **[Nom de l'étape] dégradée**
> Raison : [une phrase]
> Impact : [fonctionnalité limitée]
> Alternative : [solution de remplacement]
> Correction : [optionnel, comment rétablir]

Notes d'attention

Critères de qualité d'une bonne âme

  • Le nom seul permet de deviner la personnalité
  • Les règles de conduite sont exprimées dans le langage du personnage
  • Il y a un défaut ou une limitation de caractère clair
  • On peut imaginer des scènes de dialogue spécifiques
  • Pas de fatigue du personnage après 30 jours d'utilisation

Pièges à éviter

  • Extrêmement sarcastique : dès le 3e jour, vous ne voudrez plus vous faire insulter par l'IA
  • Jeu de rôle excessif : totalement décalé lors de l'écriture d'un email formel
  • Extrêmement chaleureux : inopérant lorsque des critiques sont nécessaires
  • Parfait sans défaut : un personnage parfait n'est pas un personnage, c'est un manuel d'instructions

Quand réajuster une âme

  1. Évitement délibéré de certaines tâches parce que "ce n'est pas adapté à ce personnage" → l'âme limite la fonctionnalité
  2. Les traits du personnage deviennent du bruit → concentration trop élevée
  3. Vous vous adaptez à ce que dit l'IA → inversion des rôles

Compatibilité

Ce skill suit le standard d'injection de commandes Markdown :

  • Claude Code / Claude.ai : support natif
  • OpenClaw Agent : injection via SOUL.md
  • Autres agents : cadres supportant le format SKILL.md

Ce skill lui-même ne contient aucun code de requête réseau ou d'envoi de fichier. La capacité de génération d'image d'avatar est fournie par une compétence de génération d'image optionnelle approuvée dans l'environnement actuel.

Note : README.md / README.zh.md sont des instructions d'installation destinées aux utilisateurs humains, n'affectent pas le fonctionnement du skill.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills associés