Skip to content
Documentation
Skill

/llmwiki-sync

Sync Claude Code session transcripts into the user's llmwiki and ingest them into the wiki. Use when the user says "sync the wiki", "update llmwiki", "ingest recent sessions", "refresh the knowledge base", or asks a knowledge question that would benefit from up-to-date sessions.

From plugin
llmwiki
3626 skills18 commands
Install
$ npx -y skills add Pratiyush/llm-wiki --skill llmwiki-sync --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/llmwiki-sync

Context preview

The summary Claude sees to decide when to auto-load this skill.

Sync Claude Code session transcripts into the user's llmwiki and ingest them into the wiki. Use when the user says "sync the wiki", "update llmwiki", "ingest recent sessions", "refresh the knowledge base", or asks a knowledge question that would benefit from up-to-date sessions.

SKILL.md

llmwiki-sync.SKILL.md
name: llmwiki-sync
description: Sync Claude Code session transcripts into the user's llmwiki and ingest them into the wiki. Use when the user says "sync the wiki", "update llmwiki", "ingest recent sessions", "refresh the knowledge base", or asks a knowledge question that would benefit from up-to-date sessions. Also use when the user explicitly asks to refresh or rebuild the LLM wiki from their agent history.

llmwiki-sync

What this skill does

The user maintains a Karpathy-style LLM Wiki — a local, file-based knowledge base compiled from their Claude Code (and Codex CLI) session transcripts.

This skill runs the full sync pipeline:

~/.claude/projects/*/*.jsonl         (raw session transcripts)
        │
        ▼   python3 -m llmwiki sync
llmwiki/raw/sessions/<proj>/*.md     (Karpathy layer 1 — immutable markdown)
        │
        ▼   /wiki-ingest              (Claude in the loop)
llmwiki/wiki/sources, entities,      (Karpathy layer 2 — LLM-maintained wiki)
              concepts, syntheses
        │
        ▼   python3 -m llmwiki build
llmwiki/site/                         (Karpathy layer 3 — static HTML)

When to use

Invoke this skill when the user:

  • Says "sync the wiki", "update llmwiki", "ingest recent sessions", "refresh the knowledge base"
  • Asks a knowledge question that would benefit from the latest sessions ("what have I been working on this week?") — run sync first, then `/wiki-query`
  • Starts a new project and wants context from past work
  • Says "what's new" or "catch me up" in a context where session history matters

Do NOT invoke when:

  • The user is asking a question unrelated to their own work
  • The tool is not installed (check for `llmwiki/` directory first)

Workflow

1. **Locate the llmwiki install.** Check the current working directory and common locations:

  • `./` (if cwd contains `llmwiki/` package)
  • `~/Desktop/2026/production-draft/llmwiki/`
  • `~/llmwiki/`
  • `$LLMWIKI_HOME` environment variable

If you can't find it, tell the user and stop.

2. **Run the converter** (idempotent — safe to re-run):

   cd <llmwiki-dir>
   python3 -m llmwiki sync

Capture the summary line: `N converted, M unchanged, K live, J filtered, X errors`.

3. **If N == 0**, report that the wiki is up to date and stop.

4. **If N > 0**, ingest the new files into the wiki using the Ingest Workflow from the repo's `CLAUDE.md`. Process one project at a time. If more than 20 new files, ask the user whether to process all or a subset first.

5. **Append to `wiki/log.md`**:

   ## [YYYY-MM-DD] sync | <N> sessions across <M> projects

6. **Report** what was converted, which wiki pages were created or updated, and any contradictions flagged.

Options

The converter supports flags the user may want:

python3 -m llmwiki sync --project <substring>       # only one project
python3 -m llmwiki sync --since 2026-04-01          # only recent
python3 -m llmwiki sync --include-current           # include <60min live
python3 -m llmwiki sync --force                     # ignore state, reconvert all
python3 -m llmwiki sync --dry-run                   # preview without writing

Hook installation (optional, for auto-sync)

If the user wants the converter to run automatically on every Claude Code session start, offer to add this to `~/.claude/settings.json`:

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "(python3 /absolute/path/to/llmwiki/tools/sessions_to_markdown.py > /tmp/llmwiki-sync.log 2>&1 &) ; exit 0"
          }
        ]
      }
    ]
  }
}

The `( ... &) ; exit 0` pattern ensures the hook runs in the background and never blocks session start.

Troubleshooting

  • **Permission errors on `raw/`**: the converter writes to `llmwiki/raw/sessions/`. Make sure the repo is writable.
  • **Nothing converted, only "live"**: the default 60-minute live filter is skipping recent sessions. Pass `--include-current` to override, or wait an hour.
  • **Converter says "module 'tomllib' not found"**: stale source. Update to the current version (`tools/sessions_to_markdown.py` uses `json`, not `tomllib`).
  • **Privacy**: the converter redacts username, API keys, tokens, and emails by default. If you see unredacted PII, check `examples/sessions_config.json` → `redaction.real_username`.
Read more
Ships withllmwiki

LLM-powered knowledge base from your Claude Code, Codex CLI, Cursor, Gemini CLI, and Obsidian sessions. Built on Andrej Karpathy's LLM Wiki pattern.

Get the whole plugin