notion
>- Conçois, structure, audite et optimise des environnements Notion : architecture de databases, relations, rollups, formules, vues filtrées, dashboards, hub pages. Charge ce skill dès que l'utilisateur veut concevoir ou repenser un espace Notion : "structure mon Notion", "crée une base de données Notion", "mon Notion est le bordel", "optimise / audite / refactore mon workspace Notion", "comment organiser X dans Notion", "monte un CRM / tracker / pipeline / wiki dans Notion", "relie mes bases entre elles", "ajoute des rollups / vues / un dashboard", "ce template Notion est mal foutu". Couvre la conception d'environnements neufs ET l'audit/refonte d'existants, avec un focus modèle de données propre (source unique de vérité, relations plutôt que duplication), lisibilité (vues par rôle, dashboards) et compatibilité automatisation (IDs stables, vocabulaire contrôlé). Route l'exécution via le MCP Notion connecté. Skill agnostique : aucune entreprise hardcodée, il délègue le contexte métier aux skills dédiés (exoteach, woma, avelor...). NE PAS charger pour simplement écrire ou logger du contenu dans une structure Notion déjà en place (→ skill métier ou MCP direct), ni pour de la veille / recherche de contenu dans Notion.
Installation & invocation
1. Crée le fichier sur ta machine :
2. Colle le contenu du SKILL.md ci-dessous, et redémarre Claude Code. Tu peux ensuite l'invoquer manuellement avec :
Claude peut aussi la déclencher automatiquement quand le contexte matche.
Conçois, structure, audite des environnements Notion : databases, relations, rollups, formules, vues, dashboards, hub pages.
Contenu de la skill
Notion — l'architecte
Ce skill est la couche conception au-dessus de l'API Notion. Il ne sert pas à écrire du contenu métier dans un Notion existant (ça, c'est le MCP direct ou les skills métier). Il sert à décider comment un espace Notion doit être structuré pour rester propre, lisible et pilotable, puis à le construire ou le refondre.
La mécanique brute de l'API (JSON exact des types de propriétés, types de blocs, filtres, limites) vit déjà dans le skill installé notion-api (~/.agents/skills/notion-api/references/). Ne la réinvente pas : quand tu as besoin du schéma exact d'une propriété ou d'un bloc, va le lire là-bas. Ce skill-ci se concentre sur les décisions d'architecture que l'API ne te dit pas comment prendre.
Ce que ce skill fait, et ne fait pas
| Fait | Ne fait pas |
|---|---|
| Concevoir un modèle de données (databases, relations, rollups, formules) | Écrire du contenu métier dans une structure existante |
| Auditer et refactorer un espace Notion mal foutu | Faire de la veille / recherche de contenu (→ firecrawl, skills métier) |
| Designer vues, dashboards, hub pages | Logger un contact / un deal (→ skill CRM ou métier) |
| Construire la structure via le MCP Notion | Supposer le métier ou les données de l'utilisateur |
Si la demande est "ajoute ce prospect dans mon CRM Notion" ou "résume cette page", ce n'est pas ce skill : redirige vers le MCP direct ou le skill métier concerné.
Règles dures
-
Exécution via le MCP Notion connecté. Utilise les outils
notion-search,notion-fetch,notion-create-database,notion-create-pages,notion-update-page,notion-update-data-source,notion-create-view,notion-update-view,notion-query-database-view,notion-move-pages,notion-duplicate-page. Le CLIntnet les appelscurldirects ne sont qu'un fallback si aucun MCP Notion n'est branché (et dans ce cas ils exigentNOTION_API_TOKEN, qui n'est pas défini ici par défaut). -
Tout ce qui modifie un schéma ou détruit de la donnée se confirme avant. Créer une base vierge sur une page de travail est sans risque. En revanche : modifier le schéma d'une base existante, archiver/supprimer des pages, renommer des propriétés en place, fusionner des bases. Pour une refonte, on propose le plan d'abord, on exécute après accord. Une seule confirmation suffit pour un lot d'opérations cohérent.
-
Agnostique. Aucune entreprise, aucun vertical, aucun ICP hardcodé. Ne suppose jamais ce que l'utilisateur stocke. Si le contexte métier compte (et qu'un skill dédié existe : exoteach, woma, avelor...), délègue-lui ; sinon, demande.
-
Pas de tiret long (em-dash
—, en-dash–), nulle part. Utilise:,,,(...),·,;ou.. -
Ne réinvente pas la mécanique. Pour le JSON exact d'un type de propriété, d'un bloc, d'un filtre, ou pour les limites de l'API, lis
~/.agents/skills/notion-api/references/(property-types.md,block-types.md,filters-and-sorts.md,rich-text.md).
Les 3 piliers d'un Notion ultra-optimisé
Toute décision de design se juge contre ces trois axes. Ils se renforcent : un modèle propre rend l'usage plus simple et l'automatisation fiable.
1. Modèle de données propre
Chaque entité (personne, entreprise, deal, projet, tâche, contenu...) vit dans une seule base, sa source unique de vérité. On ne retape jamais une donnée qui existe ailleurs : on la relie (relation) et on la remonte (rollup). On dérive plutôt que stocker (formule pour un nom complet, un score, des jours restants). Le résultat : zéro incohérence, une donnée qu'on corrige à un seul endroit.
2. Usage & lisibilité
La donnée brute n'est pas une interface. Chaque public et chaque usage a sa vue filtrée ("mes tâches", "deals à relancer cette semaine", "pipeline par étape"), et l'espace s'organise autour d'un hub qui mène à tout. La vue par défaut doit répondre à "qu'est-ce que je fais maintenant ?" sans scroll ni bruit. Couleurs de statut, icônes, callouts, dashboards : des repères visuels, pas de la déco.
3. Prêt pour l'automatisation
Un espace pilotable par API/MCP/agents : vocabulaire contrôlé (select/status, pas du texte libre) pour filtrer de façon fiable, propriétés référencées par ID (stable même si on renomme), identifiants humains stables (propriété unique_id avec préfixe), schémas cohérents entre bases similaires pour qu'un même script marche partout, dates en ISO.
Détail des patterns concrets pour chaque pilier : references/design-patterns.md.
Cadrage initial (avant de concevoir, toujours)
Concevoir sans cadrer produit des bases qu'on jette. Avant de modéliser quoi que ce soit, ces cinq points doivent être clairs (sinon, pose une question courte) :
- Entités : de quels objets parle-t-on ? (ce sont tes futures bases)
- Utilisateurs & rôles : qui consulte, qui édite, avec quels besoins différents ? (ce sont tes futures vues)
- Décisions & actions : quelles décisions l'espace doit-il aider à prendre, quelles actions déclencher ? (ça dicte les statuts et les vues prioritaires)
- Rapports attendus : quels chiffres/agrégats on veut voir ? (ce sont tes rollups/formules)
- Automatisation : des agents, scripts ou intégrations vont-ils lire/écrire ici ? (ça durcit les contraintes du pilier 3)
Workflow — Concevoir un environnement neuf
Travaille le modèle sur papier d'abord (dans ta réponse), fais valider, puis construis. Construire avant d'avoir validé le modèle, c'est refondre tout de suite.
- Modéliser les entités → une base par entité. Nomme les bases au pluriel (Entreprises, Deals, Tâches, Contenus).
- Tracer les relations entre bases. Décide single vs dual property (voir
design-patterns.md). Une relation, jamais une recopie. - Définir les rollups et formules : tout chiffre ou champ dérivable se calcule, ne se saisit pas.
- Designer le schéma de chaque base : propriétés serrées, bons types, vocabulaire contrôlé. Une propriété de trop est une dette. Vise un schéma léger (Notion peine au-delà de ~50 KB de schéma).
- Designer les vues par public et par usage, pas une vue fourre-tout. Filtre, trie, groupe.
- Designer le hub / dashboard : une page d'entrée qui mène à tout, avec vues liées et KPI en callouts.
- Construire via le MCP : crée les bases (
notion-create-database), pose les propriétés, crée les vues (notion-create-view), monte la page hub (notion-create-pages). Pour les relations, crée d'abord les deux bases, puis ajoute la relation. - Vérifier : requête en retour (
notion-query-database-view), vérifie qu'une relation résout bien, qu'un rollup affiche la bonne valeur, qu'une vue filtre comme prévu.
Workflow — Auditer / refactorer un existant
- Cartographier :
notion-searchpuisnotion-fetchpour lister les bases, leurs schémas, leurs relations, les pages orphelines. Comprends ce qui existe avant de juger. - Passer la checklist d'anti-patterns :
references/audit-checklist.md. - Prioriser : classe les problèmes par impact (incohérence de données > friction d'usage > cosmétique) et par coût de correction.
- Proposer un plan de refonte : ce qui change, dans quel ordre, ce qui est non-destructif (ajouter une vue, une relation) vs destructif (supprimer une propriété, fusionner des bases). Le destructif passe par validation explicite.
- Exécuter une fois validé, par lots cohérents. Préfère toujours l'ajout réversible avant la suppression.
- Vérifier comme en conception.
Table de décision : quel outil MCP pour quoi
| Besoin | Outil MCP |
|---|---|
| Trouver une page/base existante | notion-search |
| Lire le contenu/schéma d'une page ou base | notion-fetch |
| Créer une base + son schéma | notion-create-database |
| Créer des pages (entrées de base, ou hub) | notion-create-pages |
| Modifier propriétés/contenu d'une page | notion-update-page |
| Modifier le schéma d'une base (ajouter/changer propriétés) | notion-update-data-source |
| Créer une vue filtrée/triée | notion-create-view |
| Modifier une vue existante | notion-update-view |
| Lire/vérifier les données d'une vue | notion-query-database-view |
| Déplacer / réorganiser des pages | notion-move-pages |
| Dupliquer une page (template réutilisable) | notion-duplicate-page |
Pièges Notion à toujours respecter
Quelques contraintes qui cassent un design si on les ignore (liste complète et gotchas dans references/audit-checklist.md) :
- La propriété
statusne se crée pas via l'API. Pour un pipeline machine-friendly créé par API, utiliseselect, ou crée lestatusà la main dans l'UI puis pilote-le. - Limites de lot : 100 blocs par requête, 100 options par multi-select, 100 relations par page, 25 références affichées avant fetch séparé. Filtres composés : 2 niveaux d'imbrication max.
- Bases inline vs full-page :
is_inline: truepour intégrer une base dans une page (hub, dashboard) ; full-page sinon. - Data sources (API 2025-09-03+) : une base peut contenir plusieurs data sources. Le parent d'une page créée dans une base récente est un
data_source_id, pas undatabase_id. - Rollups de rollups peu fiables ; relations >25 réfs tronquées dans les formules. Garde les chaînes de dérivation courtes.
Références
references/design-patterns.md: bibliothèque de patterns (hub-and-spoke, source unique de vérité, choix de type de propriété, recettes de relations/rollups/formules, conventions de nommage, recettes de vues et dashboards).references/audit-checklist.md: anti-patterns à détecter, processus d'audit, stratégies de refonte non-destructive, contraintes et gotchas Notion détaillés.~/.agents/skills/notion-api/references/: mécanique brute de l'API (schémas JSON exacts).
Skills proches
rappels
Trame pour capturer des tâches dans l'app Apple Rappels (Reminders) via AppleScript, sans MCP ni app tierce. Charge ce skill quand tu veux noter une tâche depuis Claude vers l'app native macOS. À adapter avec TES listes (tu remplaces les listes d'exemple par les tiennes).
spark
>- Use the spark CLI to access the user's Spark email data - list emails, search by topic, read threads, check calendar events, find availability, look up contacts, and view team info. Use when the user asks about their emails, calendar, contacts, meetings, or scheduling.