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é

2Créer un projet avec un agent IA

Vous n'êtes pas obligé de créer votre projet à la main. Si vous travaillez avec un agent de codage (Claude Code, OpenAI Codex, GitHub Copilot…), il suffit de lui donner cette phrase :

Crée un site en utilisant Temma (temma.net/go)

L'adresse temma.net/go renvoie vers le fichier llms-install.md, un guide d'installation exécutable, écrit pour être lu par un agent. Il lui indique quoi faire, étape par étape :

  • vérifier les prérequis (PHP 8.3 ou supérieur, Composer), et les installer si nécessaire ;
  • poser les questions de départ : site web ou API, nom du projet, manière de le servir en local (serveur de développement, Apache ou Nginx), moteur de base de données ;
  • créer le projet avec composer create-project ;
  • créer la base de données et vérifier la connexion ;
  • démarrer le site et vérifier que la page d'accueil répond ;
  • lire le skill temma-site-guide, puis demander quoi construire en premier.

À la fin de l'installation, les skills présentés ci-dessus sont déjà en place dans le projet : l'agent enchaîne directement sur le développement, en suivant les conventions du framework.

Le site publie aussi un fichier llms.txt, qui présente Temma et liste les pages de documentation avec un résumé de leur contenu. C'est le point d'entrée qu'un agent utilise pour se repérer dans la documentation lorsqu'il travaille sur un projet Temma.

3Installation

3.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).


3.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"]
}

3.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é.

4Utilisation

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.


5Personnalisation

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.


6Limites

  • 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.