feat(pack,docs): pack de démarrage 20 prompts, README, tests, CI, build
ci / verifier-pack (push) Successful in 1m29s

- packs/essentiels : 20 prompts en 4 catégories (Général, Écriture, Code,
  Analyse), en-têtes conformes au parseur, variables déclarées = utilisées
- tests/run_tests.ahk : suites Frontmatter, Variables, JSON, Recherche,
  encodage UTF-8 (à exécuter sous Windows avec AutoHotkey v2)
- scripts/check_pack.py + .gitea/workflows/ci.yml : cohérence du pack
- build.ps1 : tests puis compilation Ahk2Exe et zip portable
- docs : document d'architecture et de conception v1.0
This commit is contained in:
Spark
2026-10-11 10:17:30 -04:00
parent 348036daf3
commit 258287b2ea
29 changed files with 2083 additions and 0 deletions
@@ -0,0 +1,23 @@
---
id: 712359c5-f741-4439-8ca9-a795d7ee41b8
title: Comparer deux options
tags: [analyse, comparaison, décision]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: contexte
label: Mes critères de choix
type: multiline
required: false
---
Compare les deux options décrites ci-dessous, selon mes critères : {{contexte}}
- Présente un tableau Markdown : Critère | Option A | Option B — une ligne par critère pertinent, en commençant par mes critères s'ils sont fournis.
- Après le tableau, donne les avantages décisifs de chaque option en une phrase.
- Termine par une recommandation argumentée, et précise quelle information supplémentaire pourrait la faire changer.
Options :
{{selection}}
@@ -0,0 +1,18 @@
---
id: 0f5a51ee-e852-4a26-8fda-a5def71136eb
title: Extraire décisions et tâches
tags: [compte rendu, décisions, tâches, extraction]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
---
À partir du compte rendu ci-dessous, extrais uniquement ce qui y figure réellement :
1. **Décisions prises** — liste, une décision par ligne, formulée comme dans le texte.
2. **Tâches** — tableau Markdown : Tâche | Responsable | Échéance. Si le responsable ou l'échéance n'est pas indiqué, écris « à définir » — n'invente rien.
3. **Points en suspens** — questions ouvertes ou sujets reportés.
Compte rendu :
{{selection}}
@@ -0,0 +1,26 @@
---
id: c2bf8e1f-0ab4-45a5-990a-132ca10ebe2f
title: Pour / contre structuré
tags: [analyse, décision, pour-contre]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: contexte
label: Contexte ou critères personnels
type: multiline
required: false
---
Analyse la décision ou le sujet ci-dessous de façon structurée.
1. **Pour** — les arguments favorables, du plus fort au plus faible.
2. **Contre** — les arguments défavorables, du plus fort au plus faible.
3. **Conditions** — ce qui ferait pencher la balance d'un côté ou de l'autre.
4. **Conclusion** — une recommandation en deux phrases, en tenant compte du contexte fourni (s'il y en a un).
Contexte : {{contexte}}
Sujet :
{{selection}}
@@ -0,0 +1,30 @@
---
id: 77d2e25e-08fb-454e-9178-973248fdd7e9
title: Résumé exécutif
tags: [analyse, résumé, direction]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: longueur
label: Longueur visée
type: enum
choices: ["1 page", "10 lignes", "5 lignes"]
default: "1 page"
- name: public
label: Public du résumé
type: enum
choices: [direction, équipe, client]
default: direction
---
Rédige un résumé exécutif du document ci-dessous (longueur : {{longueur}} ; public : {{public}}).
- Ouvre sur la conclusion ou la décision essentielle, pas sur le contexte.
- Puis : les 3 à 5 faits qui comptent, les risques ou points d'attention, et la suite attendue.
- Style factuel, phrases courtes, aucun jargon inutile ; conserve les chiffres clés.
- N'ajoute aucune information absente du document.
Document :
{{selection}}
@@ -0,0 +1,25 @@
---
id: 7ffb9069-4566-4741-b0f0-1409ec1fb10c
title: Transformer en tableau Markdown
tags: [analyse, tableau, markdown, données]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: tri
label: Tri des lignes
type: enum
choices: [ordre d'apparition, alphabétique, aucun]
default: ordre d'apparition
---
Transforme les données ci-dessous en un tableau Markdown propre (tri des lignes : {{tri}}).
- Déduis les colonnes du contenu ; en-têtes courts et explicites.
- Une information par cellule ; si une valeur manque, laisse la cellule vide.
- Aligne les nombres à droite si le format le permet.
- Donne uniquement le tableau, sans commentaire avant ni après.
Données :
{{selection}}
@@ -0,0 +1,25 @@
---
id: bb28f77f-bf2a-4f46-bd3f-e18be6e47736
title: Convertir dans un autre langage
tags: [code, conversion, portage]
targets: [défaut, claude, chatgpt, qwen, deepseek]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: langage_cible
label: Langage cible
type: enum
choices: [Python, JavaScript, TypeScript, Go, Rust, AutoHotkey v2]
default: Python
---
Convertis le code ci-dessous en {{langage_cible}}.
- Comportement identique : mêmes entrées, mêmes sorties, mêmes cas d'erreur.
- Code idiomatique dans le langage cible, pas une traduction mot à mot.
- Si une bibliothèque d'origine n'a pas d'équivalent direct, signale-le en commentaire à l'endroit concerné.
- Donne uniquement le code converti, avec un court commentaire d'en-tête indiquant la source.
Code source :
{{selection}}
@@ -0,0 +1,30 @@
---
id: 747677e2-8379-4e93-b760-64711fb43331
title: Écrire un test pour cette fonction
tags: [code, tests, qualité]
targets: [défaut, claude, chatgpt, qwen, deepseek]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: langage
label: Langage du code
type: enum
choices: [Python, JavaScript, TypeScript, AutoHotkey, PHP, autre]
default: Python
- name: type_test
label: Type de test
type: enum
choices: [unitaire, intégration, cas limites]
default: unitaire
---
Écris un test {{type_test}} pour la fonction {{langage}} ci-dessous.
- Utilise le framework de test usuel du langage, sans l'importer si ce n'est pas nécessaire à la lisibilité.
- Couvre le cas nominal et, selon le type choisi, les entrées vides, nulles ou aux bornes.
- Noms de tests explicites ; un seul comportement vérifié par test.
- Donne uniquement le code du test, précédé d'une ligne de commentaire indiquant où le placer.
Fonction :
{{selection}}
@@ -0,0 +1,25 @@
---
id: e0b91c9f-557f-4da1-8d48-734844a61102
title: Expliquer ce code
tags: [code, explication, pédagogie]
targets: [défaut, claude, chatgpt, qwen, deepseek]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: detail
label: Niveau de détail
type: enum
choices: [par blocs, ligne par ligne, résumé puis détail]
default: par blocs
---
Explique le code ci-dessous (détail demandé : {{detail}}).
- Commence par ce que le code fait, en une phrase.
- Puis explique chaque partie dans l'ordre, en nommant le rôle des variables importantes.
- Signale les effets de bord, les hypothèses implicites et les points fragiles.
- Termine par un exemple d'entrée et le résultat attendu.
Code :
{{selection}}
@@ -0,0 +1,25 @@
---
id: 992e31fa-6259-4716-b968-d0845f7f091a
title: Message de commit à partir du diff
tags: [git, commit, diff]
targets: [défaut, claude, chatgpt, qwen, deepseek]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: style
label: Style du message
type: enum
choices: [conventionnel, simple, détaillé]
default: conventionnel
---
À partir du diff ci-dessous (presse-papiers), écris un message de commit (style : {{style}}).
- Style « conventionnel » = préfixe de type (`feat:`, `fix:`, `docs:`…) suivi d'un résumé à l'impératif, 72 caractères au maximum.
- Style « détaillé » = résumé, ligne vide, puis 2 à 4 puces expliquant le pourquoi des changements.
- Décris l'intention du changement, pas la liste mécanique des fichiers.
- Donne uniquement le message, sans guillemets ni bloc de code.
Diff :
{{clipboard}}
+30
View File
@@ -0,0 +1,30 @@
---
id: 87aa26f5-ad2b-497e-b382-0b49bb50cd3c
title: Revue de code
tags: [code, revue, qualité]
targets: [défaut, claude, chatgpt, qwen, deepseek]
favorite: true
created: 2026-10-11
updated: 2026-10-11
variables:
- name: langage
label: Langage du code
type: enum
choices: [Python, JavaScript, TypeScript, AutoHotkey, PHP, autre]
default: Python
- name: niveau
label: Niveau de sévérité
type: enum
choices: [rapide, standard, strict]
default: standard
---
Tu es un relecteur de code senior. Relis le code {{langage}} suivant (niveau de revue : {{niveau}}) et signale, par ordre de gravité :
1. les bogues probables et les cas limites non gérés ;
2. les risques de sécurité ou de perte de données ;
3. les problèmes de lisibilité qui gênent la maintenance.
Pour chaque point : explique le problème en une phrase et propose la correction minimale. Termine par un verdict en une ligne : prêt, à corriger, ou à retravailler. Ne réécris pas tout le code.
Code :
{{selection}}
@@ -0,0 +1,26 @@
---
id: 8d5b0278-9098-41af-b964-f0ef95b003b4
title: Expliquer simplement
tags: [explication, vulgarisation]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: public
label: Public visé
type: enum
choices: [grand public, débutant, connaisseur]
default: grand public
---
Explique simplement le sujet ou le texte suivant, pour un public « {{public}} ».
- Commence par l'idée essentielle en une phrase.
- Utilise un exemple concret de la vie courante.
- Évite le jargon ; quand un terme technique est indispensable, définis-le en quelques mots.
- Termine par un résumé en trois points au maximum.
- Réponds en français.
Sujet ou texte à expliquer :
{{selection}}
@@ -0,0 +1,23 @@
---
id: 9da30617-2cc8-4b1d-94ad-2fd92030ee9c
title: Expliquer une erreur
tags: [débogage, erreur, pédagogie]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: niveau
label: Mon niveau sur ce sujet
type: enum
choices: [débutant, intermédiaire, avancé]
default: intermédiaire
---
Explique l'erreur ci-dessous à un niveau {{niveau}} :
1. ce qu'elle signifie, en une phrase simple ;
2. la cause la plus probable dans ce contexte ;
3. la correction minimale à appliquer, avec l'exemple corrigé seulement.
Message d'erreur et contexte :
{{selection}}
@@ -0,0 +1,28 @@
---
id: 3a8e4180-1cbe-4910-b740-2d62215f88e6
title: Plan d'action à partir d'un texte
tags: [plan, actions, organisation]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: horizon
label: Horizon du plan
type: enum
choices: [aujourd'hui, cette semaine, ce mois]
default: cette semaine
---
À partir du texte ci-dessous, construis un plan d'action concret pour l'horizon « {{horizon}} ».
Présente-le ainsi :
1. **Objectif** — en une phrase.
2. **Étapes** — liste numérotée, chaque étape commence par un verbe d'action et tient en une ligne.
3. **Priorités** — classe les étapes en « indispensable » et « si le temps le permet ».
4. **Points à clarifier** — ce que le texte ne dit pas et qui bloque une étape.
N'invente ni échéance ni responsable qui ne figurent pas dans le texte.
Texte :
{{selection}}
@@ -0,0 +1,24 @@
---
id: 4d799fba-15c0-40b7-b46a-761a373d3fa2
title: Questions de clarification
tags: [clarification, précision, cadrage]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: nombre
label: Nombre de questions
type: enum
choices: ["3", "5", "10"]
default: "5"
---
Avant de répondre à la demande ci-dessous, pose exactement {{nombre}} questions de clarification.
- Choisis les questions dont la réponse changera le plus le résultat.
- Formule chaque question de façon courte, avec si possible des choix suggérés entre parenthèses.
- Ne réponds pas encore à la demande : termine en invitant à répondre aux questions.
Demande :
{{selection}}
@@ -0,0 +1,28 @@
---
id: 96d0d5b7-7a07-43a1-af84-dfa7024b4bcf
title: Résumer en 5 points
tags: [résumé, synthèse, court]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: true
pinned: 1
hotstring: resu;
created: 2026-10-11
updated: 2026-10-11
variables:
- name: ton
label: Ton de la réponse
type: enum
choices: [neutre, formel, amical, direct]
default: neutre
- name: longueur
label: Longueur max
type: enum
choices: ["5 points", "1 paragraphe", "détaillé"]
default: "5 points"
---
Résume le texte suivant en {{longueur}}, ton {{ton}}.
Réponds en français. Conserve les faits, les chiffres et les noms propres ; ne reformule pas la première phrase et n'ajoute aucune information absente du texte.
Texte :
{{selection}}
@@ -0,0 +1,18 @@
---
id: 3cf4a9c9-caf6-4143-ab7c-5c8e098fc3dd
title: Corriger sans changer le style
tags: [correction, orthographe, style]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
---
Corrige le texte suivant : orthographe, grammaire, ponctuation et fautes de frappe uniquement.
- Ne change ni le style, ni le ton, ni le vocabulaire, ni l'ordre des phrases.
- Conserve la mise en forme (paragraphes, listes, sauts de ligne).
- Donne uniquement le texte corrigé, sans explication ; si tu hésites sur une correction, laisse le texte d'origine.
Texte :
{{selection}}
@@ -0,0 +1,29 @@
---
id: fe9eb1b8-64d4-4930-bc78-0271f37463ed
title: Courriel poli à partir de notes brutes
tags: [courriel, notes, rédaction]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: destinataire
label: Destinataire
type: text
default: la personne concernée
- name: ton
label: Ton du courriel
type: enum
choices: [poli, formel, amical professionnel]
default: poli
---
Transforme les notes brutes ci-dessous en un courriel prêt à envoyer à {{destinataire}}, avec un ton {{ton}}.
- Propose d'abord une ligne « Objet : … » courte et explicite.
- Formules de politesse adaptées au ton, paragraphes courts, demande ou information principale dès le début.
- N'invente aucun fait, chiffre ou engagement absent des notes.
- Termine par une formule de conclusion simple, sans signature.
Notes brutes :
{{selection}}
@@ -0,0 +1,25 @@
---
id: 655bf6aa-4181-4ee5-89b4-85861ea7db23
title: Raccourcir de moitié
tags: [raccourcir, concision, synthèse]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: priorite
label: À conserver en priorité
type: enum
choices: [idées essentielles, chiffres et faits, ton original]
default: idées essentielles
---
Raccourcis le texte suivant d'environ moitié, en conservant en priorité : {{priorite}}.
- Supprime les répétitions, les détours et les formules vides.
- Ne supprime aucune information indispensable à la compréhension.
- Conserve la structure générale et le ton.
- Donne uniquement le texte raccourci.
Texte :
{{selection}}
+24
View File
@@ -0,0 +1,24 @@
---
id: 2f103340-ed13-4e83-8f62-3e874caa75da
title: Reformuler
tags: [reformulation, réécriture, style]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: true
created: 2026-10-11
updated: 2026-10-11
variables:
- name: ton
label: Ton souhaité
type: enum
choices: [neutre, formel, amical, direct]
default: neutre
---
Reformule le texte suivant avec un ton {{ton}}.
- Conserve exactement le sens, les faits et les chiffres.
- Améliore la fluidité et corrige les lourdeurs, sans raccourcir ni allonger sensiblement.
- Donne une seule version, sans commentaires ni variantes.
Texte :
{{selection}}
@@ -0,0 +1,29 @@
---
id: 802ebc80-4634-49b9-b438-e7489dadb5fc
title: Traduire FR-EN
tags: [traduction, anglais, français]
targets: [défaut, claude, chatgpt, gemini, qwen]
favorite: false
created: 2026-10-11
updated: 2026-10-11
variables:
- name: direction
label: Sens de traduction
type: enum
choices: [FR vers EN, EN vers FR]
default: FR vers EN
- name: registre
label: Registre
type: enum
choices: [neutre, formel, familier]
default: neutre
---
Traduis le texte suivant (sens : {{direction}}), registre {{registre}}.
- Conserve exactement la mise en forme : titres, listes, gras, liens et sauts de ligne.
- Ne traduis pas les noms propres ni les termes techniques consacrés dans la langue d'arrivée.
- Donne uniquement la traduction, sans commentaire.
Texte :
{{selection}}