name: novel-memory-core
description: >
Système centralisé de mémoire et de continuité pour la création de romans en ligne (网文).
Utilisez cette compétence comme FONDATION pour toutes les tâches d'écriture de roman — elle doit être chargée AVANT toute autre compétence de roman.
Crée et gère un répertoire partagé _novel/ dont dépendent toutes les autres compétences de roman.
Responsabilités : (1) Initialiser la structure du projet de roman, (2) Validation pré-écriture pour éviter les conflits de paramètres,
(3) Suivi en temps réel des personnages/monde/intrigue, (4) Gestion de l'état des indices,
(5) Bibliothèque des matériaux utilisés pour éviter les répétitions, (6) Application de la liste des tabous globaux,
(7) Historique des révisions versionnées pour les paramètres principaux.
Déclencheur : toute tâche de création, d'édition ou de planification de roman/网文 ; toute mention de construction du monde, de gestion des personnages, de progression de l'intrigue ou de vérification de cohérence.
metadata:
short-description: Cœur de mémoire pour la création de romans en ligne — gestion des paramètres, validation de cohérence, traçabilité des versions
Novel Memory Core (Cœur de mémoire pour la création de romans en ligne)
Vue d'ensemble
C'est le système nerveux central de l'écosystème de compétences d'écriture de roman. Chaque autre compétence de roman lit et écrit dans le répertoire _novel/ créé et géré par cette compétence.
Structure du projet
Lorsque vous exécutez init-novel (ou lors de la première utilisation), cette compétence crée la structure suivante dans le répertoire de travail de l'utilisateur :
_novel/ # Répertoire racine du projet (partagé par toutes les compétences)
├── MANIFEST.yaml # Métadonnées du projet : titre, auteur, genre, état actuel
├── CHANGELOG.md # Journal des modifications des paramètres principaux (traçabilité des versions)
│
├── world/ # Paramètres du monde
│ ├── _index.yaml # Index du monde (système de puissance, factions, géographie, etc.)
│ ├── geography.md # Paramètres géographiques
│ ├── power-system.md # Paramètres du système de puissance
│ ├── factions.md # Paramètres des factions/forces
│ ├── timeline.md # Chronologie
│ └── rules.md # Règles du monde (magie/technologie/société, etc.)
│
├── characters/ # Gestion des personnages
│ ├── _index.yaml # Index des personnages (avec résumé de l'état actuel)
│ ├── _relationships.yaml # Graphe des relations entre personnages
│ ├── _status.yaml # Tableau d'état en temps réel des personnages (actualisé automatiquement à chaque mise à jour)
│ └── cards/ # Fiches de personnages individuelles
│ ├── char-001-ZhangSan.md
│ └── ...
│
├── plot/ # Gestion de l'intrigue
│ ├── outline.md # Plan général du roman
│ ├── act-arcs.md # Structure des volumes/actes
│ ├── progress.yaml # Registre d'avancement de l'intrigue (état de chaque chapitre, nombre de mots, date)
│ └── beats/ # Fiches des temps forts de l'intrigue
│ └── ...
│
├── chapters/ # Gestion des chapitres
│ ├── _index.yaml # Index des chapitres (avec personnages apparaissant et événements clés)
│ ├── ch-001.md # Texte/plan du premier chapitre
│ └── ...
│
├── foreshadow/ # Gestion des indices
│ ├── _master-list.yaml # Tableau général de l'état des indices (position de pose → position de récupération)
│ ├── _pending.yaml # Indices en attente de récupération (générés automatiquement)
│ └── _resolved.yaml # Indices récupérés (archivés automatiquement)
│
├── materials/ # Bibliothèque de matériaux
│ ├── _used.yaml # Enregistrement des matériaux déjà utilisés (pour éviter les répétitions)
│ └── library/ # Texte original des matériaux ou références
│ └── ...
│
├── forbidden/ # Liste des tabous
│ └── _checklist.yaml # Liste globale des tabous (appliquée obligatoirement)
│
└── _meta/ # Métadonnées
├── revisions/ # Traçabilité des modifications des paramètres principaux
│ ├── rev-2026-07-19-001.md
│ └── ...
└── snapshots/ # Instantanés périodiques
└── ...
Instructions de flux de travail
Étape 1 : Initialisation (première utilisation)
python scripts/init-novel.py --dir <chemin-du-projet>
Mode interactif : exécutez sans indicateurs pour répondre aux questions sur le nom du roman, le genre, etc.
Étape 2 : Validation pré-écriture (avant chaque session d'écriture)
Exécutez TOUJOURS cette étape avant d'écrire tout nouveau contenu :
python scripts/validate.py --dir _novel
Ceci vérifie :
- Tous les personnages référencés existent dans
characters/_index.yaml - Toutes les factions/lieux mentionnés existent dans
world/_index.yaml - L'état des personnages est à jour
- Aucun élément tabou de
forbidden/_checklist.yamln'est violé - Aucun conflit d'indices (même indice planté deux fois sans résolution)
- Aucune violation de réutilisation de matériaux depuis
materials/_used.yaml - Cohérence des relations entre personnages (A→B correspond à B→A)
- Cohérence chronologique (aucun conflit de dates)
Si la validation échoue, corrigez les problèmes avant de continuer.
Étape 3 : Instantané d'état (afficher l'état actuel)
python scripts/status-report.py --dir _novel [--type summary|full|character|foreshadow|plot]
Par défaut, c'est le résumé. Cela donne un aperçu rapide de :
- L'avancement des chapitres actuels
- Les états actifs des personnages
- Le nombre d'indices en attente
- Les modifications récentes des paramètres
- Les échéances à venir (le cas échéant)
Étape 4 : Enregistrement des modifications (traçabilité des modifications des paramètres principaux)
Chaque fois qu'un paramètre principal est modifié (règle du monde, background d'un personnage, système de puissance, etc.), enregistrez TOUJOURS la modification :
python scripts/log-revision.py --dir _novel --subject "<élément-modifié>" --summary "<ce-qui-a-changé>" --reason "<pourquoi>"
Ceci crée un enregistrement de révision daté dans _meta/revisions/ et l'ajoute à CHANGELOG.md.
Étape 5 : Mise à jour de l'état des personnages (mise à jour après chaque chapitre)
Après avoir écrit chaque chapitre, exécutez :
python scripts/update-status.py --dir _novel --chapter <numéro-de-chapitre>
Ceci met automatiquement à jour :
characters/_status.yaml(emplacement, PV/blessures, état mental, niveau de puissance, relations)plot/progress.yaml(chapitre complet, nombre de mots, événements clés)materials/_used.yaml(scènes/éléments utilisés dans ce chapitre)- Vérifie les indices en attente dans
foreshadow/_pending.yamlet les archive automatiquement s'ils sont résolus
Conventions de format des données
Toutes les compétences de l'écosystème suivent ces conventions :
_index.yaml (Index des personnages/monde)
items:
- id: char-001
name: Zhang San
type: character # ou faction|location|power-system
status: active # active|inactive|deceased|hidden
tags: [protagoniste, feu]
ref: characters/cards/char-001-ZhangSan.md
_relationships.yaml
relationships:
- from: char-001
to: char-002
type: maître-élève # maître-élève|ennemi juré|amoureux|allié|souverain-sujet|etc.
description: Zhang San prend Li Si comme disciple au volume 3
chapter-set: 30
status: current # current|past|broken
_status.yaml (État en temps réel des personnages)
char-001:
name: Zhang San
location: Cité du Ciel des Nuages
hp: 85 # 0-100 ou description spécifique
mental: calme # calme|anxieux|en colère|effondré|etc.
power-level: Milieu de la Fondation
cultivation: 75% # Progression de la percée
inventory: [Épée du Feu Mystérieux, Pilule de Guérison x3]
tags: [en convalescence, détenteur d'indices clés]
last-updated: ch-030
_master-list.yaml (Tableau général des indices)
foreshadows:
- id: fs-001
seed: L'origine du pendentif de Zhang San est inconnue
planted-at: ch-005
category: origine
importance: core # core|major|minor
expected-resolve: ch-080~ch-100
status: pending # pending|resolved|abandoned
resolved-at: null
notes: Suggère que Zhang San est lié à une ancienne secte
forbidden/_checklist.yaml
taboos:
- category: paramètres
rule: Le système de puissance ne doit pas inclure de technologie moderne
severity: fatal # fatal|warning|soft
detail: Sauf dans un monde spécial, n'introduisez pas d'armes à feu/équipement électronique
- category: personnages
rule: Le protagoniste ne peut pas avoir plus de deux atouts majeurs
severity: warning
materials/_used.yaml
used-materials:
- id: mat-001
description: Rencontre périlleuse sur une falaise menant à un héritage
first-used: ch-012
reuse-count: 0
category: intrigue
notes: Scène classique de destinée, éviter de la répéter
Règles critiques
- Validez toujours avant d'écrire — ne sautez jamais l'étape 2.
- Enregistrez toujours les modifications des paramètres principaux — ne modifiez jamais un paramètre de personnage/monde sans enregistrement.
- Mettez à jour l'état après chaque chapitre — un état obsolète invalide toutes les compétences dépendantes.
- Le répertoire
_novel/est la source unique de vérité — toutes les compétences doivent y lire. - NE modifiez JAMAIS manuellement
_meta/revisions/ou_meta/snapshots/— utilisez les scripts fournis. - La liste des tabous est appliquée par le validateur avec une sévérité
fatal— les violations bloquent l'écriture.