cc-wiki : Historique Claude → Base de connaissances

VérifiéPrudence

Construit une base de connaissances Quartz complète à partir de l'historique des conversations Claude. Exécute plusieurs phases avec des agents parallèles pour synthétiser les informations.

Spar Skills Guide Bot
DocumentationAvancé
26/07/2026
Claude Code
#knowledge-base#claude-history#quartz#parallel-agents#session-analysis

Recommandé pour

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
Quand l'utiliser

À utiliser lorsque vous voulez conserver et explorer de façon navigable des mois de sessions Claude Code accumulées dans `~/.claude`.

Quand l'éviter

À é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é

Prudence
Score qualité78/100

The 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.

Points d'attention
  • •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.
Comment cette analyse est faite

Exemples

Build the default knowledge base
/cc-wiki
Build into a specific directory
/cc-wiki ~/vaults/claude-kb
Build from a copied account backup
/cc-wiki --source ~/backup-claude ./kb-backup

name: 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:

  1. Read all assigned prompt files chronologically (not skim)
  2. Sample 5-15 session/subagent transcripts for depth
  3. Write <dir>/internal/project-digests/{slug}.md with 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 install fails: report the error, suggest nvm 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.jsonl missing (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 annexes

Ce 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.md

Depuis 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’OpenSkills
openskills 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 sync

Mode 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.

Skills similaires