---
name: "synthese-reunion"
description: "Générer une synthèse de réunion à partir d'une note SilverBullet, organisée en 5 points (sujets discutés, informations importantes, décisions, mes actions, suivi & autres actions) et enregistrée avec le suffixe _Synthese. Traitement des tâches délégué au protocole du skill Traitement-Taches (extraction, rapprochement, verdicts, rapport avant écriture)."
---

# Génération d'une synthèse de réunion

## Input

Notes de réunion transmises sous la forme d'un lien vers un fichier stocké dans Silverbullet.
Le lien est généralement de la forme : [01_JOURNAL/Meetings/2026/20261008_15h30_NOM-PROJET_Entreprise_Sujet]

## Output

Fichier stocké dans Silverbullet au même endroit que le fichier initial mais avec le suffixe "_Synthese".

## Process

Les étapes sont les suivantes :
* Lire le fichier en entrée
* Charger le skill **[[80_CONFIG/IA_SKILLS/Traitement-Taches]]** et appliquer son protocole (étape 0 cadrage, étape 1 chargement de l'existant, extraction, rapprochement, rapport avant écriture obligatoire) ; voir aussi "Déduplication des actions" pour les niveaux de détection et l'outil `sb-tasks-open.sh`
* Analyser son contenu
* Produire une synthèse organisée de la façon suivante :
  * **Participants** (toujours en premier)
  * 1. Sujets discutés
  * 2. Informations importantes
  * 3. Décisions
  * 4. Mes actions
  * 5. Suivi & autres actions
* Enregistrer le fichier en sortie dans Silverbullet avec le suffixe "_Synthese"
* Ajouter les liens réciproques entre la note source et la synthèse (voir "Liens réciproques")
* Faire un retour synthétique sur les étapes réalisées et relever toute incohérence ou erreur identifiée

## Frontmatter de la synthèse

La synthèse utilise le **même frontmatter que la note de réunion** (type `meeting`), complété avec les tags `synthese` et `ia` (si la synthèse est générée par une IA) :

```yaml
---
title: ""
tags:
  - meeting
  - synthese
  - ia
type: meeting
univers: PRO
projects:
  - "[[03_PROJETS/NOM-PROJET]]"
date: "[[01_JOURNAL/2026/2026-MM-DD]]"
heure: "HHhMM/HHhMM"
lieu: "visio"
---
```

* Conserver les valeurs de `univers`, `projects`, `date`, `heure`, `lieu` de la note source.
* Les tags `synthese` et `ia` permettent de filtrer les synthèses par requête (ex. `index.tags("synthese")`), indépendamment du nom de la page.
* Le suffixe `_Synthese` reste utilisé pour le classement humain (retrouver la synthèse liée à une note) et pour éviter les collisions de noms.

## Liens réciproques

Ajouter un lien de navigation dans **les deux sens** :

* Dans la **note source** (juste après le titre) :
  ```
  → Synthèse : [[01_JOURNAL/Meetings/2026/20261012_14h00_NOM-PROJET_Sujet_Synthese]]
  ```
* Dans la **synthèse** (juste après le titre) :
  ```
  ← Notes : [[01_JOURNAL/Meetings/2026/20261012_14h00_NOM-PROJET_Sujet]]
  ```

Les flèches indiquent le sens de navigation : `→` vers la synthèse, `←` vers les notes brutes.

## Participants

Ajouter **systématiquement** une section `## Participants` au début de la synthèse (avant les 5 points), listant les participants de la réunion (initiales ou noms repris de la note source).

```
## Participants

- GRK
- ETS
- ...
```

## Déduplication des actions

Le protocole complet de traitement des tâches (étapes 0-4 : cadrage, chargement de l'existant, extraction ACTION/RAPPEL/DÉCISION, rapprochement avec verdicts IDENTIQUE/TERMINÉE/NOUVELLE/À CONFIRMER, rapport avant écriture obligatoire, format canonical `[date:]`) vit dans le skill **[[80_CONFIG/IA_SKILLS/Traitement-Taches]]** : le charger et le suivre pour rédiger les parties "4. Mes actions" et "5. Suivi & autres actions".

Deux niveaux de duplication restent à détecter avant de rédiger :

### Niveau 1 — Formulation de la note source

Détecter dans la note source les formulations qui signalent un **rappel** d'une action déjà connue, et non une nouvelle action :
* « Il est rappelé que... », « Rappel : ... », « Toujours en attente », « En attente de retour », « cf. réunion précédente », « comme convenu », « à nouveau », « toujours d'actualité », etc.
* Une action formulée comme un rappel est notée en **puce "Suivi"** (voir format ci-dessous), **jamais** en nouvelle case à cocher / puce "A FAIRE".

### Niveau 2 — Tâches ouvertes du projet (requête SLIQ)

**Interroger l'index SilverBullet** pour lister les **tâches ouvertes relatives au projet concerné**, quelle que soit la page où elles ont été créées (synthèses précédentes, notes de réunion, journal, pages projet). La To-Do list indexée est la source de vérité des actions en cours.

**Script réutilisable** (rangé dans `~/.opencode/bin/`, documenté dans SilverBullet : `80_CONFIG/IA_SCRIPTS/SilverBullet_Open-Tasks-Projects`) :

```bash
sb-tasks-open.sh <CODE_PROJET> [PAGE_SYNTHESE_EN_COURS]
```

* `<CODE_PROJET>` : code du projet, ex. `NPDGE-AMO` (rattachement par nom de page OU lien `[[03_PROJETS/<CODE>]]` dans la tâche).
* `[PAGE_SYNTHESE_EN_COURS]` : page de la synthèse en cours à exclure (pour ne pas se dédupliquer soi-même).
* Sortie **JSON** : `[{ "page": "...", "name": "..." }, ...]` — utilisable telle quelle (ex. `jq`).

Équivalent Lua (via `eval_lua`) si le script n'est pas disponible (syntaxe SLIQ : cf. skill `silverbullet-mcp` — section « ⭐ Requêtes SLIQ / Lua (eval_lua) ») :

```lua
local ok, result = pcall(function()
  return query[[from t = index.tasks() where t.done == false]]
end)
local proj = "03_PROJETS/CODE_PROJET"
local code = "CODE_PROJET"
local exclude = "PAGE_SYNTHESE_EN_COURS"
for i = 1, rawlen(result) do
  local t = result[i]
  local page = tostring(t.page or "")
  local name = tostring(t.name or "")
  local links = t.links or {}
  if page ~= exclude then
    local matchPage = page:find(code, 1, true) ~= nil
    local matchLinks = false
    for _, l in ipairs(links) do
      if l == proj then matchLinks = true break end
    end
    local matchName = name:find(proj, 1, true) ~= nil
    if matchPage or matchLinks or matchName then
      -- action ouverte trouvée pour ce projet
    end
  end
end
```

* Un lien dans la tâche (ex. `[[03_PROJETS/NPDGE-LOT1]]`) ou le nom de page (`..._NPDGE-AMO_...`) suffit à rattacher l'action au projet.
* **Exclure la page de la synthèse en cours** pour ne pas se dédupliquer soi-même.
* L'index peut mettre quelques secondes à se rafraîchir après une écriture.

Pour chaque action de la note source, déterminer si elle est **nouvelle** ou **déjà évoquée** :
* **Nouvelle action** (aucune tâche ouverte équivalente trouvée par la requête) → la noter dans le format normal de sa section (case à cocher pour "Mes actions", puce pour "Suivi & autres actions").
* **Action déjà évoquée** (une tâche ouverte équivalente existe déjà : même tâche, même projet) → la noter comme **rappel / suivi**, en simple puce texte, **sans case à cocher**, au format :
  `* Suivi : [[PROJET-PATH]] - Tâche - En cours (cf. [[PAGE_TACHE]])`
  * `[[PROJET-PATH]]` : chemin complet du projet dans SilverBullet
  * `(cf. [[PAGE_TACHE]])` : **lien vers la page** où la tâche est listée (issue de la requête : champ `page`), ex. `(cf. [[01_JOURNAL/Meetings/2026/20261007_11h00_NPDGE-AMO_Reunion-Suivi_Synthese]])` — de préférence un lien direct vers la tâche ou sa page plutôt qu'une mention textuelle de date
* Une action **réalisée** (marquée `[x]` ou explicitement terminée dans la note source) n'est pas re-listée comme nouvelle action ; elle peut être mentionnée en suivi si pertinent.

Cette règle s'applique **aux deux sections** ("Mes actions" et "Suivi & autres actions") : seules les actions inédites créent de nouvelles cases à cocher / puces "A FAIRE", les rappels restent des puces "Suivi" pour garder la To-Do list propre et sans doublons.

## Règles de mise en oeuvre

Lors de ce travail tu dois :
* Être synthétique dans ta rédaction
* Ne pas créer ou inventer de nouvelles informations
* Conserver le frontmatter du fichier initial et le compléter si nécessaire (voir "Frontmatter de la synthèse")

Pour la partie "3. Décisions" :
* Noter chaque décision sous forme d'item avec un tag #decision
* Préciser, quand c'est pertinent et possible, les éléments de date (QUAND), de personne ou structure concernée (QUI) et le projet.
* Ex.: "* #decision  [[PROJET]] - Pierre (société A) déploiera la solution avant le 15 décembre 2026."

Pour la partie "4. Mes actions" :
* Noter **uniquement** les tâches incombant à Guillaume RYCKELYNCK (GRK / @grk) sous forme de tâche cochable au format :
  `* [ ] [[PROJET-PATH]] - @grk - Tâche à réaliser #<statut>`
  * `PROJET-PATH` : chemin complet du projet dans SilverBullet (ex. `[[02_DOMAINES/PRO-PILOTAGE]]`)
  * `@grk` : responsable de l'action (GRK)
  * `#<statut>` : état complémentaire le cas échéant correspondant au statut de la tâche (`#URGENT`, `#waiting`, `#aborted`, `#duplicate`, `#delegated` …)
* Ex.: "* [ ] [[02_DOMAINES/PRO-PILOTAGE]] - @grk - Envoyer le compte-rendu à l'ensemble des participants avant la fin novembre"
* Utiliser `* [ ]` pour les actions à faire et `* [x]` pour les actions faites.
* **Ne lister en cases à cocher que les actions inédites** (voir "Déduplication des actions"). Les actions déjà évoquées (tâche ouverte équivalente trouvée par la requête SLIQ du projet) sont notées en puce "Suivi" :
  `* Suivi : [[PROJET-PATH]] - @grk - Tâche - En cours (cf. [[PAGE_TACHE]])`

Pour la partie "5. Suivi & autres actions" :
* Noter les tâches attribuées à **d'autres personnes ou entreprises** (tiers, prestataires, collègues) sous forme de liste à puces classiques, **sans case à cocher**, au format :
  `* [Nom] : [[PROJET-PATH]] - Tâche - A FAIRE`
  * `[Nom]` : nom ou initiales du responsable (ex. `Jean`, `@jpr`, `C2C`, `Adipso`)
  * `[[PROJET-PATH]]` : chemin complet du projet dans SilverBullet (conserver le lien projet pour la traçabilité)
  * `- A FAIRE` : mention d'état, complétée le cas échéant (`- URGENT`, `- WAITING`, …)
* Ex.: "* Jean : [[03_PROJETS/NPDGE-LOT1]] - Finaliser la maquette - A FAIRE"
* Règle de repli : une action **sans responsable explicite** dans la note source est rangée par défaut dans "Suivi & autres actions", sauf si le contexte indique clairement qu'elle incombe à GRK.
* **Ne lister en puces "A FAIRE" que les actions inédites** (voir "Déduplication des actions"). Les actions déjà évoquées (tâche ouverte équivalente trouvée par la requête SLIQ du projet) sont notées en puce "Suivi" :
  `* Suivi : [Nom] : [[PROJET-PATH]] - Tâche - En cours (cf. [[PAGE_TACHE]])`
