Operating · Lesson 08 — Wiki synthesis — turning chat history into queryable knowledge
O08Operating
Operating · Lesson 08● live

Wiki synthesis

Karpathy-style ingest. Turning chat into queryable knowledge.

15 min read · 45 min applyprereq: Operating 07

What synthesis is

Most operators using Claude generate hundreds of hours of chat history within months. The chat archive contains real knowledge — debugging insights, framework decisions, market research, vendor comparisons. The chat archive also makes that knowledge effectively unfindable because it’s linear, un-indexed, and only reads in time-order.

Synthesis is the act of compressing chat (or any raw source) into focused, cross-linked wiki pages that the agent can read in milliseconds at session start. The chat stays as backup. The wiki becomes the primary read.

The pattern is borrowed from how Andrej Karpathy talks about his note-taking: atomic concept pages, dense cross-linking, an index as the entry point. The format is small. The discipline is everything.

This lesson is the 5-step ingest workflow, the page format that makes pages queryable, the lint cadence that keeps the wiki healthy.

The 1000-hour story

Six months in, I had something like 1000 hours of Claude Code chat history. I knew there was gold buried in it — debugging patterns I’d figured out, framework decisions I’d made, market research I’d compiled. I couldn’t find any of it.

Every time I needed to recall something, I’d either spelunk through old transcripts (slow, frustrating) or just re-derive the answer from scratch (wasted hours, knowledge that didn’t compound). The chat archive was simultaneously the only record I had AND the wrong shape for retrieval.

The fix took a workflow change, not a tool change. I stopped treating chat as the artifact. The artifact became a synthesized wiki page in 09-Research/. Every time I had a real session — a debugging push, a research dive, a framework decision — I ended it with: “summarize this into a wiki page.”

Three months in, the wiki had ~80 pages. Knowledge questions that used to take 10 minutes of chat-spelunking now took 10 seconds of agent-reads-the-page. The chat archive was still there as backup. It just wasn’t the primary read anymore.

The lesson took longer to learn than it should have. Most operators get to it eventually; this lesson is the shortcut.

Three ways synthesis fails

Even with the workflow in place, three patterns silently break the wiki. Hover any card to see the diagnosis.

01

The chat archive

claim looks likeTreat chat transcripts as the artifact. "It's all in the conversation history."
what’s missingLinear, un-indexed, can't be queried. After 50 sessions you have 50 hours of transcript and no way to extract "what do we know about X." Re-reading the same chats repeatedly is the only access pattern.
the moveChat is raw material. The artifact is a synthesized wiki page. Compress sessions into focused pages with one-sentence summaries. The chat stays as backup; the wiki becomes the primary read.
02

The wiki without summaries

claim looks likePages exist but no top-line summary. Reader (or agent) has to skim to know what's there.
what’s missingWithout summaries, the index is uselessly long. Agent loads full-page content for every relevance check. Can't scan for what to read next.
the moveEvery wiki page starts with a one-sentence summary in italics under the title. The index file lists each page by summary, not just title. Mandatory format.
03

The orphaned page

claim looks likeNew wiki page written. Index never updated. Page sits unreferenced; agent never finds it; future ingestions duplicate the topic.
what’s missingThe page might as well not exist. Cross-references are how the wiki becomes a graph instead of a pile of files. Without the index update, the page is invisible.
the moveUpdate 09-Research/index.md after every ingest. Step 5 of the workflow. Non-negotiable. If you skip it, the page is unfindable and your agent will rewrite the topic from scratch next month.

The fix in all three: discipline on the workflow steps, especially step 5 (update the index). The wiki rots characteristically when steps get skipped.

The lint test

Run this monthly. Surfaces the six characteristic ways a wiki rots over time.

The wiki lint test
Walk every page in 09-Research/ and report:

1. ORPHANED — pages with no incoming wikilinks from other pages.
   These are unfindable. Either link them in or archive them.

2. NO SUMMARY — pages missing the one-sentence italic summary
   at the top. The index can't load these meaningfully.

3. STALE — pages with timestamps >6 months old. Either refresh
   the content or add a "verified-as-of" note. Flag for re-check.

4. CONTRADICTIONS — pages making different claims about the same
   concept. List both, suggest reconciliation.

5. MISSING CROSS-REFS — page A mentions B but doesn't [[link]]
   to the page about B. Suggest the wikilinks to add.

6. COVERAGE GAPS — concepts that appear in 3+ pages but have no
   dedicated synthesis page. List them as ingest candidates.

Output a numbered list of fixes. Mark which are auto-fixable vs
which need human decision.

Six categories. ~30 min monthly to maintain a healthy wiki.

The wiki rots in predictable ways. Without monthly lint, it goes from “useful index” to “pile of files” within 6 months. With consistent lint, it gets better over time — pages get cross-referenced, summaries tighten, gaps fill in.

