Files
sliding-automation/agent_constraints_v2.md
T

18 KiB
Raw Blame History

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.

Visuel

image_split (L50) — mode light → Image d'appui sur 40 % de la slide (side: left par défaut, right possible) + titre et points clés (max 4 bullets). À utiliser quand une image du dossier assets/ du projet illustre le propos ; image = nom de fichier exact tel que listé par /lire. legende (optionnelle) s'affiche sur un bandeau navy sous l'image.

image_full (L51) — mode dark → Ouverture de chapitre visuelle : image plein cadre + voile navy + titre display blanc. Alternative à section_divider quand un asset du projet s'y prête. image = nom de fichier exact de assets/.

Données

bar_chart (L42) — mode light → Comparaison de valeurs par catégories — graphique NATIF éditable. Max 8 catégories × 3 séries. series = liste de {label, values} ; values = nombres SANS guillemets, alignés sur categories. horizontal: true pour des barres (libellés longs). unite (ex M€) et source optionnels. Couleurs imposées : navy, coral, glacier.

line_chart (L43) — mode light → Évolution temporelle — graphique NATIF éditable. Max 12 points × 3 séries. points_x = libellés d'axe (mois, années...) ; series = {label, values}, nombres sans guillemets. Le dernier point de la première série est automatiquement mis en valeur (corail).

donut_split (L44) — mode light → Répartition d'un tout : anneau à gauche + légende détaillée à droite. 2 à 6 segments = {label, valeur} (nombres sans guillemets). valeur_centrale (optionnelle) s'affiche au centre de l'anneau (ex : total « 120 M€ »). Couleurs = cycle PR imposé.

waterfall (L45) — mode light → Pont de valeur (waterfall) : expliquer un écart entre deux montants par des variations successives. depart et arrivee = {label, valeur} ; marches = liste de {label, delta} SIGNÉ (positif ou négatif, max 8). Le moteur calcule les cumuls — ne jamais fournir de cumul. Idéal pour : évolution de budget, pont d'effectifs, décomposition d'un résultat.

Comparaison

heatmap_table (L46) — mode light → Tableau à intensité : évaluer plusieurs items sur plusieurs critères. headers = colonnes (max 6) ; rows = {label, scores} avec score ENTIER de 0 (faible) à 4 (fort), max 8 lignes. Le moteur traduit chaque score en teinte de navy — aucune autre donnée. Idéal pour : maturité, couverture fonctionnelle, cartographie de risques.

Process

funnel (L47) — mode light → Entonnoir de conversion : volumes décroissants d'étape en étape. etapes = {label, valeur, description?} du haut vers le bas, 3 à 5 étages. Largeurs proportionnelles aux valeurs (plancher de lisibilité), dernier étage corail. Idéal pour : pipeline commercial, adoption, qualification progressive.

Structure

agenda (L40) — mode light → Sommaire du deck : à placer en slide 2 pour toute présentation de plus de 15 minutes. sections = liste de {label, numero?, duree?, actif?}, 2 à 8 entrées. actif: true met la section en corail (utile pour les rappels d'agenda en cours de deck). duree (ex "10 min") s'affiche à droite en discret.

Concept

pyramid (L41) — mode light → Argumentation pyramidale : la conclusion au sommet, les fondations à la base. niveaux = liste de {label, description?}, EXACTEMENT 3 ou 4 niveaux, du sommet vers la base. Largeurs d'étages fixes gérées par le moteur. Idéal pour : message clé et ses appuis, hiérarchie stratégie/tactiques/moyens.


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_divider consé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_slide doit être narratif (recommendation_card ou key_message)

Règles de choix de layout

  • 1 seul chiffre décisif → big_stat (jamais kpi_grid avec 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 → envisager big_stat séparé
  • Un ## du Markdown = 1 section_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

image_split (L50)

Requis : titre, image, bullets Optionnels : side, legende Exemple :

layout: image_split

image_full (L51)

Requis : titre, image Optionnels : sous_titre Exemple :

layout: image_full

bar_chart (L42)

Requis : titre, categories, series Optionnels : unite, source, horizontal Exemple :

layout: bar_chart

line_chart (L43)

Requis : titre, points_x, series Optionnels : unite, source Exemple :

layout: line_chart

donut_split (L44)

Requis : titre, segments Optionnels : valeur_centrale, source Exemple :

layout: donut_split

waterfall (L45)

Requis : titre, depart, marches, arrivee Optionnels : unite, source Exemple :

layout: waterfall

heatmap_table (L46)

Requis : titre, headers, rows Optionnels : legende Exemple :

layout: heatmap_table

funnel (L47)

Requis : titre, etapes Optionnels : source Exemple :

layout: funnel

agenda (L40)

Requis : titre, sections Exemple :

layout: agenda

pyramid (L41)

Requis : titre, niveaux Exemple :

layout: pyramid