Synthèse automatique
Transforme l'historique `~/.claude/` de l'utilisateur en une base de connaissances Quartz statique, via un pré-traitement puis des agents parallèles de synthèse par projet et transversaux.
Points forts
- Automatise toute la chaîne, du JSONL brut jusqu'au serveur de dev Quartz, en une seule commande sans flag obligatoire
- Répartit le travail sur 5 à 12 agents parallèles avec regroupement intelligent des petits projets (<50 prompts)
- Impose des citations verbatim et des `[[wikilinks]]` systématiques, ce qui limite les paraphrases inventées
- Gère les cas limites explicitement : corpus vide, volume faible (<50 prompts), répertoire de sortie déjà rempli, source alternative via `--source`
Limites
- Le SKILL.md fourni est tronqué en pleine Phase 2 : les phases 3 à 5 (synthèse transversale, spine, installation Quartz, serveur) ne sont pas entièrement décrites
- La qualité du résultat dépend fortement du volume d'historique ; un utilisateur récent obtient une base très mince
- Nécessite l'installation préalable via install.sh, Python 3, les scripts et templates sous `<SKILL_DIR>`, ainsi que l'écosystème Node/Quartz
À utiliser lorsque vous voulez conserver et explorer de façon navigable des mois de sessions Claude Code accumulées dans `~/.claude`.
À éviter si votre historique est quasi vide, si vous ne pouvez pas exécuter de scripts locaux ou si vous cherchez une simple recherche plein texte plutôt qu'un site statique.
Analyse de sécurité
PrudenceThe skill uses powerful tools (Bash, npm, subagents) and reads highly sensitive local history, but each action is legitimate and directly serves its stated purpose of building a knowledge base. There is no destructive, exfiltrating, or obfuscated behavior, so it warrants caution rather than risky, mainly for the breadth of Bash/npm execution and the sensitivity of the data it ingests.
- •Reads the user's entire `~/.claude` history (prompts, session transcripts, subagent logs), which contains sensitive personal and business data; `--source` also allows pointing at another account's copied data.
- •Runs a bundled Python script (`preprocess.py`) and executes `npm install` + `npm run dev`, i.e. arbitrary package installs and a local dev server (broad Bash execution).
- •Dispatches many parallel subagents with Read/Write/Bash/Task, amplifying the scope of file access and writes.
- •Copies templates and overwrites output directory (asks once if non-empty) — mild data-loss risk if user has files in a reused dir.
- •No evidence of exfiltration, curl|sh, rm -rf, obfuscated payloads, or disabled safety; network use is limited to npm install and localhost binding.
Exemples
/cc-wiki/cc-wiki ~/vaults/claude-kb/cc-wiki --source ~/backup-claude ./kb-backupname: cc-wiki
description: Distill the user's ~/.claude history into a Quartz knowledge base. Runs preprocess.py, dispatches parallel project-digest agents, then parallel cross-cutting synthesis agents (people / companies / projects / concepts / workflows / tools / playbooks), writes the spine, installs Quartz, and starts the dev server. Single command, no flags required.
argument-hint: "[output-dir, default ./my-kb]"
allowed-tools: Read Write Edit Bash Glob Grep Task TaskCreate TaskUpdate
model: claude-opus-4-7
cc-wiki — Claude history → Quartz knowledge base
When the user runs /cc-wiki [dir], build a complete Quartz vault from their
~/.claude/ history. Five phases. The first and last are mechanical; the
middle three dispatch parallel subagents. End-of-run prints the localhost URL.
Default output dir: ./my-kb. If the user passes [dir], use that. If the
directory already exists and is non-empty, ask once before overwriting.
If the user has copied another account's Claude data to a custom location,
they can mention it inline (e.g. /cc-wiki --source ~/backup-claude) — pass
the same --source <path> to preprocess.py in Phase 1. Otherwise default to
~/.claude.
<SKILL_DIR> resolution: ~/.claude/skills/cc-wiki/ (installed by install.sh).
Templates and scripts live under <SKILL_DIR>/templates/ and
<SKILL_DIR>/scripts/.
Phase 0 — Scaffold
Bash(mkdir -p <dir>)
Bash(cp -R <SKILL_DIR>/templates/quartz/. <dir>/)
Bash(cp -R <SKILL_DIR>/templates/spine-defaults/. <dir>/)
The Quartz template includes quartz/, quartz.config.ts, quartz.layout.ts,
package.json, tsconfig.json, vercel.json, kb.py, and a starter
internal/ skeleton. The spine defaults are empty stubs for index.md,
methodology.md, arc.md, glossary.md, open-questions.md,
disambiguation.md — Phase 4 fills them.
Phase 1 — Pre-process
Bash(python3 <SKILL_DIR>/scripts/preprocess.py --out <dir>/internal [--source <path>])
Reads ~/.claude/history.jsonl + ~/.claude/projects/**/*.jsonl (or
<path>/history.jsonl + <path>/projects/**/*.jsonl if --source is set). Writes:
<dir>/internal/prompts/{project_slug}.md— chronological prompt log per project (chunked by month when > 400 prompts)<dir>/internal/sessions/{slug}/{session_id}.md— per-session digest<dir>/internal/subagents/{slug}/{session_uuid}/agent-*.md— subagent transcripts<dir>/internal/project-overview.{md,json}— authoritative project → corpus mapping (agents use this)<dir>/internal/session-inventory.{md,json}— counts and date ranges
If no sessions are found, stop and report: No sessions in ~/.claude/projects/. Nothing to build.
If the user has fewer than ~50 prompts total, warn that the output will be thin but proceed (some signal is better than none).
Phase 2 — Project digests (parallel agents)
Read <dir>/internal/project-overview.json to get the list of projects with
prompt counts. Group them:
- Big projects (>200 prompts): one dedicated agent each
- Medium (50-200): one agent each
- Small (<50): bundle 3-5 into a single "cluster" agent
For typical users you'll dispatch 5-12 agents in parallel in a single
message. Each agent gets the project-digest prompt template
(<SKILL_DIR>/templates/prompts/digest-project.md) with project-specific
substitutions: project path, slug, prompt file paths, session/subagent dir
paths, and total prompt count.
The template instructs the agent to:
- Read all assigned prompt files chronologically (not skim)
- Sample 5-15 session/subagent transcripts for depth
- Write
<dir>/internal/project-digests/{slug}.mdwith fixed schema (TL;DR → strands → people → companies → tools → concepts → workflow obs → cross-project connections → notable verbatim prompts → open threads)
The template requires verbatim quotes (no paraphrasing) and [[wikilinks]]
for every person/company/concept mentioned.
Wait for all agents to finish before Phase 3.
Phase 3 — Cross-cutting synthesis (parallel agents)
Dispatch six agents in parallel, one per axis. Each reads ALL project digests
from Phase 2 and writes its assigned output dir. Templates under
<SKILL_DIR>/templates/prompts/synthesize-{axis}.md:
| Axis | Output dir | Template |
|---|---|---|
| People | <dir>/people/ | synthesize-people.md |
| Companies | <dir>/companies/ | synthesize-companies.md |
| Projects | <dir>/projects/ | synthesize-projects.md |
| Concepts | <dir>/concepts/ | synthesize-concepts.md |
| Workflows | <dir>/workflows/ | synthesize-workflows.md |
| Tools & Playbooks | <dir>/tools/ + <dir>/playbooks/ | synthesize-tools-playbooks.md |
Each output dir gets its own index.md plus one page per entry.
Wait for all six to finish before Phase 4.
Phase 4 — Spine (you do this directly)
Write six files with full context of what Phases 2 and 3 produced:
<dir>/index.md— landing<dir>/methodology.md— how this KB was built (cite the pipeline)<dir>/arc.md— chronological narrative of the user's six months (or however long)<dir>/glossary.md— distilled vocabulary, grouped by category<dir>/open-questions.md— unresolved threads, including stated-vs-observed tensions<dir>/disambiguation.md— name collisions flagged by Phase 3
Use <SKILL_DIR>/templates/spine-defaults/*.md as starting structure but
fill them with the specific evidence from the run. The arc should be a
single-read narrative — past tense, dated milestones.
Phase 5 — Build and serve
Bash(cd <dir> && npm install --silent)
Bash(cd <dir> && python3 kb.py build) # generate .index.json
Bash(cd <dir> && npm run dev) # background
npm run dev starts the Quartz server at http://localhost:8080. Run in
background and surface the URL.
Final message to the user:
Built {N} pages from {M} prompts. Open http://localhost:8080.
Spine: index, arc, glossary, methodology, open-questions, disambiguation
Content: {p_count} projects, {ppl_count} people, {co_count} companies,
{c_count} concepts, {w_count} workflows, {t_count} tools, {pb_count} playbooks
⚠️ This vault names real people and unredacted strategy. Don't deploy public without a redact pass.
Hard rules
- One command, no flags. If the user passes
[dir], use it. Otherwise default./my-kb. No other arguments. - Phases 2 and 3 dispatch in parallel via the Task tool in a single message. Don't fan out sequentially — costs 5-10× more wall time.
- Verbatim quotes only. Every person / decision / pivot in the synthesis must trace back to a quoted prompt from the digest. Forbidden to paraphrase load-bearing claims.
[[wikilinks]]everywhere. Pre-resolve to lowercase-kebab slugs. Aliases go in frontmatter.- Don't touch
~/.claude/. Read-only. Pre-processor never writes back. - No network calls except LLM API. The preprocessor is stdlib; Quartz is local-build.
- If
npm installfails: report the error, suggestnvm use 22, and stop. Don't try to repair. - If a Phase 2 or Phase 3 agent fails: continue with the others, then report which axes have gaps. The KB is still useful with one axis missing.
- Don't write inside
<SKILL_DIR>/. Treat it as read-only at runtime; everything goes under<dir>.
Failure modes
- Empty history:
No sessions found in ~/.claude/projects/.Stop. - Single tiny project (<50 prompts): build succeeds but warn output will be thin.
history.jsonlmissing (older Claude Code installs): fall back to session JSONL alone; the corpus is still usable, just missing the project-tagged prompt spine.- Agent returns malformed digest: re-dispatch that one agent only with
Retry with stricter adherence to the digest schema.Don't retry more than once. - YAML frontmatter error in synthesized page: the page-template forbids unquoted titles with colons / quotes. Phase 3 templates emphasize this.
What this skill does NOT do
- Doesn't pick which projects matter — every project gets analyzed.
- Doesn't push to GitHub or deploy to Vercel.
- Doesn't redact for public use.
- Doesn't run behavioral analysis on the sessions (no session-quality metrics, no model-regression detection).
- Doesn't update across runs — re-running re-builds from scratch. (Future: incremental refresh.)
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/download' --output '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md.part' && mv '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md.part' '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read Write Edit Bash Glob Grep Task TaskCreate TaskUpdate
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md' && test -s '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/cc-wiki' && cp -R '.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc' '.claude/skills/cc-wiki'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc'openskills read 'cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/cc-wiki-claude-history-to-quartz-knowledge-base-ms1aw3yc/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Rédaction de docs Supabase
Documentation
Rédigez, éditez et révisez le contenu de la documentation Supabase : guides, tutoriels, références et partiels. Suivez les guides de style et les règles de validation MDX/TOML.
Créer un enregistrement de décision d'architecture
Documentation
Créer un nouveau ADR avec numérotation séquentielle, l'enregistrer dans le graphe AgentDB et le lier aux ADR associés.
Mise à jour de plan avec recherche approfondie
Documentation
Met à jour un document de plan en lançant des sous-agents en parallèle pour analyser un sujet sur tous les passes du compilateur, puis consolide les résultats.