Skills IA


1Présentation

Temma fournit un ensemble de skills pour les agents de codage IA. Un skill enseigne à un agent les conventions et les mécanismes de Temma, afin qu'il produise du code idiomatique lorsqu'il construit un site ou une API basés sur le framework.

Les skills suivent le standard ouvert Agent Skills : un répertoire par skill, chacun contenant un fichier SKILL.md. Ils sont rédigés en anglais et préfixés par temma-. Ils fonctionnent avec Claude Code, OpenAI Codex, et tout outil supportant le standard.

Temma propose 18 skills, livrés dans le paquet Composer digicreon/temma-lib (répertoire vendor/digicreon/temma-lib/skills/) :

SkillRôle
temma-site-guideGuide pas-à-pas : du squelette au site en production
temma-controllerContrôleurs, actions, routage, flux d'exécution, attributs
temma-daoModèle de données : DAO, critères, SQL brut
temma-viewVues et templates Smarty ; JSON/CSV/RSS/iCal/INI/PHP en références
temma-apiEndpoints JSON, plugin API, clés d'API
temma-pluginPré/post-plugins
temma-cliCommandes CLI Comma, helpers Ansi et Term
temma-datasourceSources de données : DSN, API unifiée, connecteurs
temma-authAuthentification passwordless, attribut Auth, sessions
temma-validationContrats de validation (entrée, sortie, programmatique)
temma-aiLLMs via la source de données AI
temma-emailEnvoi d'emails, relais SMTP
temma-testsTests d'intégration avec \Temma\Web\Test et PHPUnit
temma-asynkTraitements asynchrones
temma-sseServer-sent events
temma-attributeCréation d'attributs PHP personnalisés
temma-logJournalisation, niveaux, gestionnaires de log
temma-securityChecklist d'audit de sécurité

2Installation

2.1Nouveaux projets

Pour un projet créé avec composer create-project digicreon/temma-project-web (ou temma-project-api), il n'y a rien à faire : les skills sont installés automatiquement à la création du projet, puis maintenus à jour à chaque composer install et composer update (les hooks sont déclarés dans le composer.json du squelette).


2.2Projets existants

Commencez par mettre à jour la bibliothèque :

$ composer update digicreon/temma-lib

Puis, soit vous lancez la synchronisation manuellement :

$ php vendor/digicreon/temma-lib/skills/sync.php

soit (recommandé) vous ajoutez les hooks au composer.json de votre projet, afin que les skills soient maintenus à jour automatiquement :

"scripts": {
    "temma-skills-sync": "@php -r \"file_exists('vendor/digicreon/temma-lib/skills/sync.php') && include('vendor/digicreon/temma-lib/skills/sync.php');\"",
    "post-install-cmd": ["@temma-skills-sync"],
    "post-update-cmd":  ["@temma-skills-sync"]
}

2.3Ce que fait la synchronisation

La synchronisation crée un symlink relatif par skill, pointant vers le répertoire vendored, à la fois dans .claude/skills/ (Claude Code) et dans .agents/skills/ (OpenAI Codex et outils compatibles). Les répertoires sont créés au besoin.

La synchronisation est conçue pour être sûre et ne fait jamais échouer Composer (elle n'affiche que des avertissements) :
  • vos propres skills ne sont jamais touchés : vous pouvez créer les vôtres (vrais répertoires) à côté des symlinks ;
  • seuls les symlinks morts pointant vers vendor/digicreon/temma-lib/skills/ sont supprimés (skill retiré ou renommé côté framework) ; tout autre lien ou répertoire est préservé.

3Utilisation

Les agents découvrent les skills automatiquement (leurs métadonnées sont chargées au démarrage de la session) et les activent quand la tâche s'y prête. Dans Claude Code, un skill peut aussi être invoqué explicitement, par exemple /temma-controller ou /temma-security.

Le skill temma-site-guide est le point d'entrée : il guide la construction d'un site pas à pas et renvoie vers les skills spécialisés au fur et à mesure.

Les modifications (mise à jour de la bibliothèque, ajout d'un skill) sont prises en compte à chaud par Claude Code ; seule la création initiale du répertoire .claude/skills/ nécessite un redémarrage de la session.


4Personnalisation

Vous pouvez créer vos propres skills (vrais répertoires) dans .claude/skills/ ou .agents/skills/, à côté des symlinks fournis : ils ne sont jamais touchés par la synchronisation.

Surcharger un skill fourni : un vrai répertoire portant le même nom qu'un skill fourni a priorité. Le skill fourni n'est alors pas installé, et un avertissement est affiché.

Exclusions et désactivation : dans le composer.json de votre projet, la section extra.temma-skills permet d'exclure certains skills ou de désactiver complètement la synchronisation :

"extra": {
    "temma-skills": {
        "exclude": ["temma-ai", "temma-sse"],
        "disabled": false
    }
}
  • exclude : retire les skills listés (et leur symlink existant).
  • disabled : mettre à true pour désactiver toute la synchronisation.

Sans un tel opt-out, un symlink supprimé à la main est recréé au composer update suivant.


5Limites

  • Windows : si la création des symlinks échoue (privilèges insuffisants), les skills sont copiés à la place. Ces copies ne sont ensuite jamais mises à jour automatiquement ; pour les rafraîchir, supprimez le répertoire copié et relancez la synchronisation.
  • Outils à découverte de niveau « utilisateur » (comme Gemini CLI ou Antigravity, qui lisent un répertoire du dossier personnel plutôt que du projet) : installation manuelle, par exemple en copiant ou en liant les skills depuis vendor/digicreon/temma-lib/skills/ vers le répertoire attendu par l'outil.
  • Le standard Agent Skills définit le format, pas l'emplacement : .claude/skills/ et .agents/skills/ couvrent Claude Code, Codex et les outils compatibles ; d'autres outils peuvent demander une configuration spécifique.