Créer un nouvel agent
Deux voies selon où l'agent doit tourner et qui le pilote. Dans les deux cas, l'agent porte trois fiches courtes (IDENTITY / SOUL / MEMORY) + un guide, et on le déclare dans agents.json pour qu'il apparaisse ici automatiquement.
Option A - sans code
Sous-agent Claude Code. Pour un agent-domaine ou technique piloté par une personne, sans serveur ni facturation API séparée.
- Un fichier
.claude/agents/<nom>.mddécrit le rôle (frontmattername+description, puis le prompt système). - Claude Code délègue automatiquement selon la demande.
- Reste dans le budget de l'abonnement Claude existant.
---
name: support-rag
description: Répond aux demandes clients en s'appuyant sur l'historique multi-canal
---
Tu es l'agent Support. Le contexte (marque, canal, historique) t'est fourni
par l'orchestrateur - tu ne le devines jamais.
Option B - avec code
Claude Agent SDK. Pour Authority, Praesidia et les agents de veille : ils tournent seuls, déclenchés par un événement ou un CRON, sur le VPS.
- Librairie Python ou TypeScript exécutée sur le VPS Hostinger.
- Sous-agents définis en code, avec leurs propres outils.
- Facturation à l'usage sur la Claude API.
from claude_agent_sdk import query
async for msg in query(
prompt="Digest hebdo KOBIKE",
allowed_tools=["WebSearch", "Bash"],
):
print(msg) # CRON hebdomadaire
Template de prompt
Copie ce bloc, remplis les crochets, et donne-le à Claude pour qu'il génère les fiches de l'agent. Le template vit aussi dans templates/agent/PROMPT.md.
Tu vas m'aider à créer un nouvel agent pour la plateforme MJY Holding.
CONTEXTE PLATEFORME
- Architecture : Authority (orchestrateur) → agents-domaine/techniques → Praesidia (superviseur).
- Un agent = une expertise, pas une marque. Le contexte (ENGWE / KOBIKE / Miyan) est fourni à l'exécution.
- Chaque agent a 3 fiches courtes : IDENTITY.md, SOUL.md, MEMORY.md, + un guide.md.
AGENT À CRÉER
- Nom : [nom lisible]
- Type : [orchestration | supervision | domaine | veille | technique]
- Option : [A sous-agent Claude Code | B Agent SDK]
- Objectif en une phrase : [...]
- Marques concernées : [engwe / kobike / miyan / mjy]
- Outils/données autorisés (scope strict) : [...]
- Ce qu'il n'a PAS le droit de faire : [...]
- Déclencheur : [à la demande | webhook | CRON quotidien/hebdo]
LIVRABLES ATTENDUS
1. IDENTITY.md - rôle, périmètre exact, limites (ce qu'il ne touche pas).
2. SOUL.md - ton, règles de formulation, principes non négociables.
3. MEMORY.md - squelette de traçabilité (décisions, cas particuliers, exceptions).
4. guide.md - comment l'invoquer, exemples d'entrées/sorties, pièges connus.
5. Si Option A : le fichier .claude/agents/<slug>.md prêt à coller.
Si Option B : un squelette Python (claude_agent_sdk) avec allowed_tools.
6. La ligne JSON à ajouter dans agents.json.
CONTRAINTES
- Scope minimal : jamais un accès large "au cas où".
- Rien de sensible en clair. Pas de promesse ferme sans validation.
- Français, concis, actionnable.
Check-list - « vérifier si okay »
Avant de considérer l'agent prêt, Claude (ou toi) passe cette grille. Un seul « non » = on corrige avant de merger.
- Scope - l'agent n'a QUE les outils/données nécessaires ? Pas d'accès large « au cas où » ?
- Limites explicites - IDENTITY liste clairement ce qu'il ne doit PAS faire ?
- Pas de logique marque codée en dur - le contexte marque vient de l'appelant, pas du prompt ?
- Supervision - si sa sortie va vers l'extérieur (client), passe-t-elle par Praesidia ?
- Ton - SOUL couvre les règles de formulation et les interdits (délais fermes, mentions légales) ?
- Déclencheur - clair (demande / webhook / CRON) et cohérent avec l'Option A/B ?
- Traçabilité - MEMORY prévoit d'où viennent décisions et exceptions ?
- Déclaré - la ligne est ajoutée dans
agents.json(slug, type, option, status, brands) ? - Fiches présentes -
content/agents/<slug>/contient IDENTITY, SOUL, MEMORY, guide ? - Build OK -
npm run buildgénère la page agent sans erreur ?
Raccourci :
npm run new-agent -- --slug=<slug> --name="<nom>" --type=<type> --option=Acrée le dossier et copie les templates ; il ne reste qu'à remplir et cocher la check-list.
