write-a-skill
Write a Skill
Create a new skill for the foundation-skills repository following all repo conventions.
Workflow
Step 1: Gather requirements
Ask the user:
- What task or domain does the skill cover?
- What specific use cases should it handle?
- What triggers should activate it? (keywords, phrases, file types)
- Any reference materials to include?
Step 2: Choose a skill name
- Use lowercase kebab-case (e.g.,
my-new-skill) - Keep it short and descriptive
- Verify the name is not already taken in
skills/
Step 3: Create skills/<name>/SKILL.md
Start from skills/_TEMPLATE/SKILL.md but apply these mandatory conventions:
Frontmatter (YAML):
---
name: <skill-name>
description: <what it does>. Use when <triggers>.
version: 1.0.0
---
name,description,versionare required and at root level (not nested undermetadata)descriptionmax 1024 characters. First sentence: what it does. Second sentence: "Use when [triggers]."versionstarts at1.0.0for new skills- SKILL.md is written in English
Body rules:
- Keep SKILL.md under 100 lines — concise, actionable instructions only
- Use progressive disclosure: put detailed content in
reference/files - Include concrete examples
- No time-sensitive information
- If the skill requires external CLI tools (e.g.,
gh,glab,jq,playwright), add a## Prerequisitessection listing each tool with its install command. If the tool is not already handled byskills/setup/reference/setup.sh, add it there and bumpsetup's version (the setup script is maintained manually).
Step 4: Create reference files (if needed)
If content exceeds 100 lines or has distinct domains, split into:
skills/<name>/
├── SKILL.md
└── reference/
├── detailed-guide.md
└── examples.md
Reference from SKILL.md: See [detailed guide](reference/detailed-guide.md)
Step 5: Create docs/<name>.md
Create the matching documentation file in French. It must include:
- Title (skill name)
- Description section
- Cas d'usage (use cases)
- Declenchement (triggers)
- Fonctionnement (how it works)
- Exemples (examples in both English and French)
- Version number
See existing files in docs/ for style reference.
Step 6: Review checklist
-
skills/<name>/SKILL.mdexists with valid frontmatter (name,description,versionat root) - Description includes triggers ("Use when...")
- Description under 1024 characters
- SKILL.md under 100 lines
- SKILL.md written in English
-
docs/<name>.mdexists, written in French - No time-sensitive info, consistent terminology
- Concrete examples included
- Reference files only one level deep
- If external CLI tools are required, a
## Prerequisitessection is present with install commands - If the skill requires a new CLI tool not already handled by
setup.sh, add it toskills/setup/reference/setup.shand bumpsetup's version
Versioning rules
When modifying an existing skill, bump its version field:
- patch (1.0.0 -> 1.0.1): typo fixes, wording improvements, minor clarifications
- minor (1.0.0 -> 1.1.0): new features, new sections, meaningful behavior changes
- major (1.0.0 -> 2.0.0): breaking changes (renamed skill, removed features, restructured workflow)
Important Notes
- Every skill lives in
skills/<name>/SKILL.md; documentation indocs/<name>.md(in French) - The
descriptionfield is the only thing the agent sees when choosing which skill to load — make it count - Scripts are discouraged; prefer Markdown instructions. Add scripts only for deterministic operations
More from dedalus-erp-pas/foundation-skills
react-best-practices
Guide complet des bonnes pratiques React et Next.js couvrant l'optimisation des performances, l'architecture des composants, les patrons shadcn/ui, les animations Motion et les patrons modernes React 19+. À utiliser lors de l'écriture, la revue ou le refactoring de code React/Next.js. Se déclenche sur les tâches impliquant des composants React, des pages Next.js, du data fetching, des composants UI, des animations ou de l'amélioration de la qualité du code.
208vue-best-practices
Guide des bonnes pratiques Vue.js 3 couvrant la Composition API, la conception de composants, les patrons de réactivité, le styling utility-first avec Tailwind CSS, l'intégration native de la bibliothèque de composants PrimeVue et l'organisation du code. À utiliser lors de l'écriture, la revue ou le refactoring de code Vue.js pour garantir des patrons idiomatiques et un code maintenable.
205playwright-skill
Automatisation complète du navigateur et tests web avec Playwright. Détecte automatiquement les serveurs de développement, gère le cycle de vie des serveurs, écrit des scripts de test propres dans /tmp. Tester des pages, remplir des formulaires, capturer des screenshots, vérifier le responsive design, valider l'UX, tester les flux de connexion, vérifier les liens, déboguer des webapps dynamiques, automatiser toute tâche navigateur. À utiliser quand l'utilisateur veut tester des sites web, automatiser des interactions navigateur, valider des fonctionnalités web ou effectuer tout test basé sur le navigateur.
170changelog-generator
Crée automatiquement des changelogs orientés utilisateur à partir des commits git en analysant l'historique, catégorisant les changements et transformant les commits techniques en notes de version claires et compréhensibles. Transforme des heures de rédaction manuelle en minutes de génération automatisée.
147postgres
Exécute des requêtes SQL en lecture seule sur plusieurs bases de données PostgreSQL. À utiliser pour : (1) interroger des bases PostgreSQL, (2) explorer les schémas/tables, (3) exécuter des requêtes SELECT pour l'analyse de données, (4) vérifier le contenu des bases. Supporte plusieurs connexions avec descriptions pour une sélection automatique intelligente. Bloque toutes les opérations d'écriture (INSERT, UPDATE, DELETE, DROP, etc.) par sécurité.
147article-extractor
Extraire le contenu propre d'articles depuis des URLs (billets de blog, articles, tutoriels) et sauvegarder en texte lisible. À utiliser quand l'utilisateur veut télécharger, extraire ou sauvegarder un article/billet de blog depuis une URL sans publicités, navigation ou encombrement.
146