The cost is small. The cost of skipping it — entire knowledge layer becoming untrustworthy — is large.

Annotated transcript

A real conversation — operator with chat archive that’s become unfindable. Click any pinned annotation under an agent reply to expand the “why this turn matters” commentary.

From chat archive to queryable wiki

Five operator turns, four agent turns. Result: the workflow, the format, the lint cadence.

  1. operator

    I have hundreds of hours of chat history with Claude. I know there's gold in it but I can't find anything. What do I do?

  2. agent

    The chat archive is raw material, not the artifact. The artifact is a synthesized wiki page. The fix is a 5-step ingest workflow:

    1. Read the source fully (chat transcript, research note, meeting log).
    2. Identify entities, concepts, decisions, relationships.
    3. Create or update wiki pages — one focused page per concept.
    4. Cross-link with [[wikilinks]].
    5. Update 09-Research/index.md.

    Skip step 5 and the page is unfindable. That's the most common failure.

  3. operator

    OK but I have hundreds of hours. Where do I start?

  4. agent

    Don't try to ingest the past in bulk — diminishing returns. Two strategies that actually work:

    Forward-only ingest. From today, every long session ends with "summarize this into a wiki page." Build the synthesis layer going forward. After 30 days you have the most relevant context indexed without spelunking.

    Targeted backfill. When you ask a knowledge question and the agent says "I'd need to find that in chat history," THAT specific topic gets a wiki page. The questions you actually ask reveal what's worth synthesizing. Everything else is over-fitting.

    Most operators use both. Forward-only by default; targeted backfill when a topic surfaces.

  5. operator

    What does a good wiki page look like? Should it be exhaustive?

  6. agent

    Short, focused, opinionated. The format I run:

    # [Title — concept-level, not session-level]
    > One-sentence summary in italics. This is what loads in the index.
    
    ## Overview
    [2-3 paragraphs synthesizing the topic. Not exhaustive.
     Compressed enough that re-reading is fast.]
    
    ## Key Points
    - [Bulleted facts and rules — what someone would tell a colleague]
    
    ## Related
    [[wikilink to adjacent page]] | [[another adjacent page]]
    
    ## Sources
    - [[2026-04-15 chat — debugging X]] — date
    - [[Meeting with Y — date]]

    Four sections + summary. Most pages are 200-400 words. If a page goes past 800 words, it's probably two pages — split it.

  7. operator

    How often should I lint the wiki?

  8. agent

    Monthly is the right cadence for most operators. The lint pass:

    1. Orphaned pages — pages with no incoming wikilinks. Either link them in or move to 11-Archive/.
    2. Contradictions — two pages saying different things about the same concept. Reconcile or note the dispute.
    3. Stale claims — pages with timestamps >6 months old that haven't been verified recently. Refresh or flag.
    4. Missing cross-references — page A mentions concept B but doesn't link to the page about B. Fix the link.
    5. Coverage gaps — topics that show up in chat repeatedly but have no wiki page. Synthesize.

    Usually a 30-min monthly pass. The wiki rots in characteristic ways without it; lint keeps the structure healthy.

The page format

Every wiki page in 09-Research/ follows this format. Mandatory.

# [Title — concept-level, not session-level]
> One-sentence summary in italics. This is what loads in the index.

## Overview
[2-3 paragraphs synthesizing the topic. Not exhaustive.
 Compressed enough that re-reading is fast.]

## Key Points
- [Bulleted facts and rules — what someone would tell a colleague
   in 30 seconds]
- [5-8 bullets is healthy; if you have 15, the page is too broad —
   split it]

## Related
[[wikilink to adjacent page]] | [[another adjacent page]]

## Sources
- [[2026-04-15 chat — debugging X]] — date
- [[Meeting with Y — date]]
- [URL or external reference] — accessed YYYY-MM-DD

Four sections + the summary. Most pages are 200-400 words. If a page exceeds 800 words, it’s probably two pages — split it.

Why this format works:

  • One-sentence summary is what the agent reads in the index without loading full pages. Quick relevance scan.
  • Overview synthesizes — gets the reader oriented in 60 seconds.
  • Key Points is the dense load-bearing layer — what someone would actually use to act.
  • Related is the graph — wikilinks turn the wiki from files into a queryable network.
  • Sources is provenance — without it, you can’t tell whether the synthesis is current.

The 5-step ingest workflow

When you ask Claude to ingest a source — chat transcript, meeting note, research file — these are the five steps. Skip any step and the wiki degrades. The most-skipped step is #5; the wiki rotting cascade starts there.

  1. Read the source fully. Not skim. The synthesis is only as good as the comprehension.
  2. Identify entities, concepts, decisions, and relationships relevant to your work. Not everything in the source — only what generalizes beyond this specific session.
  3. Create or update wiki pages — one focused page per concept. Apply the standard format. New pages get filenames like concept-name.md; existing pages get amended.
  4. Cross-link with [[wikilinks]] to existing pages. The graph IS the wiki; without links, you have a pile of files.
  5. Update 09-Research/index.md with the new entries (or amended ones). One line per page: - [[Page title]] — One-sentence summary.

