Composer une instruction d'écriture
Comprenant la combinaison d'entrées de taxonomie provenant des axes Voix et Ton, Style et Format.
Utilisation
/writing-style-catalog:writing-instruction-builder [voice=<id>] [tone=<id>] [style=<id>] [format=<id>] [topic=<text>] [audience=<text>]
Tous les paramètres sont facultatifs. S'ils sont omis, la compétence choisit des valeurs par défaut sensées.
Paramètres
voice- Identifiant d'une entrée de Voix (ex. :pragmatic-architect,pastoral,columnist)tone- Identifiant d'une entrée de Ton (ex. :candid,warm,matter-of-fact)style- Identifiant d'une entrée de Style (ex. :problem-solution,devotional-reflection)format- Identifiant d'une entrée de Format (ex. :adr,blog-post-long-form,slack-message)topic- Le sujet ou thème à traiter (optionnel, pour une instruction composée plus concrète)audience- Le public cible (optionnel, par défaut général)
Ce que fait la compétence
- Valide chaque identifiant d'entrée fourni par rapport au catalogue de taxonomie
- Lit le champ
llm_instruction_phrasingde chaque entrée correspondante - Assemble une chaîne d'instruction composée dans un ordre de précédence fixe : voix, puis ton, puis style, puis format
- Vérifie les relations des entrées sélectionnées entre elles et émet un avertissement en cas de conflit (sans bloquer)
- Retourne l'instruction composée prête à être collée dans n'importe quel prompt d'IA
Implémentation
La composition est implémentée par le script d'assistance scripts/build-instruction.py présent dans ce dossier de compétence. Il lit le catalogue depuis le répertoire taxonomy/ à la racine du plugin, ce répertoire étant fourni avec le plugin. La commande slash prend des arguments clé=valeur ; le script prend des arguments --flag valeur. Exécutez-le directement pour composer sans la commande slash, par exemple :
python scripts/build-instruction.py --voice pragmatic-architect --tone candid --format adr
Composition consciente des conflits
Le constructeur lit les relations avoid_with et pairs_well_with de chaque entrée sélectionnée et les rapportent, garantissant ainsi une composition vérifiée plutôt qu'une simple concaténation aveugle. Les règles (voir ADR 0016) :
- Les conflits sont symétriques. Une paire est signalée si l'une ou l'autre des entrées liste l'autre dans
avoid_with, de sorte que l'avertissement ne dépend jamais de l'auteur qui a enregistré le lien. - Avertir, jamais bloquer. Une paire conflictuelle compose quand même (vous pouvez vouloir une tension délibérée) ; le constructeur émet un avertissement et applique la précédence voix -> ton -> style -> format afin que l'axe de précédence supérieure dirige.
- Confirmations. Une correspondance
pairs_well_withest présentée comme une note de confirmation.
L'instruction composée est écrite sur stdout ; les avertissements de conflit et les notes de confirmation sont écrits sur stderr, afin que stdout reste un prompt propre et directement redirigeable. Par exemple, associer la voix pragmatic-architect au ton reverent (qui la liste dans avoid_with) renvoie l'instruction et imprime :
warning: conflict - pragmatic-architect (voice) and reverent (tone) are marked avoid_with.
Composing anyway with voice -> tone -> style -> format precedence; expect tension.
Exemples
Composer un ADR en voix pragmatic-architect avec un ton candid :
/writing-style-catalog:writing-instruction-builder voice=pragmatic-architect tone=candid format=adr
Composer un dévotionnel pastoral :
/writing-style-catalog:writing-instruction-builder voice=pastoral tone=reverent style=devotional-reflection format=devotional-entry topic="La discipline du repos"
Entrées disponibles
Exécutez la commande sans arguments pour voir toutes les entrées disponibles regroupées par axe.