Synthèse automatique
Gère le fichier `.aid/settings.yml` du pipeline AID : affiche tous les réglages sous forme de tableau ou met à jour une clé précise de façon interactive.
Points forts
- Crée automatiquement `.aid/settings.yml` à partir du template au premier lancement
- Le mode global affiche les six clés dans un ordre fixe et signale les valeurs non renseignées par ⚠ unset
- Pour chaque valeur non renseignée, génère des commandes copiables-collables prêtes à exécuter
- Le mode par clé valide la saisie avant d'écrire, avec suggestions et champ libre via 'Other'
Limites
- Ne couvre que six clés prédéfinies ; toute autre clé est rejetée
- Écrit des fichiers, donc le skill s'arrête en mode Plan
- Dépend de chemins internes (`canonical/aid/templates/settings.yml`, `canonical/aid/scripts/config/read-setting.sh`) qui doivent exister
À utiliser pour consulter ou modifier rapidement l'identité du projet, la source de contrôle ou les seuils du pipeline AID sans éditer le YAML à la main.
À éviter si vous travaillez en mode Plan, ou si vous devez modifier des clés absentes de la liste fixe ou des sections du fichier autres que les réglages.
Analyse de sécurité
PrudenceThe skill is a narrow configuration editor: it reads/writes a single flat YAML file inside the project's .aid directory, uses Bash only to run a local read-setting script and an atomic rename, and asks the user for confirmation via AskUserQuestion. There is no obfuscation, no network access, no credential handling, no destructive commands, and no attempt to disable safety controls. The only real exposure is executing a repo-supplied shell helper and mutating project files, which is powerful but legitimate for this purpose — hence caution rather than safe.
- •Invokes an external helper script (canonical/aid/scripts/config/read-setting.sh) via Bash whose contents are not auditable from SKILL.md alone
- •Writes and rewrites files in the user's project (.aid/settings.yml) including creating directories on first run
- •Uses temp-file + `mv -f` in-place replacement, which can clobber concurrent manual edits (mutex explicitly skipped)
Exemples
/aid-config/aid-config name/aid-config minimum_gradename: aid-config description: > View or update AID pipeline settings. Bare invocation shows all values in a table; first run auto-creates .aid/settings.yml from the template. Pass a key (e.g., /aid-config name) to view + update one setting interactively. allowed-tools: Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion argument-hint: "(none) view all | <key> view+update one (e.g., name, minimum_grade)"
AID Project Configuration
/aid-config reads and writes .aid/settings.yml — the single source of truth
for AID pipeline settings (grades, heartbeat, project identity).
Two modes, nothing else.
| Invocation | What it does |
|---|---|
| /aid-config | Show all settings as a table. On first run (no settings.yml), copy the template into place first, then show. |
| /aid-config <key> | Show the current value of <key>; prompt for new (with suggestions + always a free-form option); validate; write in place. |
Examples: /aid-config name, /aid-config minimum_grade,
/aid-config source_control.
Pre-flight
- ✅
DefaultorAuto-accept edits→ proceed - ❌
Plan mode→ STOP. This skill writes files.
Mode 1 — Show all settings (/aid-config)
Step 1: Ensure .aid/settings.yml exists
If .aid/settings.yml is missing:
- Create
.aid/directory if absent (do NOT touch.aid/knowledge/or other subdirs). - Copy
canonical/aid/templates/settings.yml→.aid/settings.ymlverbatim. - Print:
Created .aid/settings.yml from template.
Step 2: Render the table
Read .aid/settings.yml. Print a table with these columns:
Key | Value
Order: name, description, type, source_control, minimum_grade, heartbeat_interval.
If any value matches a <placeholder> pattern (e.g., <project-name>), append ⚠ unset after the value.
Step 3: Suggest commands for unset values + the general update form
After the table, ALWAYS print the line:
Run /aid-config <key> to update any value.
If ANY rows were marked ⚠ unset, ALSO emit a copy-pasteable command per unset row, so the user can act without having to assemble the key themselves:
N values unset. To set them:
/aid-config name
/aid-config description
Exit. No prompt; no further interaction.
Mode 2 — View/update one key (/aid-config <key>)
Step 1: Validate the key argument
Accepted keys:
namedescriptiontypesource_controlminimum_gradeheartbeat_interval
If the key doesn't match: print ❌ Unknown key: <key> + the accepted list + exit.
Step 2: Ensure .aid/settings.yml exists
Same as Mode 1 Step 1.
Step 3: Read current value
Run:
bash canonical/aid/scripts/config/read-setting.sh --path <key> --default '(unset)'
Print: Current value of <key>: <value>.
Step 4: Prompt for new value
Use AskUserQuestion for ALL keys with:
- A
Keep current valueoption (description: shows the current value) - 2–3 suggestion options from the Suggestions table below
Each option has only label + description. Do NOT use the preview field — the preview field switches the UI to a side-by-side layout that suppresses the auto-injected Other free-text input. With description only, the standard layout shows the Other field automatically and the user can always type a custom value.
Do NOT add an explicit Other option in the options list — the tool injects it automatically (and only renders it correctly when no option carries a preview).
For free-text-natural keys (name, description), the Suggestions table says (no defaults) — render the question with just Keep current value + the auto-injected Other field; the user types their value into Other.
Question text format (keep brief, mention free-text via Other if the user might want it):
New value for <key>? (pick a suggestion or type your own via 'Other')
Step 5: Validate
Per the Validation table below. If invalid: print the validation error + re-prompt (loop back to Step 4).
Step 6: Save in place
Read .aid/settings.yml into memory. settings.yml is a flat file — every user-editable
key is a top-level scalar (<key>: <value>), no section nesting. Replace the top-level line
for <key> if one is present; otherwise append a new top-level <key>: <value> line at the
end of the file. Preserve all other lines and inline comments exactly as they are. Use a
same-directory temp file + mv -f for crash-safety (POSIX atomic rename), but no lock-dir
mutex — aid-config is interactive single-user; concurrent writes are not a real failure mode.
Step 7: Confirm
Print: ✓ <key>: <old> → <new> and exit.
Validation table
| Key | Valid values |
|---|---|
| name | Non-empty string, no whitespace |
| description | Non-empty single-line string (NO newlines — settings.yml uses inline YAML scalars) |
| type | brownfield or greenfield |
| source_control | none, git, svn, or mercurial |
| minimum_grade | Regex ^[A-F][+-]?$. E-grades are accepted but rarely useful as a floor. |
| heartbeat_interval | Positive integer (minutes). 0 disables heartbeat. |
Internal keys (producer-written — NOT user-configurable)
/aid-config deliberately does not expose these — they are absent from Accepted keys
(Mode 2 Step 1) and from the Validation table above. They are written and maintained
by pipeline producers, never by the user. Running /aid-config knowledge (or any
knowledge.* sub-path) is rejected as an unknown key (❌ Unknown key) — that is the
intended behavior, not a gap.
| Key | Owner / contract |
|---|---|
| knowledge | Nested block {source: <default-branch>, last_update: <ISO-8601 commit date>, doc_set: [...], term_exclusions: [...]}. knowledge.source (the branch compared for KB freshness) and knowledge.last_update are written by aid-discover (on KB approval, FR35) and aid-housekeep (re-stamp on KB-DELTA refresh, FR36); read by the dashboard reader for outdated-detection (feature-007 FF-A2). knowledge.doc_set and knowledge.term_exclusions are runtime-written by aid-discover. Absence-tolerant — a missing knowledge block means "no baseline recorded" and the reader stays approved. Producer write-path (R13): the first write is a multi-line nested block (source: + last_update: + doc_set: + term_exclusions:) via the append-block idiom; a later last_update re-stamp is a single-line replace of that nested line. |
Suggestions table (for Mode 2 AskUserQuestion)
| Key | Suggestions |
|---|---|
| name | (no defaults — user types their own) |
| description | (no defaults — user types their own) |
| type | brownfield, greenfield |
| source_control | none, git, svn, mercurial |
| minimum_grade | A+, A, B+ |
| heartbeat_interval | 0 (disabled), 1, 5 |
Always include a Keep current value option and let AskUserQuestion's built-in Other field handle free-form input.
How consumer skills read settings
Consumer skills (/aid-discover, /aid-execute, etc.) resolve minimum_grade using this order:
minimum_gradein.aid/settings.yml— use if present- Hardcoded skill default — use only if
.aid/settings.ymlis missing entirely, or the key is unset
The canonical resolution helper is canonical/aid/scripts/config/read-setting.sh. Consumer skills invoke:
bash canonical/aid/scripts/config/read-setting.sh --key minimum_grade --default A
Schema reference
Canonical schema: canonical/aid/templates/settings.yml. Flat top-level scalar keys
(name, description, type, source_control, minimum_grade, heartbeat_interval) as
described in the tables above. The knowledge: block is producer-written — see
Internal keys above, not user-configurable via this skill.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/aid-pipeline-configuration-ms1aw4lt' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/aid-pipeline-configuration-ms1aw4lt/download' --output '.skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md.part' && mv '.skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md.part' '.skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md' && test -s '.skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/aid-config' && cp -R '.skill-downloads/aid-pipeline-configuration-ms1aw4lt' '.claude/skills/aid-config'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/aid-pipeline-configuration-ms1aw4lt'openskills read 'aid-pipeline-configuration-ms1aw4lt'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/aid-pipeline-configuration-ms1aw4lt/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.