Step 5 is non-negotiable. If the index doesn’t list the page, the agent won’t find it next session. Future ingestions will duplicate the topic, creating contradictions. The whole wiki layer fails silently.

Three diagrams

The 5-step ingest workflow
Agent reports
"Done. Here's the status."
Apply the diagnostic
"Walk every claim. Test method?"
All claims have
observable test methods
Some claims marked
INCOMPLETE
Agent says it
cannot verify
Run the tests yourself.
Pass or revise.
Block on those criteria.
Re-plan around the gaps.
Revise the criterion or
run the tests yourself.
What happens when each step is skipped
"done"
Shape claim
Inherited assumption
Schema-quiet mismatch
"240 files saved at 2304×1296"
"Auto-labels look good per baseline"
"Labels uploaded successfully"
Did anyone open one?
Was the assumption re-verified?
Were the IDs actually right?
Need:
visual inspection step in contract
Need:
explicit re-validation of every inherited claim
Need:
cross-system schema check, not upload-success
Source layer (immutable) vs synthesis layer (curated)
Sprint requested
Draft testable success criteria
Builder + Evaluator co-sign. Every row has a "How to test" cell.
Build against contract
Builder self-eval
runs each test method
Evaluator independent eval
fresh eyes, same tests
Ship
Return to Builder

Prompt kit

Three prompts for synthesis and maintenance. Save in your CLAUDE.md or a personal snippets file.

Lint the wiki (monthly)
Walk every page in 09-Research/ and report:

1. ORPHANED — pages with no incoming wikilinks from other pages.
   These are unfindable. Either link them in or archive them.

2. NO SUMMARY — pages missing the one-sentence italic summary
   at the top. The index can't load these meaningfully.

3. STALE — pages with timestamps >6 months old. Either refresh
   the content or add a "verified-as-of" note. Flag for re-check.

4. CONTRADICTIONS — pages making different claims about the same
   concept. List both, suggest reconciliation.

5. MISSING CROSS-REFS — page A mentions B but doesn't [[link]]
   to the page about B. Suggest the wikilinks to add.

6. COVERAGE GAPS — concepts that appear in 3+ pages but have no
   dedicated synthesis page. List them as ingest candidates.

Output a numbered list of fixes. Mark which are auto-fixable vs
which need human decision.
Ingest a source into the wiki
Read the file at <path> (chat transcript, meeting note, research source).

Walk through the 5-step ingest:
1. Read the source fully.
2. Identify entities, concepts, decisions, and relationships
   relevant to my work.
3. Create or update wiki pages in 09-Research/ — one focused page
   per concept. Use the standard format (one-sentence summary,
   overview, key points, related, sources).
4. Add [[wikilinks]] to connect to existing pages where they apply.
5. Update 09-Research/index.md with new entries (one-line per
   page, summary text from the page).

Show me a diff of what would change. Don't apply yet — I'll review
and approve.
Compress chat history into a wiki page
Read this chat transcript: <paste or path>.

Identify the load-bearing knowledge — facts, decisions, frameworks,
or rules that would generalize beyond this specific conversation.

Draft a wiki page in the standard format:
- Title (concept-level, not session-level)
- One-sentence summary
- Overview (2-3 paragraphs)
- Key Points (5-8 bullets, each is a generalizable fact or rule)
- Related (wikilinks to adjacent topics — only if they exist)
- Sources (cite the chat by date)

If the chat doesn't contain anything generalizable, say so. Not
every conversation produces a wiki page; most don't.

Apply this — synthesize one piece

45-minute exercise. Pick one thing you’ve answered before but can’t easily find now. Synthesize it. Run the test.

Build your first synthesized wiki page

Each step takes ~10 minutes. Progress saves automatically.

0/5
  1. 01Pick one piece of work that's currently lost in chat or research scattering — something you've answered before but can't find.Common: a debugging pattern, a vendor/tool comparison, a market research summary, a framework you've used.
  2. 02Apply the ingest prompt to the source. Have Claude draft a wiki page.Standard format: one-sentence summary, overview, key points, related, sources.
  3. 03Save the page in 09-Research/. Update 09-Research/index.md with the new entry.Step 5 of the workflow. Without this the page is unfindable. Non-negotiable.
  4. 04Open a fresh Claude Code session. Ask the question that originally surfaced the topic.If the agent now answers cleanly by reading the wiki page, the synthesis is working.
  5. 05Set a monthly lint reminder — 30 min on the first Monday of the month.Run the lint prompt. Apply the fixes. The wiki stays healthy with consistent maintenance.
Operating tier · what's next

After this lesson