Skip to content
Back to skills

createur-de-skill

ASecurity

Concevoir un nouveau skill OBSIA ou en réviser un — périmètre, dosage, découpage, frontmatter — et rédiger une fiche MCP de `IA/MCP/`. À charger avant d'écrire ou de modifier un fichier de `IA/skills/` ou de `IA/MCP/`, y compris pour n'en changer que la description. Ne sert pas à exécuter un skill existant.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsgitapidocumentation

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add kevines-ods/OBSIA --skill skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of createur-de-skill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for createur-de-skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kevines-ods-createur-de-skill/badge)](https://www.skillsdirectory.com/skills/kevines-ods-createur-de-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
schema: 1
kind: skill
name: createur-de-skill
description: Concevoir un nouveau skill OBSIA ou en réviser un — périmètre, dosage, découpage, frontmatter — et rédiger une fiche MCP de `IA/MCP/`. À charger avant d'écrire ou de modifier un fichier de `IA/skills/` ou de `IA/MCP/`, y compris pour n'en changer que la description. Ne sert pas à exécuter un skill existant.
module: noyau
type: core
read_only: false
---

# Skill — Créateur de skill

Guide de conception des skills du coffre. À charger quand on crée un skill ou
qu'on en révise un.

> **Adaptation.** Version condensée du `skill-creator` d'origine (357 lignes),
> traduite et alignée sur les conventions OBSIA. Le principe « la concision est
> la règle » s'applique d'abord à ce fichier lui-même.

## Ce qu'est un skill

Un skill est un paquet autonome qui apporte une compétence procédurale : un
savoir-faire qu'un modèle ne peut pas deviner. Ce n'est pas un agent : il ne
décide pas, il explique comment faire.

## Principe 1 — La fenêtre de contexte est un bien commun

Elle est partagée entre le system prompt, l'historique, les métadonnées de tous
les autres skills, et la demande réelle de l'utilisateur.

**Partir du principe que le modèle est déjà compétent.** N'ajouter que ce qu'il
ne peut pas savoir : les spécificités de ton coffre, tes conventions, tes
chemins. Pour chaque paragraphe, se demander s'il justifie son coût en tokens.

Un exemple concis vaut mieux qu'une explication longue.

## Principe 2 — Doser la liberté laissée à l'agent

| Situation | Forme à donner |
| --- | --- |
| Plusieurs approches valables, ça dépend du contexte | instructions en texte |
| Un motif préféré existe, des variantes acceptables | pseudo-code, script paramétré |
| Opération fragile, l'ordre compte, erreurs coûteuses | script précis, peu de paramètres |

L'image : un chemin en terrain ouvert n'a pas besoin de barrières ; une
passerelle au-dessus du vide, si.

## Principe 3 — Divulgation progressive

Trois niveaux de chargement :

1. **Frontmatter** (`name` + `description`) — toujours en contexte. C'est le seul
   élément qui détermine si le skill se déclenche. Il doit dire clairement
   *quoi* et *quand*.
2. **Corps du fichier** — chargé seulement si le skill se déclenche. Viser moins
   de 500 lignes.
3. **Ressources annexes** — chargées à la demande, ou exécutées sans jamais être
   lues. Pas de limite de taille.

Quand le corps approche des 500 lignes, découper. Et toujours **référencer
explicitement** les fichiers extraits depuis le corps, en disant quand les lire :
un fichier qu'on ne sait pas exister n'est jamais consulté.

## Structure d'un skill

Par défaut, un skill est **un seul fichier** : `IA/skills/<nom>.md`. C'est la
forme de tous les skills du coffre aujourd'hui — le plus gros fait 187 lignes.

Quand le corps approche des 500 lignes, ou qu'une information devient
consultative plutôt que procédurale, passer à la **forme dossier** :

```
IA/skills/<nom>/
├── <nom>.md          point d'entrée — porte le nom du dossier, PAS `SKILL.md`
├── scripts/          code exécutable — déterministe, non chargé en contexte
├── references/       documentation à charger au besoin
└── assets/           fichiers réutilisés dans la sortie (gabarits, polices)
```

- **`scripts/`** : quand le même code est réécrit sans arrêt, ou quand il faut
  un résultat fiable et reproductible.
- **`references/`** : schémas, doc d'API, procédures détaillées. Une information
  vit soit dans le corps, soit dans une référence — **jamais les deux**, sinon
  les deux divergent. Chaque fichier extrait est **cité depuis le corps**, en
  disant quand le lire ; `scripts/verifier_coffre.py` avertit sinon.
- **`assets/`** : ce qui finit dans le résultat produit, pas dans le contexte.

> Le nom `SKILL.md`, courant ailleurs, est écarté ici : le §5 du contrat exige
> que le fichier porte le `name`, et le §6 l'unicité des noms de notes dans le
> coffre parent. Douze fichiers `SKILL.md` rendraient les rétroliens Obsidian
> ambigus.

## Ce qu'un skill ne doit PAS contenir

Pas de `README.md`, pas de `GUIDE-INSTALLATION.md`, pas de `CHANGELOG.md`, pas
de notes sur la façon dont le skill a été fabriqué. Un skill contient ce qu'il
faut pour faire le travail, rien d'autre. Le reste est de l'encombrement.

## Conventions OBSIA

Tout skill du coffre respecte le frontmatter défini par le contrat : les règles
au §5 de `../system/VAULT-CONTRACT.md`, le détail des champs par genre dans
l'annexe `../system/contrat/contrat-frontmatter.md` :

```yaml
---
schema: 1
kind: skill
name: nom-du-skill
description: Une ligne qui dit quoi et quand.
type: core        # ou: outil
read_only: true   # ou: false
---
```

Rappels qui découlent du contrat :

- Les règles communes (sandbox, preview, archivage, écriture par patch) ne sont
  **pas recopiées** dans le skill. On y renvoie.
- Le nom du fichier est identique au champ `name`.
- Les noms doivent être uniques dans tout le coffre parent, pas seulement dans
  `OBSIA/` — les rétroliens Obsidian ignorent la frontière git.
- Le lien vers le contrat dépend de la forme — un niveau de `../` de plus
  pour un skill en dossier (`IA/skills/<nom>/<nom>.md`) que pour un skill
  plat. Changer de forme, c'est corriger ce lien.

## Frontmatter d'une fiche MCP

Une fiche de `IA/MCP/` décrit un **outil**, pas un interlocuteur : ni
`read_only` (elle n'écrit rien par elle-même, c'est l'agent qui l'appelle), ni
`skills`.

```yaml
---
schema: 1
kind: mcp
name: nom-du-serveur     # identique au nom du fichier
description: Une ligne qui dit quoi et quand.
module: nom-du-module    # le module du §13 auquel la fiche appartient
type: tool               # seule valeur à ce jour
transport: stdio         # ou: http — comment le harness joint le serveur
permission: normal       # ou: elevated
---
```

Deux pièges, et ils se paient tous les deux plus tard :

- **`type: tool` n'est pas le `type` d'un skill.** Même clé, vocabulaire
  distinct : un skill porte `core` ou `outil`, une fiche MCP porte `tool`.
  Recopier le frontmatter d'un skill produit un fichier que le vérificateur
  refuse.
- **`permission` gradue la prudence *avant* l'appel, jamais la trace après.**
  Mettre `elevated` dès qu'un système externe est touché — réseau, dépôt
  distant, navigateur. `normal` ne dispense pas de consigner l'usage : c'est la
  règle du contrat, et elle vaut pour les deux valeurs.

Le corps de la fiche porte ce que le frontmatter ne peut pas dire : les outils
exposés, leurs permissions réelles, et les **limites propres à ce serveur**.
C'est là que ça compte — un serveur de fichiers peut techniquement écrire
partout, et c'est sa fiche, pas le serveur, qui dit où il a le droit d'écrire.

Une fiche que **personne ne déclare** est du code mort : un MCP n'est utilisable
que déclaré par un agent, et le vérificateur signale ceux qui ne le sont pas.

## La table des rationalisations

Un skill procédural finit par une table des **excuses que l'agent se donne
pour sauter l'étape**, et de ce qui les rend fausses :

```markdown
## Rationalisations

| Ce qu'on se dit | La réalité |
| --- | --- |
| « j'écrirai les tests après » | non. Et écrits après, ils testent l'implémentation, pas le comportement |
| « je relance la suite pour être sûr » | après une exécution propre, la relancer sans avoir rien changé n'apporte rien |
```

Ce n'est pas de la décoration. Une procédure dit quoi faire ; elle ne résiste
pas à la phrase qui la contourne — et c'est toujours la même poignée de
phrases. Les écrire, c'est les désarmer d'avance : l'agent qui se surprend à
les formuler reconnaît le raccourci au lieu de le prendre.

Deux règles pour qu'elle serve :

- **la colonne de gauche se cite au discours direct**, telle qu'on se la dit.
  Une excuse reformulée en langage technique ne se reconnaît plus ;
- **la colonne de droite donne la conséquence concrète**, pas un rappel de la
  règle. « Le `skip` restera » agit ; « c'est interdit » non.

Une table de cinq à sept lignes suffit. Au-delà, on y range des règles qui
appartiennent au corps du skill.

## Procédure de création

1. Écrire d'abord le `description` du frontmatter. S'il est difficile à écrire,
   c'est que le périmètre du skill n'est pas clair : le retravailler avant tout
   le reste.
2. Écrire le corps minimal : la procédure, rien de plus.
3. Extraire dans `references/` tout ce qui est consultatif plutôt que procédural.
4. Relire en supprimant : chaque phrase que le modèle connaît déjà est du poids
   mort.
5. Vérifier qu'aucune règle du contrat n'a été recopiée par inadvertance.
6. Écrire la table des rationalisations — les excuses, pas les règles.

Files in this skill

  • administration-proxmox.md8.5 KB
  • amorcage-du-projet.md4.3 KB
  • audit-de-securite.md6.8 KB
  • bureautique.md5.2 KB
  • cadrage-produit.md4.1 KB
  • cartographie-du-coffre.md3.9 KB
  • choix-de-la-stack.md4.3 KB
  • cloture-de-session.md10.5 KB
  • compilation-des-lecons.md7.7 KB
  • configuration-mcp.md9.1 KB
  • construction-dune-tranche.md4.8 KB
  • conteneurs-docker.md5.1 KB
  • controle-de-cap.md2.6 KB
  • createur-de-skill.md8.7 KB
  • cron/cron.md14.2 KB
  • cron/scripts/appliquer_taches.py14.2 KB
  • delegation-locale/delegation-locale.md4.8 KB
  • delegation-locale/scripts/mcp_modele_local.py8.2 KB
  • dette-technique.md4.1 KB
  • diagnostic-linux.md7.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…