{"slug": "show-hn-10x-better-performance-from-the-coding-harnesses-with-llm-wiki", "title": "Show HN: 10x better performance from the Coding Harnesses with LLM-wiki", "summary": "A developer released LLM-wiki, a tool that orchestrates 5–10 parallel AI agents to research topics and compile structured wikis from academic, technical, news, and contrarian sources. The system ingests URLs, PDFs, and other data, then produces cross-referenced articles, reports, and slide decks in plain Markdown, aiming to deliver verifiable, compoundable research outputs. It ships as plugins for Claude Code, OpenAI Codex, and OpenCode, and is designed to reduce confirmation bias through multi-angle investigation.", "body_md": "### Research\n\n5–10 parallel agents search academic, technical, applied, news, and contrarian angles. `--min-time 2h`\n\nkeeps going in rounds, drilling into gaps each round finds.\n\n```\n██╗     ██╗     ███╗   ███╗    ██╗    ██╗██╗██╗  ██╗██╗\n██║     ██║     ████╗ ████║    ██║    ██║██║██║ ██╔╝██║\n██║     ██║     ██╔████╔██║    ██║ █╗ ██║██║█████╔╝ ██║\n██║     ██║     ██║╚██╔╝██║    ██║███╗██║██║██╔═██╗ ██║\n███████╗███████╗██║ ╚═╝ ██║    ╚███╔███╔╝██║██║  ██╗██║\n╚══════╝╚══════╝╚═╝     ╚═╝     ╚══╝╚══╝ ╚═╝╚═╝  ╚═╝╚═╝\n```\n\nParallel multi-agent research. Thesis-driven investigation. Source ingestion.\nWiki compilation. Session memory. Feedback curation. Topic archiving. Inventory tracking.\nDataset manifests. Truth-seeking audits. Querying. Artifact generation. Ships as a\nClaude Code plugin, an OpenAI Codex plugin, an OpenCode instruction file, or a\nportable `AGENTS.md`\n\n. Obsidian-compatible.\n\nEvery run compounds. Sources become cross-referenced articles. Articles become reports, slide decks, study guides, playbooks, and implementation plans. Session digests keep the agent oriented without turning private chats into topic evidence.\n\nOne command spins up a topic wiki, dispatches up to ten agents, ingests what's worth keeping, collects provenance-rich catalogs before tracking them, archives old topics without deleting them, tracks durable follow-up state, indexes large datasets without copying them, captures redacted session context and feedback candidates without hoarding transcripts, compiles sources into articles, and hands you a deliverable built on top. All plain Markdown you own.\n\n5–10 parallel agents search academic, technical, applied, news, and contrarian angles. `--min-time 2h`\n\nkeeps going in rounds, drilling into gaps each round finds.\n\nStart from a claim. Agents split across supporting, opposing, mechanistic, meta, and adjacent angles. Output is a verdict — not a summary. Round two fights confirmation bias.\n\nURLs, files, PDFs, inbox drops, Git doc repos, MediaWiki dumps, message archives, and Wayback CDX snapshots. Raw sources stay immutable; articles synthesize on top.\n\nFind, dedupe, download bounded public media, and catalog discoverable artifacts, examples, memes, tools, entities, and source candidates. Captures aliases, found-in-context provenance, local asset paths, hashes, scale, media policy, and inventory fit.\n\nTrack durable things the wiki should remember: items, source candidates, corpora, entities, open questions, watch items, and next actions. Chat views default to compact tables.\n\nIndex large, external, mutable, or operational data with manifests, samples, profiles, and query recipes. The wiki becomes the interface; the data stays where it belongs.\n\nMove whole topic wikis to `topics/.archive/`\n\n. Preserved knowledge stays structurally maintainable but out of default query, compile, research, collect, output, and maintenance context.\n\nRaw sources become synthesized articles with cross-references and confidence scores. Every directory has an `_index.md`\n\n— nothing is scanned blindly.\n\nQuick (indexes), standard (articles), or deep (everything + sibling wikis). `--resume`\n\npicks up where you left off.\n\nDefault-on hook capture writes redacted events, state JSON, and Markdown digests under `.sessions/`\n\n. Rehydrate future turns with compact context; promote only what belongs in a topic.\n\nCurates high-signal corrections, preferences, approvals, and plan acceptance under `.sessions/feedback/`\n\n. Generic acknowledgements are ignored; durable lessons are explicitly promoted.\n\nScore every article for staleness and quality. Two-tier scan: fast metadata check, then deep content read for flagged articles. Checkpoint recovery. Machine-readable JSON + human-readable report.\n\nAnswer the broader trust question. Reuse the librarian pass, trace outputs across `raw/`\n\n, `wiki/`\n\n, and `output/`\n\n, detect drift, inspect provenance, and do fresh research when local evidence is not enough.\n\nExtract lessons learned from the current session — error→fix patterns, user corrections, discoveries. Saved as structured notes the wiki can query later. `--rules`\n\nemits enforceable rules instead of prose.\n\nWiki-grounded implementation plans. Reads the knowledge base, interviews you about requirements, fills gaps with targeted research, and produces a phased plan citing wiki articles as evidence. `--format rfc|adr|spec`\n\n.\n\nReports, slide decks, study guides, playbooks, implementation plans, timelines, glossaries, comparisons. Filed back into the wiki so the next output builds on every previous one.\n\nNative plugin. Recommended.\n\n```\nclaude plugin install wiki@llm-wiki\n```\n\nInstalls from the public marketplace. Restart Claude Code to apply.\n\nMarketplace plugin. Invoke with `@wiki`\n\n.\n\n```\ncodex plugin marketplace add nvk/llm-wiki\n# Then open /plugins, enable \"LLM Wiki\", use @wiki\n```\n\nOr from a local checkout: `./scripts/bootstrap-codex-plugin.sh --scope user --verify`\n\n. The Codex tree is a generated mirror of the Claude source of truth — updates land identically.\n\nInstruction file.\n\n```\n# In opencode.json:\n{ \"instructions\": [\n  \"path/to/llm-wiki/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md\"\n] }\n```\n\nOr copy to `~/.config/opencode/AGENTS.md`\n\n. Web search requires `OPENCODE_ENABLE_EXA=1`\n\n.\n\nInstruction file. Best for local models.\n\n```\npi --instructions path/to/llm-wiki/plugins/\\\nllm-wiki-opencode/skills/wiki-manager/SKILL.md\n```\n\nPi's 1K system prompt leaves room for the full wiki skill on 32K context local models. Uses the same skill file as OpenCode.\n\nPortable `AGENTS.md`\n\n.\n\n```\ncurl -sL https://raw.githubusercontent.com/nvk/llm-wiki/master/AGENTS.md \\\n  > ~/your-project/AGENTS.md\n```\n\nDrop the file into any agent's context or project root. Works with anything that can read/write files and search the web.\n\n**Claude Code:**\n\n```\nclaude plugin update wiki@llm-wiki\n# Restart Claude Code to apply\n```\n\nIf the update command misses a new version (stale marketplace cache), sync manually:\n\n```\ngit clone https://github.com/nvk/llm-wiki.git   # or: git -C ~/llm-wiki pull\nREPO=~/llm-wiki/claude-plugin\nDEST=~/.claude/plugins/cache/llm-wiki/wiki\nVERSION=$(grep '\"version\"' \"$REPO/.claude-plugin/plugin.json\" | grep -o '[0-9.]*')\nrm -rf \"$DEST\"/*\nmkdir -p \"$DEST/$VERSION\"\ncp -R \"$REPO/.claude-plugin\" \"$REPO/commands\" \"$REPO/skills\" \"$DEST/$VERSION/\"\n```\n\n**Codex:** `codex plugin marketplace upgrade llm-wiki`\n\n. For a local checkout: re-run `./scripts/bootstrap-codex-plugin.sh --scope user --verify`\n\n.\n\n**AGENTS.md:** re-run the curl command above to replace the file.\n\nOne command, from anywhere — creates a topic wiki, launches parallel agents, keeps researching for an hour, comes back compiled.\n\n```\n/wiki:research \"gut microbiome\" --new-topic --min-time 1h\n```\n\nMore common flows:\n\n```\n/wiki:research \"nutrition\" --new-topic\n/wiki:research \"fasting\" --deep --min-time 2h\n/wiki:research \"What makes articles go viral?\" --new-topic\n\n/wiki:research --mode thesis \"fiber reduces neuroinflammation via SCFAs\"\n/wiki:query \"How does fiber affect mood?\"\n/wiki:query --resume\n\n/wiki add https://example.com/article       # fuzzy router → ingest\n/wiki what do we know about CRISPR?         # fuzzy router → query\n\n/wiki:ingest-collection https://github.com/bitcoin/bips --wiki bitcoin\n/wiki:collect \"bitcoin memes\" --wiki bitcoin\n/wiki:collect \"bitcoin memes\" --scale medium --media reference --inventory corpus\n/wiki:inventory add item \"TRX-4M ring and pinion\" --wiki trx4m-1-18\n/wiki:inventory list --view actions --limit 10\n/wiki:dataset add \"Bitcointalk Temporal Graph\" --location https://figshare.com/articles/dataset/BitcoinTemporalGraph/26305093\n/wiki:dataset list --view schema --limit 10\n/wiki:archive topic old-interest --reason \"No longer active\"\n/wiki:archive list --archived\n/wiki:archive restore old-interest\n/wiki:session status\n/wiki:session rehydrate --cwd \"$PWD\"\n/wiki:feedback list --unpromoted\n/wiki:session disable   # optional opt-out\n\n/wiki:compile\n/wiki:output report --topic gut-brain\n/wiki:assess /path/to/my-app --wiki nutrition\n/wiki:lint --fix\n```\n\nLong agent runs lose useful context when chats compact, terminals close, or work moves from Claude to Codex.\nLLM Wiki now has a hidden operational layer for that: redacted checkpoints, compact digests, and user-feedback\ncandidates under `HUB/.sessions/`\n\n. It helps the next turn get oriented without treating private chat\nlogs as curated wiki knowledge.\n\nTrusted hooks capture in balanced mode by default. `/wiki:session disable`\n\nwrites `enabled: false`\n\nso those hooks become no-ops.\n\nCapture stores metadata, state, small events, and distilled Markdown digests. Full transcripts are not stored by default.\n\n`/wiki:session rehydrate`\n\nreturns a compact context block pointing the agent to relevant digests for the current directory, topic, or session ID.\n\nSession digests and feedback candidates remain operational memory until `promote`\n\nwrites a distilled note into a topic's `raw/notes/`\n\n.\n\n```\nHUB/.sessions/\n├── config.json                         # enabled/mode/privacy/rehydrate settings\n├── registry.jsonl                      # append-only lifecycle events\n├── queue/YYYY-MM-DD.jsonl              # small redacted hook events\n├── state/<harness>/<session_id>.json   # latest per-session machine state\n├── digests/YYYY/MM/<harness>-<session_id>.md\n├── feedback/\n│   ├── candidates.jsonl                # corrections, preferences, approvals, plan acceptance\n│   └── status.json\n└── indexes/                            # derived caches for cwd/topic/session lookups\n/wiki:session status\n/wiki:session rehydrate --cwd \"$PWD\"\n/wiki:session list --limit 10\n/wiki:session show codex:abc123\n/wiki:session promote codex:abc123 --topic meta-llm-wiki\n\n/wiki:feedback list --unpromoted\n/wiki:feedback show fb-abc123\n/wiki:feedback promote fb-abc123 --topic meta-llm-wiki\n\n/wiki:session disable   # opt out\n/wiki:session enable    # turn capture back on\n```\n\nThe same `.sessions/`\n\nlayout works across Codex, Claude Code, OpenCode, Gemini-style adapters, and local `.wiki/`\n\nproject wikis.\n\n`.sessions/`\n\n; no full transcripts by default.`--fix`\n\nauto-repairs safe issues.\n\n```\n~/wiki/                                 # Hub — lightweight, no content\n├── wikis.json                          # Registry of all topic wikis\n├── _index.md                           # Lists topic wikis with stats\n├── log.md                              # Global activity log\n├── .sessions/                          # Operational session memory, digests + feedback\n└── topics/                             # Each topic is an isolated wiki\n    ├── nutrition/\n    │   ├── .obsidian/                  # Obsidian vault config\n    │   ├── inbox/                      # Drop zone for this topic\n    │   ├── inventory/                  # Items, candidates, corpora, views\n    │   ├── datasets/                   # Manifests for large/external data\n    │   ├── raw/                        # Immutable sources\n    │   ├── wiki/                       # Compiled articles\n    │   │   ├── concepts/\n    │   │   ├── topics/\n    │   │   └── references/\n    │   ├── output/                     # Generated artifacts\n    │   ├── _index.md\n    │   ├── config.md\n    │   └── log.md\n    ├── woodworking/                    # Another topic wiki\n    └── .archive/                       # Archived topic wikis, hidden by default\n```\n\nEach research area is isolated. No cross-topic noise. Queries stay focused. A multi-wiki peek finds overlap when relevant.\n\n`[[wikilinks]]`\n\nfor Obsidian plus standard markdown links for everything else. Works in every viewer — including no viewer at all.\n\nOnce a source is ingested it is never modified. Articles synthesize on top. Retraction removes both cleanly.\n\n`/wiki:collect`\n\nrecords aliases, source context, media URLs, cached asset paths, hashes, dedupe notes, scale, and inventory recommendations before anything becomes evidence or durable state.\n\nParts, source queues, corpora, watch items, and next actions live under `inventory/`\n\nso they can be listed and revisited without becoming evidence.\n\n`datasets/`\n\nstores manifests, samples, profiles, and query recipes for large data. The wiki indexes data without copying it into the source corpus.\n\nArchived topics live under `topics/.archive/`\n\n. Most tools skip them by default; deep queries may surface index hits, and explicit `--include-archived`\n\ncan read them.\n\n`.sessions/`\n\nis hidden, cross-topic operational state for redacted checkpoints, digests, rehydration indexes, and feedback candidates. Topic promotion is explicit.\n\nRuns entirely on the host agent's built-in tools. Plugin is Markdown + commands. No servers, no services, no telemetry.\n\nAll commands accept `--wiki <name>`\n\nto target a topic wiki and `--local`\n\nfor the project wiki. Archived topic wikis are skipped by default; commands that support `--include-archived`\n\nrequire that explicit flag before reading or writing archived material. `query`\n\n, `output`\n\n, and `plan`\n\nalso accept `--with <wiki>`\n\nfor cross-wiki context.\n\n| Command | Description |\n|---|---|\n`/wiki <natural language>` | Fuzzy intent router — say what you want, it routes to the right subcommand. |\n`/wiki` | Show status, stats, and list all topic wikis. |\n`/wiki init <name>` | Create a topic wiki at `~/wiki/topics/<name>/` . |\n`/wiki:ingest <source>` | Ingest a URL, file path, or quoted text. |\n`/wiki:ingest --inbox` | Process files dropped into the topic wiki's inbox. |\n`/wiki:ingest-collection <source>` | Bulk-ingest Git doc repos, BIP-style proposal sets, MediaWiki dumps/API sites, message archives, or Wayback CDX snapshots. |\n`/wiki:collect \"<things>\"` | Find, dedupe, and catalog artifacts, examples, resources, media, memes, tools, entities, or source candidates. |\n`/wiki:collect \"<things>\" --scale tiny|small|medium|large|huge` | Control write behavior by operational scale: row count, media weight, provenance burden, volatility, and inventory usefulness. |\n`/wiki:collect \"<things>\" --media archive|thumbnail|reference` | Download bounded originals by default for media-bearing collections; use thumbnails for previews or reference to opt out. |\n`/wiki:collect \"<things>\" --inventory corpus|records` | Create one corpus record for medium or media-heavy sets, or per-item records only for small durable lists. |\n`/wiki:inventory list` | List durable tracking records as compact chat tables or bullets. |\n`/wiki:inventory add <kind> \"title\"` | Add items, source candidates, entities, corpora, questions, tasks, or watch records after a fit check. |\n`/wiki:inventory scan-outputs --dry-run` | Preview legacy queues/backlogs before an additive inventory migration. |\n`/wiki:dataset list` | List dataset manifests without opening samples, profiles, queries, or underlying data. |\n`/wiki:dataset add \"title\" --location <path-or-url>` | Index large or external data with a manifest; the data stays outside the wiki. |\n`/wiki:dataset profile <slug> --dry-run` | Preview lightweight profiling of size, format, headers, or schema observations. |\n`/wiki:archive list [--archived]` | List active topic wikis and optionally archived topic wikis. |\n`/wiki:archive topic <slug> --reason \"why\"` | Move a topic wiki to `topics/.archive/<slug>` and hide it from default context. |\n`/wiki:archive restore <slug>` | Restore an archived topic wiki to active status. |\n`/wiki:archive peek <query>` | Search archived topic indexes without reading archived article bodies. |\n`/wiki:session status|disable|enable` | Inspect, opt out of, or reconfigure default-on redacted session capture. |\n`/wiki:session capture|list|show` | Create, browse, and inspect redacted session digests kept outside topic evidence. |\n`/wiki:session rehydrate|promote` | Load compact session context or explicitly promote a distilled digest into topic raw notes. |\n`/wiki:feedback list|show` | Review redacted feedback candidates for corrections, preferences, approvals, and plan acceptance. |\n`/wiki:feedback capture|promote` | Manually add a feedback candidate or explicitly promote one into topic raw notes. |\n`/wiki:compile` | Compile new sources into wiki articles. |\n`/wiki:query <question>` | Q&A against the wiki. `--quick` / `--deep` / `--list` / `--resume` / `--include-archived` . |\n`/wiki:ll` | Extract lessons from current session into wiki. `--dry-run` , `--rules` . |\n`/wiki:research <topic>` | 5 parallel agents. `--plan` (multi-path), `--deep` (8), `--retardmax` (10), `--new-topic` , `--min-time 1h` . |\n`/wiki:research --mode thesis <claim>` | Thesis-driven research: for + against → verdict. |\n`/wiki:plan <goal>` | Wiki-grounded implementation plan. `--format rfc|adr|spec` . |\n`/wiki:output <type>` | summary, report, study-guide, slides, timeline, glossary, comparison. |\n`/wiki:assess <path>` | Assess a repo against wiki + market. Gap analysis. |\n`/wiki:audit` | Truth-seeking audit across wiki, outputs, provenance, and fresh research when needed. |\n`/wiki:librarian` | Score articles for staleness and quality. Checkpoint recovery. `--article <path>` for single article. |\n`/wiki:lint` | Health checks. `--fix` auto-repairs. `--deep` web-verifies facts. |\n`/wiki:retract` | Remove a source and clean up downstream references. |\n`/wiki:project` | Group outputs into projects with goals and manifests. |\n\nFrom zero to a compiled wiki in 5 minutes.\n\n**1. Install the plugin**\n\n```\nclaude plugin install wiki@llm-wiki\n```\n\n**2. Create a topic wiki**\n\nPick any topic you're curious about:\n\n```\n/wiki init nutrition\n```\n\nThis creates a hub at `~/wiki/`\n\nand your first topic wiki at `~/wiki/topics/nutrition/`\n\n.\n\n**3. Research it**\n\n```\n/wiki:research \"gut microbiome and mental health\" --wiki nutrition\n# or just say it naturally:\n/wiki research gut microbiome and mental health\n```\n\nFive parallel agents search the web from different angles (academic, technical, applied, news, contrarian), ingest the best sources, and compile them into cross-referenced wiki articles. Takes 2-5 minutes.\n\n**4. Ask your wiki a question**\n\n```\n/wiki:query \"how does fiber affect mood?\" --wiki nutrition\n# or naturally:\n/wiki how does fiber affect mood?\n```\n\nThe wiki answers from its compiled articles with citations.\n\n**5. Audit before you trust an output**\n\n```\n/wiki:audit --wiki nutrition\n/wiki:audit --artifact output/report-gut-brain.md\n```\n\nAudit rechecks the wiki layer, traces the output's evidence chain, flags drift, and will do fresh research if the local corpus is not enough to answer the trust question.\n\n**What to do next:**\n\n`/wiki:research \"topic\" --deep`\n\n— 8 agents instead of 5, adds historical and data angles`/wiki:research \"topic\" --min-time 1h`\n\n— keep researching in rounds for an hour`/wiki:research \"topic\" --plan`\n\n— decompose into parallel research paths`/wiki:audit --project nutrition-playbook`\n\n— verify outputs and upstream wiki state together`/wiki add https://example.com/article`\n\n— fuzzy router detects the URL and ingests it`/wiki what do we know about CRISPR?`\n\n— fuzzy router detects the question and queries`/wiki:lint --fix`\n\n— clean up any structural issuesA typical research session flows through four stages:\n\n**Stage 1: Ask a question or pick a topic**\n\nllm-wiki auto-detects whether you're asking a question or naming a topic. Use the direct command or the fuzzy router:\n\n```\n/wiki:research \"What makes long-form articles go viral?\"   # direct command\n/wiki research quantum computing                            # fuzzy router — same result\n/wiki:research --mode thesis \"fiber reduces neuroinflammation via SCFAs\"  # thesis → for/against evidence\n```\n\n**Stage 2: Agents search in parallel**\n\n5 agents (8 with `--deep`\n\n, 10 with `--retardmax`\n\n) search simultaneously from different angles — 2-3 web searches each, full-content fetch, quality scoring (1-5). A credibility pass deduplicates before ingestion.\n\n**Stage 3: Sources are ingested and compiled**\n\nTop sources are saved to `raw/`\n\n(immutable — never modified after ingestion). Then the compilation pass synthesizes them into wiki articles under `wiki/concepts/`\n\n, `wiki/topics/`\n\n, and `wiki/references/`\n\nwith cross-references, confidence scores, and bidirectional links.\n\n**Stage 4: Gap report and follow-up**\n\nAfter each round, you see what's covered, what's still missing, and suggested follow-ups. If 2+ gaps remain, you're offered to close them in parallel:\n\n```\n### Close gaps?\n1. Dose-response curves for wavelength specificity\n2. Long-term safety data for daily exposure\n3. Device comparison (clinical vs consumer panels)\n\nEnter numbers (e.g. 1,2,4), \"all\", or \"skip\":\n```\n\n**Multi-round research:** Add `--min-time 2h`\n\nto keep researching in rounds, each drilling into gaps the previous round found. Add `--plan`\n\nto decompose into parallel paths upfront.\n\n**The hub** (`~/wiki/`\n\n) is just a registry. No content — only `wikis.json`\n\n, `_index.md`\n\n, and `log.md`\n\n. All content lives in topic sub-wikis.\n\n**Topic wikis** (`~/wiki/topics/<name>/`\n\n) are isolated research areas. Each has its own sources, articles, outputs, and Obsidian vault config. Isolation means researching quantum computing can't pollute your nutrition wiki.\n\n**Raw sources** (`raw/`\n\n) are immutable. Once a paper, article, or data file is ingested, it's never modified. This is the audit trail — every claim in every article traces back to a source.\n\n**Wiki articles** (`wiki/`\n\n) are LLM-compiled syntheses organized into three categories:\n\n**Archive** (`topics/.archive/`\n\n) is for whole topic wikis the user no longer wants in normal context. It preserves source history, articles, outputs, and logs while keeping old interests quiet by default.\n\n**Sessions** (`HUB/.sessions/`\n\n) are operational memory for redacted harness checkpoints, compact digests, rehydration indexes, and feedback candidates. They are not compiled as topic evidence unless explicitly promoted into `raw/notes/`\n\n.\n\n**Inventory** (`inventory/`\n\n) is for durable operational state: actual items, source candidates, corpora, entities, open questions, tasks, watch items, and next actions. It is intentionally not evidence for factual claims.\n\n**Dataset manifests** (`datasets/`\n\n) let the wiki index large or external data without copying it into `raw/`\n\n. Manifests can point to local paths, URLs, archives, samples, profiles, and query recipes.\n\nArticles use dual-link format: `[[wikilink]]`\n\nfor Obsidian + standard markdown links for everything else. Confidence scores (high/medium/low) reflect source quality and corroboration.\n\n**Indexes** (`_index.md`\n\n) exist in every directory. They're derived caches — rebuilt automatically from file frontmatter. The agent reads indexes first and never scans blindly.\n\n**Outputs** (`output/`\n\n) are generated artifacts: reports, slide outlines, study guides, implementation plans. They're built from wiki articles, so every output compounds on all prior research.\n\n**Audit** walks that full artifact graph. It can trace an output back through the wiki state and raw sources it depended on, then escalate into fresh research when the stored evidence is stale or incomplete.\n\nSession capture is default-on operational memory. Trusted Codex, Claude, OpenCode, and Gemini hooks write redacted checkpoints into `HUB/.sessions/`\n\nor a local `.wiki/.sessions/`\n\n. The topic wiki stays clean until you promote something.\n\n**What is captured:** harness name, session ID, current directory, git branch/remote, small redacted hook events, per-session state JSON, markdown digests, and feedback candidates. Full transcripts are off by default.\n\n```\nHUB/.sessions/\n├── config.json\n├── registry.jsonl\n├── queue/YYYY-MM-DD.jsonl\n├── state/<harness>/<session_id>.json\n├── digests/YYYY/MM/<harness>-<session_id>.md\n├── feedback/candidates.jsonl\n└── indexes/\n```\n\n**Daily commands:**\n\n```\n/wiki:session status\n/wiki:session rehydrate --cwd \"$PWD\"\n/wiki:session list --limit 10\n/wiki:session show codex:abc123\n/wiki:feedback list --unpromoted\n/wiki:feedback promote fb-abc123 --topic meta-llm-wiki\n```\n\n**Opt out:** `/wiki:session disable`\n\nwrites `enabled: false`\n\nin `.sessions/config.json`\n\n, so trusted hooks become no-ops. `/wiki:session enable`\n\nturns it back on.\n\n**Promotion rule:** session digests and feedback candidates are useful for continuity, but they become topic knowledge only after `/wiki:session promote`\n\nor `/wiki:feedback promote`\n\nwrites a distilled note under `raw/notes/`\n\n.\n\nUse native `ds4-agent`\n\nfor DS4 wiki work, not a bare chat profile. LLM Wiki needs a real tool loop for targeted reads, writes, edits, shell checks, and index-first navigation.\n\n**Profile rule:** keep `ds4c-wiki`\n\nas an opt-in side command. Load the LLM Wiki instruction file into `-sys`\n\n, launch with `--chdir \"$PWD\"`\n\n, and keep your model, checkout, and hub paths in environment variables.\n\n```\nexport DS4_REPO=\"$HOME/src/ds4\"\nexport DS4_MODEL=\"$HOME/models/deepseek-v4-flash-q2.gguf\"\nexport LLM_WIKI_REPO=\"$HOME/agent-workspace/llm-wiki\"\nexport WIKI_INSTRUCTIONS=\"$LLM_WIKI_REPO/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md\"\n\n# Run from the project or fixture you want ds4-agent to edit.\ntarget_cwd=\"$PWD\"\nsystem_prompt=\"$(printf '%s\\n' \\\n  'You are ds4c-wiki, a native ds4-agent profile for LLM Wiki workflows.' \\\n  'Resolve the hub, read indexes first, choose a topic, then use targeted reads/searches.' \\\n  'Do not broad-scan home directories, unrelated source trees, or dependency folders.' \\\n  'Keep .sessions operational until the user explicitly promotes a digest or feedback candidate.'; \\\n  cat \"$WIKI_INSTRUCTIONS\")\"\n\n\"$DS4_REPO/ds4-agent\" \\\n  -m \"$DS4_MODEL\" \\\n  -c \"${DS4_CTX:-100000}\" \\\n  --chdir \"$target_cwd\" \\\n  --nothink \\\n  -sys \"$system_prompt\" \\\n  --non-interactive \\\n  -p 'wiki status: tell me which hub or local .wiki you would use, then stop'\n```\n\n**Public examples rule:** use placeholders like `~/src/ds4`\n\n, `~/models/model.gguf`\n\n, `~/agent-workspace/llm-wiki`\n\n, and `~/wiki`\n\n. Before sharing snippets, redact local usernames, hostnames, LAN or VPN IPs, SSH fingerprints, tokens, raw traces, and full `.sessions/`\n\ncontent.\n\n**First real test:** run a disposable local wiki fixture before pointing DS4 at your real hub.\n\n```\ntmp=\"$(mktemp -d)\"\ncd \"$tmp\"\ngit init\ncat > AGENTS.md <<'EOF'\nUse only this fixture's local .wiki directory. Do not read or write a real user hub.\nEOF\n\nDS4C_WIKI_NON_INTERACTIVE=1 ds4c-wiki \\\n  'Initialize a local .wiki, add one fictional raw note, query it, then stop.'\nfind .wiki -maxdepth 4 -type f | sort\n```\n\n**Pass gate:** the profile should read indexes first, avoid broad scans, keep `.sessions/`\n\noperational until promotion, create only fixture-local files in the test, and answer from local wiki evidence. Full guide: [DS4 wiki profile on learntoprompt.org](https://learntoprompt.org/guides/ds4-wiki-profile.html).\n\nUse iCloud Drive when you want the same hub visible from multiple Macs. The important rule is that the shared config should describe the logical path, not one Mac's absolute user directory.\n\n**Set the hub with a portable path:**\n\n```\n/wiki config hub-path \"~/Library/Mobile Documents/com~apple~CloudDocs/wiki\"\n```\n\nThis writes `~/.config/llm-wiki/config.json`\n\n. New configs should keep `hub_path`\n\nand avoid writing a machine-specific `resolved_path`\n\n. Shared `wikis.json`\n\nentries should store topic paths such as `topics/bitcoin`\n\n, not `/Users/alice/.../topics/bitcoin`\n\n.\n\n**Each Mac needs its own app permission.** iCloud sync can be healthy while macOS still blocks the agent process. Full Disk Access is local to the machine and to the exact launcher app.\n\n`/usr/libexec/sshd-session`\n\n, `/usr/libexec/sshd-keygen-wrapper`\n\n, and optionally `/usr/sbin/sshd`\n\n, then start a new SSH/Codex session.**Fast diagnostic:** run this from the same terminal, SSH session, or app that launches the agent:\n\n``` python\npython3 - <<'PY'\nfrom pathlib import Path\nhub = Path.home() / \"Library/Mobile Documents/com~apple~CloudDocs/wiki\"\nfor path in [hub, hub / \"wikis.json\", hub / \"topics\"]:\n    try:\n        print(\"STAT OK:\", path)\n        path.stat()\n    except Exception as exc:\n        print(\"STAT FAIL:\", type(exc).__name__, exc)\n    try:\n        if path.is_dir():\n            print(\"LIST OK:\", [p.name for p in path.iterdir()][:10])\n        else:\n            print(\"READ OK:\", path.read_text(encoding=\"utf-8\")[:200])\n    except Exception as exc:\n        print(\"READ/LIST FAIL:\", type(exc).__name__, getattr(exc, \"errno\", None), exc)\nPY\n```\n\n**How to read the result:** `STAT OK`\n\nfollowed by `READ/LIST FAIL ... Operation not permitted`\n\nmeans the path is correct and macOS privacy is denying content access. Do not switch to `~/wiki`\n\nor a machine-local `resolved_path`\n\n; grant the launcher permission and restart the session.\n\nFor broad topics, `--plan`\n\ndecomposes your research into independent paths and runs them all in parallel:\n\n```\n/wiki:research \"red light therapy\" --plan --wiki redlight-therapy\n# or naturally:\n/wiki research red light therapy --plan\n```\n\nThe agent generates a research plan and asks for confirmation:\n\n```\n## Research Plan — red light therapy\n\n### Paths (will run in parallel)\n\n1. **Mechanisms** — cytochrome c oxidase, wavelength specificity, dose-response\n2. **Clinical evidence** — RCTs for skin, joints, wounds, cognition\n3. **Devices** — LED vs laser, panel sizing, FDA clearances\n4. **Criticisms** — placebo effects, publication bias, safety concerns\n\n### Estimated: 4 paths x 5 agents = 20 parallel agents\n\nProceed? (y/n/edit)\n```\n\nOn confirmation, all paths launch simultaneously. Each path runs its own 5-agent swarm. Sources are ingested in parallel (each path writes unique files), then a single compilation pass sees all sources at once for cross-path synthesis.\n\n**After the first round,** a gap report shows what's still missing. Pick which gaps to close — they launch as another parallel batch:\n\n```\n### Close gaps?\n1. Dose-response curves for wavelength specificity\n2. Long-term safety data for daily exposure\n3. Device comparison (clinical vs consumer)\n\nEnter numbers (e.g. 1,2,4), \"all\", or \"skip\":\n```\n\n**Combine with other flags:**\n\n`--plan --deep`\n\n— 8 agents per path instead of 5`--plan --min-time 2h`\n\n— multiple plan-dispatch-compile cycles over 2 hours`--plan --new-topic`\n\n— create the wiki and research in one shotOnce your wiki has compiled articles, generate deliverables from them:\n\n```\n/wiki:output report --topic gut-brain --wiki nutrition\n# or naturally:\n/wiki write a report on gut-brain axis\n```\n\n**Output types:**\n\n`summary`\n\n— concise overview of a topic or the entire wiki`report`\n\n— detailed analysis with citations and evidence`study-guide`\n\n— structured learning material with key concepts and review questions`slides`\n\n— slide deck outline with speaker notes`timeline`\n\n— chronological view of events and developments`glossary`\n\n— term definitions extracted from articles`comparison`\n\n— side-by-side analysis of two or more subjectsOutputs are saved to `output/`\n\ninside the topic wiki and indexed automatically. Every output builds on all compiled articles, so the more you research, the stronger every output gets.\n\n**Retardmax mode** works here too — `/wiki:output report --retardmax`\n\nships a rough draft immediately. Iterate later.\n\n**Cross-wiki context:** Use `--with`\n\nto pull knowledge from another wiki into your output:\n\n```\n/wiki:output report --wiki nutrition --with article-writing\n# Uses nutrition content + article-writing craft knowledge\n```\n\n**Projects:** Group related outputs into project folders with goals:\n\n```\n/wiki:project new rebuild-blog \"Rewrite the company blog using wiki research\"\n/wiki:output report --topic gut-brain --project rebuild-blog\n```\n\nThe output lands in `output/projects/rebuild-blog/`\n\nwith a `WHY.md`\n\nthat captures the goal. Future outputs with the same `--project`\n\nflag accumulate there.\n\nResearch sessions fetch many URLs. By default, Claude Code asks for approval on each one. To skip these prompts, add `WebFetch`\n\nand `WebSearch`\n\nto your project's allow list:\n\nIn `.claude/settings.local.json`\n\n:\n\n```\n{\n  \"permissions\": {\n    \"allow\": [\n      \"WebFetch\",\n      \"WebSearch\"\n    ]\n  }\n}\n```\n\nThis pre-approves all web fetches and searches. You can also allow specific domains only: `WebFetch(domain:arxiv.org)`\n\n.\n\nIf you prefer per-session approval, choose \"Always allow\" when Claude asks about the first URL — that covers the rest of the session.\n\nPulled live from [github.com/nvk/llm-wiki/releases](https://github.com/nvk/llm-wiki/releases). Falls back to the version baked into the plugin manifest if the API is unavailable.\n\n**Feedback curator.** Trusted hooks now distill high-signal user corrections, preferences, approvals, and plan acceptance into redacted candidates under `HUB/.sessions/feedback/`\n\n.\n\n**Noise filter.** Generic acknowledgements like `ok`\n\n, `thanks`\n\n, and `cool`\n\nare ignored by default.\n\n**Review then promote.** Use `/wiki:feedback list`\n\n, `show`\n\n, and `promote`\n\n; selected candidates become topic knowledge only through explicit promotion into `raw/notes/`\n\n.\n\nPulled live from `.claude-plugin/marketplace.json`\n\non the master branch via jsDelivr CDN — no rate limits, always current.\n\nLLM-compiled knowledge base. Commands: `/wiki`\n\n(router + init/status), `/wiki:ingest`\n\n, `/wiki:ingest-collection`\n\n, `/wiki:collect`\n\n, `/wiki:inventory`\n\n, `/wiki:dataset`\n\n, `/wiki:archive`\n\n, `/wiki:session`\n\n, `/wiki:feedback`\n\n, `/wiki:compile`\n\n, `/wiki:query`\n\n, `/wiki:research`\n\n, `/wiki:audit`\n\n, `/wiki:librarian`\n\n, `/wiki:ll`\n\n, `/wiki:assess`\n\n, `/wiki:plan`\n\n, `/wiki:lint`\n\n, `/wiki:output`\n\n, `/wiki:retract`\n\n, `/wiki:project`\n\n.\n\nLLM Wiki is a set of commands and a knowledge model that turns any LLM agent into a research engine and an append-only, Markdown-native wiki. It runs parallel multi-agent research, collects provenance-rich catalogs of discoverable artifacts and examples, preserves redacted session memory and feedback candidates under `.sessions/`\n\n, ingests URLs and files, archives old topic wikis that should stay preserved but quiet, tracks durable inventory state, indexes large datasets with manifests, compiles raw sources into synthesized articles with cross-references, audits whether those articles and outputs are still trustworthy, answers questions against the compiled knowledge, and generates artifacts like reports, slides, study guides, and implementation plans.\n\nInspired by [Andrej Karpathy's LLM wiki concept](https://x.com/karpathy/status/2039805659525644595).\n\nFive install modes: Claude Code (native plugin via the `llm-wiki`\n\nmarketplace), OpenAI Codex (marketplace plugin via `codex plugin marketplace add nvk/llm-wiki`\n\n, invoked with `@wiki`\n\n), OpenCode (instruction file via `opencode.json`\n\n), Pi (instruction file — best for local models with its minimal system prompt), and any other LLM agent via the portable `AGENTS.md`\n\nfile.\n\nThe behavioral logic lives in a single `wiki-manager`\n\nskill shared across runtimes — Codex, OpenCode, and Pi trees symlink into the Claude source of truth so there is no fork. Drift is caught by self-healing sync tests.\n\nBy default in `~/wiki/`\n\non your machine. You can relocate the hub to iCloud Drive, Dropbox, or any custom path:\n\n```\n/wiki config hub-path ~/Library/Mobile\\ Documents/com~apple~CloudDocs/wiki\n```\n\nConfig lives at `~/.config/llm-wiki/config.json`\n\n. Shared hubs should use portable `hub_path`\n\nvalues and relative `wikis.json`\n\ntopic paths; old machine-specific `resolved_path`\n\nvalues are treated only as fallback caches.\n\nmacOS privacy permissions are local to each Mac and to the exact process launching the agent. One machine can read the iCloud hub while another machine with the same Apple ID and same files returns `Operation not permitted`\n\n.\n\nIf `stat`\n\nsucceeds for the hub but reading `wikis.json`\n\nor listing `topics/`\n\nfails, the configured `hub_path`\n\nis correct. Grant Full Disk Access or iCloud Drive access to the launcher app, then fully restart that app and the agent.\n\nFor SSH-launched Codex sessions, Terminal.app permission is not enough because Codex is a child of `sshd-session`\n\n. Grant access to `/usr/libexec/sshd-session`\n\n, `/usr/libexec/sshd-keygen-wrapper`\n\n, and optionally `/usr/sbin/sshd`\n\n, then start a new SSH session.\n\nSession memory lives in `HUB/.sessions/`\n\nor a local `.wiki/.sessions/`\n\n. It is hidden operational state: redacted hook events, state JSON, digest Markdown, feedback candidates, and indexes for rehydration.\n\nIt is default-on so long sessions can survive compaction and future turns can start with the right context. It does not store full transcripts by default. Run `/wiki:session disable`\n\nto opt out, `/wiki:session rehydrate`\n\nto load compact context, and `/wiki:session promote`\n\nonly when a digest should become topic evidence.\n\nYes. Each topic wiki ships with its own `.obsidian/`\n\nvault config and can be opened as an independent vault:\n\n```\nopen ~/wiki/topics/nutrition/\n```\n\nCross-references use a dual-link format:\n\n```\n[[gut-brain-axis|Gut-Brain Axis]] ([Gut-Brain Axis](../concepts/gut-brain-axis.md))\n```\n\nObsidian reads the wikilink for graph view and backlinks; everything else (Claude Code, GitHub, plain text editors) follows the standard markdown link.\n\nA research mode inspired by [Elisha Long's retardmaxxing philosophy](https://www.retardmaxx.com/) — act first, think later. Ten parallel agents, skip planning, cast the widest net, ingest aggressively, compile fast, lint later.\n\nAvailable on `/wiki:research --retardmax`\n\nand `/wiki:output --retardmax`\n\nfor when you want results now and will clean up afterward.\n\n`/wiki:research --mode thesis \"<claim>\"`\n\nstarts from a specific claim and uses it as a filter. Agents are split across **supporting**, **opposing**, **mechanistic**, **meta/review**, and **adjacent** — balanced by design.\n\nSources that don't relate to the claim's variables are skipped, which keeps the wiki tight. Output is a **verdict**: supported, partially supported, contradicted, insufficient evidence, or mixed.\n\nWith `--min-time`\n\n, round two focuses harder on the weaker side of the evidence — counter-weight against confirmation bias.\n\nYes. LLM Wiki is MIT-licensed. Source and releases at [github.com/nvk/llm-wiki](https://github.com/nvk/llm-wiki).\n\nCompiling, querying, linting, and generating artifacts from an existing wiki work offline — everything is plain Markdown on your disk. Research and ingestion need internet since they fetch URLs and search the web.\n\nZero runtime dependencies. LLM Wiki uses only the built-in tools of the host agent (file read/write, web fetch, web search). The plugin itself is Markdown: command definitions, skills, and reference docs.\n\nOptional: [ask-grok-mcp](https://github.com/nvk/ask-grok-mcp) for best-in-class tweet ingestion, [tobi/qmd](https://github.com/tobi/qmd) for local search beyond ~100 articles.\n\n**Claude Code:** `claude plugin update wiki@llm-wiki`\n\nand restart.\n\n**Codex:** `codex plugin marketplace upgrade llm-wiki`\n\n(or re-run the bootstrap helper for a local checkout).\n\n**AGENTS.md:** re-curl from the master branch to replace your file.\n\nSee [Install](#install) for the manual sync fallback when the plugin updater hits stale cache.", "url": "https://wpnews.pro/news/show-hn-10x-better-performance-from-the-coding-harnesses-with-llm-wiki", "canonical_source": "https://llm-wiki.net/", "published_at": "2026-06-18 15:23:30+00:00", "updated_at": "2026-06-18 16:31:59.268511+00:00", "lang": "en", "topics": ["ai-agents", "ai-research", "ai-tools", "developer-tools", "large-language-models"], "entities": ["LLM-wiki", "Claude Code", "OpenAI Codex", "OpenCode", "Obsidian"], "alternates": {"html": "https://wpnews.pro/news/show-hn-10x-better-performance-from-the-coding-harnesses-with-llm-wiki", "markdown": "https://wpnews.pro/news/show-hn-10x-better-performance-from-the-coding-harnesses-with-llm-wiki.md", "text": "https://wpnews.pro/news/show-hn-10x-better-performance-from-the-coding-harnesses-with-llm-wiki.txt", "jsonld": "https://wpnews.pro/news/show-hn-10x-better-performance-from-the-coding-harnesses-with-llm-wiki.jsonld"}}