14 KiB
AGENT CONSTRAINTS v2 — généré par prompt_injection_v2.py
Design System « PR Editorial » — 21 layouts
LAYOUTS_CATALOGUE
Ouverture
cover_split (L01) — mode dark
→ Slide de couverture. titre = titre de la présentation, sous_titre = tagline en une phrase.
Synthèse
executive_summary (L05) — mode light
→ Synthèse SCR. Titre = So What. 3 cartes pleine largeur : situation, complication, resolution (1-2 phrases chacune).
Structure
section_divider (L03) — mode dark
→ Transition de section. titre = nom de la section. Le numéro est incrémenté automatiquement par le moteur.
Données
big_stat (L10) — mode light
→ Un chiffre héro plein écran. valeur = le chiffre (ex "78%"), description = ce qu'il signifie, source = référence.
Comparaison
two_cols_text (L07) — mode light
→ Deux colonnes en cartes avec en-tête coloré. left/right = {titre, bullets[]}. Gauche = navy, droite = corail.
Données
kpi_grid (L09) — mode light
→ 2 à 6 cartes KPI. items = [{label, valeur, description}]. valeur en grand corail, label en en-tête, description en source.
Message
key_message (L08) — mode dark
→ Message clé en citation plein écran. message = la phrase forte, detail = sous-texte optionnel.
Concept
circular_diagram (L17) — mode light
→ 3 à 6 valeurs en cercles + légende à droite. segments = [{label, description, couleur?}].
Texte structuré
default_bullets (L06) — mode light
→ Liste de points clés. Si texte au format "Mot : explication", le moteur met le mot en gras navy. Max 5 bullets. bullets = [{niveau, texte}].
Process
numbered_steps (L19) — mode light
→ Étapes en cartes pleine largeur avec badge rond numéroté. steps = [{numero, titre, description}].
Planning
phases_timeline (L23) — mode light
→ Phases reliées par une ligne pointillée. phases = [{label, periode}]. Couleurs du cycle theme.
Acteurs & décision
recommendation_card (L28) — mode panel
→ Carte de recommandation. Sidebar = numero + titre + cta. Corps = headline + bullets.
Clôture
end_slide (L30) — mode dark
→ Slide de fin. message = phrase de conclusion.
Transformation
from_to_pairs (L31) — mode light
→ Transformation avant/après en paires alignées. pairs = [{from, to}]. label_from/label_to = en-têtes colonnes. Max 5 paires. Idéal pour tangibiliser un changement.
Planning
gantt_timeline (L32) — mode light
→ Gantt par workstreams. periods = liste de labels (ex ["Juin","Juil"]). workstreams = [{label, tasks: [{label, start, end}]}]. start/end = index dans periods (0-based). Max 3 workstreams, 4 tâches chacun.
Historique
yearly_timeline (L33) — mode light
→ Frise chronologique horizontale. milestones = [{annee, label, actif?}]. actif = true pour le jalon courant (corail). Labels alternent haut/bas. Max 6 jalons.
Comparaison
comparison_table (L34) — mode light
→ Tableau structuré multi-critères. headers = liste de colonnes (1ère = critères). rows = [{label, values: []}] ou listes plates. Max 5 colonnes, 8 lignes.
Gouvernance
raci_table (L35) — mode light
→ Matrice RACI. roles = liste de rôles. tasks = [{label, raci: [R/A/C/I]}]. R=Responsable(corail), A=Autorité(navy), C=Consulté(slate), I=Informé(muted). Max 4 rôles, 8 tâches.
Process
process_arrow (L36) — mode light
→ Flux horizontal de 3 à 6 étapes. steps = [{titre, description}]. Badges numérotés corail, couleurs cycle alternées. Max 6 étapes.
Organisation
org_chart (L37) — mode light
→ Organigramme hiérarchique max 3 niveaux. root = {label, children: [{label, children?: [{label}]}]}. Max 4 enfants directs, 3 petits-enfants par enfant.
Priorisation
matrix_2x2 (L38) — mode light
→ Matrice effort/impact. axis_x/axis_y = {label, low, high}. quadrants = {top_left, top_right, bottom_left, bottom_right}. items = [{label, x, y}] avec x/y de 0 à 100. Max 8 items.
SEQUENCING_RULES
Règles de fluidité
- Maximum 2 layouts texte consécutifs :
default_bullets,two_cols_text - Après 3 slides denses → intercaler une respiration :
big_stat,key_message,section_divider - Jamais 2
section_dividerconsécutifs - Alterner les modes : un slide dark (
section_divider,key_message) toutes les 3-5 slides claires donne le rythme "sandwich" du design system - Le dernier slide de contenu avant
end_slidedoit être narratif (recommendation_cardoukey_message)
Règles de choix de layout
- 1 seul chiffre décisif →
big_stat(jamaiskpi_gridavec 1 item) - 2 à 6 indicateurs chiffrés →
kpi_grid - Comparaison ou opposition (avant/après, attentes/réalité, risques/solutions) →
two_cols_text - 2 à 5 étapes séquentielles →
numbered_steps - Phases avec périodes temporelles (mois, trimestres) →
phases_timeline - 3 à 6 concepts ou valeurs formant un système →
circular_diagram - Recommandation unique et actionnable →
recommendation_card - Citation ou message à marteler seul →
key_message - Transformation avant/après →
from_to_pairs(plus parlant que two_cols_text) - Planning projet avec tâches datées →
gantt_timeline - Frise chronologique d'historique ou de jalons annuels →
yearly_timeline - Tableau comparatif multi-critères →
comparison_table - Responsabilités par rôle →
raci_table - Flux séquentiel de 3 à 6 étapes (sans dates) →
process_arrow - Organigramme hiérarchique →
org_chart - Priorisation effort/impact →
matrix_2x2 - Si le contenu ne rentre dans aucun layout spécialisé →
default_bullets
Règles de quantité
- Présentation 20 min → 10 à 15 slides max
- Présentation 10 min → 6 à 10 slides max
- Fusionner si > 15 slides : regrouper les slides proches thématiquement
default_bullets: 5 bullets maximum — privilégier le format "Mot-clé : explication"- Un
###du Markdown avec un seul chiffre fort → envisagerbig_statséparé - Un
##du Markdown = 1section_divider(sauf présentation < 6 slides)
NARRATIVE_PATTERNS
Pattern "Problem → Solution → Proof"
Adapté aux présentations de recommandation stratégique.
cover_split
executive_summary (synthèse SCR dès le début)
section_divider ("Le problème")
big_stat (chiffre choc)
two_cols_text ou default_bullets
section_divider ("Notre réponse")
numbered_steps
kpi_grid (preuve chiffrée)
recommendation_card (ce qu'on demande)
end_slide
Pattern "Roadmap Deck"
Adapté aux présentations de planification / lancement de projet.
cover_split
executive_summary (où on va et pourquoi)
kpi_grid (état des lieux chiffré)
phases_timeline (le calendrier)
numbered_steps (comment on s'organise)
recommendation_card (décisions à prendre)
end_slide
Pattern "Executive Briefing"
Adapté aux présentations courtes (< 10 slides) pour un CODIR.
cover_split
executive_summary
key_message (le So What en 1 slide)
kpi_grid ou big_stat
recommendation_card
end_slide
Pattern "Vision & Valeurs"
Adapté aux présentations de transformation ou de culture.
cover_split
executive_summary
section_divider
circular_diagram (le système de valeurs/concepts)
default_bullets (le cadre, les principes)
key_message (la conviction)
recommendation_card
end_slide
Règles d'assemblage des patterns
- Les patterns sont des points de départ, pas des contraintes rigides
- Hybrider 2 patterns est possible si le contenu le justifie
- Toujours préserver : cover_split en premier, end_slide en dernier
- Les section_dividers sont optionnels pour les patterns courts (< 8 slides)
YAML_SCHEMAS
cover_split (L01)
Requis : titre Optionnels : sous_titre Exemple :
layout: cover_split
titre: "Titre de la présentation"
sous_titre: "Tagline en une phrase"
executive_summary (L05)
Requis : titre, situation, complication, resolution Exemple :
layout: executive_summary
titre: "Le So What en titre affirmatif"
situation: "État des lieux factuel..."
complication: "Le problème ou la tension..."
resolution: "La réponse proposée..."
section_divider (L03)
Requis : titre Exemple :
layout: section_divider
titre: "Nom de la section"
# le numéro de section est généré automatiquement
big_stat (L10)
Requis : titre, valeur Optionnels : description, source Exemple :
layout: big_stat
titre: "Titre affirmatif"
valeur: "78%"
description: "ce que le chiffre signifie"
source: "Référence — 2026"
two_cols_text (L07)
Requis : titre, left, right Exemple :
layout: two_cols_text
titre: "Titre affirmatif"
left:
titre: "Titre colonne gauche"
bullets:
- texte: "Premier point"
- texte: "Deuxième point"
right:
titre: "Titre colonne droite"
bullets:
- texte: "Premier point"
kpi_grid (L09)
Requis : titre, items Exemple :
layout: kpi_grid
titre: "Titre affirmatif"
items:
- label: "Indicateur 1"
valeur: "+13%"
description: "Source ou contexte de la valeur"
- label: "Indicateur 2"
valeur: "85%"
description: "Source ou contexte"
key_message (L08)
Requis : message Optionnels : detail Exemple :
layout: key_message
message: "Le message clé en une phrase forte."
detail: "Sous-texte optionnel en une ligne."
circular_diagram (L17)
Requis : titre, segments Exemple :
layout: circular_diagram
titre: "Titre affirmatif"
segments:
- label: "Concept 1"
description: "Description courte"
- label: "Concept 2"
description: "Description courte"
- label: "Concept 3"
description: "Description courte"
default_bullets (L06)
Requis : titre, bullets Exemple :
layout: default_bullets
titre: "Titre affirmatif"
bullets:
- texte: "Mot-clé : explication du point"
niveau: 1
- texte: "Autre mot-clé : explication"
niveau: 1
numbered_steps (L19)
Requis : titre, steps Exemple :
layout: numbered_steps
titre: "Titre affirmatif"
steps:
- numero: 1
titre: "Première étape"
description: "Ce que ça implique concrètement"
- numero: 2
titre: "Deuxième étape"
description: "Ce que ça implique"
phases_timeline (L23)
Requis : titre, phases Exemple :
layout: phases_timeline
titre: "Titre affirmatif"
phases:
- label: "Mois 1-2"
periode: "Ce qui se passe dans cette phase"
- label: "Mois 3-8"
periode: "Ce qui se passe"
recommendation_card (L28)
Requis : titre, headline, bullets Optionnels : numero, cta Exemple :
layout: recommendation_card
numero: 1
titre: "Nom court de la recommandation"
headline: "TROIS DÉCISIONS À PRENDRE MAINTENANT"
cta: "Décider en réunion du 30 juin"
bullets:
- texte: "Première décision précise"
- texte: "Deuxième décision précise"
end_slide (L30)
Requis : message Exemple :
layout: end_slide
message: "Phrase de conclusion mémorable"
from_to_pairs (L31)
Requis : titre, pairs Optionnels : label_from, label_to Exemple :
layout: from_to_pairs
titre: "Titre affirmatif"
label_from: "SITUATION ACTUELLE"
label_to: "SITUATION CIBLE"
pairs:
- from: "État de départ"
to: "État cible"
- from: "Autre point de départ"
to: "Autre cible"
gantt_timeline (L32)
Requis : titre, periods, workstreams Exemple :
layout: gantt_timeline
titre: "Titre affirmatif"
periods: ["Juin", "Juil", "Août", "Sept"]
workstreams:
- label: "Workstream 1"
tasks:
- label: "Tâche A"
start: 0
end: 2
- label: "Workstream 2"
tasks:
- label: "Tâche B"
start: 1
end: 3
yearly_timeline (L33)
Requis : titre, milestones Exemple :
layout: yearly_timeline
titre: "Titre affirmatif"
milestones:
- annee: "2024"
label: "Premier jalon"
- annee: "2025"
label: "Deuxième jalon"
- annee: "2026"
label: "Jalon courant"
actif: true
comparison_table (L34)
Requis : titre, headers, rows Exemple :
layout: comparison_table
titre: "Titre affirmatif"
headers: ["Critère", "Option A", "Option B"]
rows:
- label: "Premier critère"
values: ["Valeur A", "Valeur B"]
- label: "Deuxième critère"
values: ["Valeur A", "Valeur B"]
raci_table (L35)
Requis : titre, roles, tasks Exemple :
layout: raci_table
titre: "Titre affirmatif"
roles: ["Rôle 1", "Rôle 2", "Rôle 3"]
tasks:
- label: "Première activité"
raci: ["A", "R", "C"]
- label: "Deuxième activité"
raci: ["A", "I", "R"]
process_arrow (L36)
Requis : titre, steps Exemple :
layout: process_arrow
titre: "Titre affirmatif"
steps:
- titre: "Étape 1"
description: "Ce qui se passe"
- titre: "Étape 2"
description: "Ce qui se passe"
- titre: "Étape 3"
description: "Ce qui se passe"
org_chart (L37)
Requis : titre, root Exemple :
layout: org_chart
titre: "Titre affirmatif"
root:
label: "Responsable racine"
children:
- label: "Manager 1"
children:
- label: "Équipe A"
- label: "Manager 2"
children:
- label: "Équipe B"
matrix_2x2 (L38)
Requis : titre, items Optionnels : axis_x, axis_y, quadrants Exemple :
layout: matrix_2x2
titre: "Titre affirmatif"
axis_x:
label: "Effort"
low: "Faible"
high: "Élevé"
axis_y:
label: "Impact"
low: "Faible"
high: "Élevé"
quadrants:
top_left: "Gains rapides"
top_right: "Projets stratégiques"
bottom_left: "Déprioritiser"
bottom_right: "À planifier"
items:
- label: "Initiative A"
x: 30
y: 80
- label: "Initiative B"
x: 70
y: 75