hot-compactlisted
Install: claude install-skill tboome33/obsidian-mcp-router
# hot-compact
Compaction procédurale et transactionnelle du cache `wiki-meta/hot.md` d'un vault. Le hot est un **cache d'état** (« < 500 mots, écrasé à chaque mise à jour — c'est un cache, pas un journal ») ; quand il dérive en journal, ce skill le ramène au contrat **sans jamais rien perdre**.
Les seuils font autorité dans `src/helpers/hot-size.mjs` (partagés avec `hot-cache-load` et le guard) : déclenchement > 500 mots OU > 6 Kio ; cible après compaction ≤ 350 mots ET ≤ 4 Kio ; override par vault via le frontmatter du hot (`hot-limit-words` / `hot-limit-bytes`, plafonnés 1000 mots / 12 Kio).
## Argument parsing from $ARGUMENTS
- vide → vault courant (cwd-is-vault, lock, ou `OBSIDIAN_ROUTER_DEFAULT_VAULT`)
- nom de vault → cible explicite
- `--dry-run` → étapes 1-4 seulement (montrer la proposition, ne rien écrire)
## Procédure (ordre STRICT — le backup précède toujours l'écrasement)
1. **Mesurer sans polluer le contexte.** Si `get_file` sur `wiki-meta/hot.md` risque de dépasser le plafond de contexte (fichier > ~20 Kio), NE PAS le charger en entier dans la conversation : passer par un script (Node) qui importe les modules du router lui-même (`src/registry.mjs` → `loadRegistry`, `src/rest-client.mjs` → `getFileContent`) et ne remonte que taille, `contentSha256` et structure (titres, dates des entrées, N premiers blocs). **Jamais d'appel direct à l'API Local REST pour écrire, et jamais d'écriture filesystem** : une écriture qui contourne le router échappe à toutes ses g