---
tags: ["note", "script", "silverbullet", "taches", "synthese"]
type: "note"
nature: script
ressource: true
univers: PRO
projects:
  - "[[02_DOMAINES/PERSO-PKM]]"
date: "2026-10-14"
priority: 10
---
# Script : lister les tâches ouvertes d'un projet SilverBullet

Script réutilisable pour lister les **tâches ouvertes** (* [ ]) d'un projet SilverBullet.
Utilisé par le skill [[80_CONFIG/IA_SKILLS/synthese-reunion]] pour la déduplication des actions lors de la génération d'une synthèse de réunion.

## Emplacement

* Script : `~/.opencode/bin/sb-tasks-open.sh`
* Source de vérité : l'index SLIQ de SilverBullet (`index.tasks()`) — capture **toutes** les tâches ouvertes du projet, quelle que soit la page (synthèses, notes de réunion, journal, pages projet).

## Usage

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

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

### Exemples

```bash
# Toutes les tâches ouvertes du projet NPDGE-AMO
sb-tasks-open.sh NPDGE-AMO

# En excluant la synthèse en cours (évite l'auto-déduplication)
sb-tasks-open.sh NPDGE-AMO 01_JOURNAL/Meetings/2026/20261014_11h00_NPDGE-AMO_Cosui_Synthese

# Noms seuls (avec jq)
sb-tasks-open.sh STEC-DGE | jq -r '.[].name'
```

## Variables d'environnement (optionnelles)

* `SB_BASE` : base de l'espace (défaut `http://127.0.0.1:3000/shizendo`)
* `SB_TOKEN` : token Bearer (sinon lu dans `~/.silverbullet-token`)

## Utilisation dans le skill synthese-reunion

Lors de la génération d'une synthèse :

1. **Nouvelles actions** (aucune tâche ouverte équivalente) → case à cocher `* [ ]` (Mes actions) ou puce `* [Nom] : ... - A FAIRE` (Suivi & autres actions).
2. **Actions déjà évoquées** (tâche ouverte équivalente) → puce de suivi sans case à cocher, avec **lien vers la page de la tâche** :
   `* Suivi : [[03_PROJETS/PROJET]] - Tâche - En cours (cf. [[PAGE_TACHE]])`

## Requête SLIQ équivalente

```bash
sb --url http://127.0.0.1:3000/shizendo --token "$(cat ~/.silverbullet-token)" query \
  'from t = index.tasks() where t.done == false and (t.page:find("CODE_PROJET", 1, true) ~= nil or table.includes(t.links, "03_PROJETS/CODE_PROJET")) select t.page, t.name'
```
