Install
$ agentstack add skill-aiai-mastermind-aiai-mastermind-tools-and-skills-wiki-llm ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Wiki LLM (Karpathy-style compounding knowledge base)
Overview
Most "LLM + documents" setups are RAG: retrieve chunks at query time, re-derive the answer from scratch every time, accumulate nothing. A wiki LLM is the opposite — the LLM reads each source once and compiles it into a persistent, interlinked set of markdown pages that sit between the human and the raw sources. The cross-references, contradictions, and synthesis are already there; every new source makes the wiki richer.
Core principle: The wiki is a persistent, compounding artifact, not a query-time reconstruction. The LLM writes and maintains every page; the human curates sources, explores, and asks questions. Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase. (Idea: Andrej Karpathy's llm-wiki.)
This skill is domain-agnostic — the same architecture works for a P&C insurance agency, a research thesis, a single novel, a company's internal knowledge, or a hobby deep-dive. Only the page-type vocabulary and the schema's purpose change.
When to use
- The user has a folder of sources and wants organized, cross-linked, cumulative knowledge — not one-shot summaries.
- They mention Obsidian, a "second brain", a "wiki", a knowledge base, or Karpathy's idea.
- They'll keep adding sources over time and want the maintenance burden near zero.
When NOT to use: a single one-off summary; a pure Q&A over docs where nothing is kept (that's RAG); project source code (use CLAUDE.md).
The three-layer architecture (always)
| Layer | Folder (rename to taste) | Owner | Rule | |---|---|---|---| | Raw sources | Raw/ | human curates | immutable — the LLM reads, never edits | | The wiki | Wiki_LLM/ | LLM writes | extraction only — what the sources say + how they relate | | Output | Output/ | LLM writes | synthesis/editorial — anything the LLM argues, recommends, or produces | | Memory | .memory/ | LLM writes | cross-session memory, travels with the repo | | Schema | CLAUDE.md (+ byte-identical AGENTS.md) | co-evolved | the operating manual; read first every session |
The hard boundary is the whole game: the wiki must stay pure extraction so it can be cited as the substrate of any synthesis. The moment a page editorializes ("X should do Y", "the corpus collectively argues…"), it belongs in Output/. Use a > Editorial: marker for synthesis claims and keep it out of the wiki.
Page types (configure per domain)
Default set for a book/document corpus — rename for other domains:
sources/— one page per document (the summary that links everything).authors/— one page per person/author (orentities/for orgs, characters, etc.).concepts/— one page per idea/theme.frameworks/— one page per named model/system.- Plus
index.md(catalog),log.md(append-only chronological),_templates/.
Folder choice rule: person→authors, named model→frameworks, idea→concepts, a specific document→sources.
Instantiation workflow (setting up a NEW wiki)
- Locate the prior convention. If the user has built a wiki LLM before, find and reuse its
CLAUDE.md, templates, and.obsidian/config so the new one is consistent. Otherwise start fromtemplates/in this skill. - Confirm the three layers + names and the domain's page-type vocabulary.
- Write the schema (
CLAUDE.md, mirrored toAGENTS.md): purpose, the hard wiki/output boundary, page-naming (lowercase-hyphenated), frontmatter rules, wikilink discipline, ingest/query/lint operations, the Raw-traceback protocol. Start fromtemplates/CLAUDE.md.template. - Write the templates (
source/author/concept/framework+ anOutput/synthesis). Copy fromtemplates/, adapt sections to the domain. - Set up Obsidian-friendliness (see below) from
templates/obsidian/. - Pre-populate
index.mdwith the full source catalog (you usually know all filenames up front), and seedlog.md. - Ingest (below), then build the synthesis layer (authors/concepts/frameworks) from the source pages.
Obsidian-friendliness (required — "properties, color-coded, graphical")
- Frontmatter on every page (YAML) → shows in Obsidian's Properties panel and drives Dataview. Always:
title, type, cssclasses, tags, created, updated+ type-specific fields. cssclasses: []+ a CSS snippet (.obsidian/snippets/wiki-colors.css) color-codes each page type in note view (accent bar + tinted properties block)..obsidian/graph.jsoncolor groups — one color per page-type folder, so the graph reads at a glance; optional second-axis "notebook" tint by a frontmatter field. Color legend goes inREADME.md.- Wikilink discipline —
[[slug]]for every entity reference, no bare names; link first occurrence per section; aim for bidirectional density. Ghost links (links to not-yet-written pages) are good — they surface gaps in the graph for the next lint. app.json:useMarkdownLinks: false,newLinkFormat: shortest, ignore_templates/.
Ingesting at scale (the parallel pattern)
For a big drop (dozens of PDFs), fan out: one subagent per source, each (a) extracts text (pdftotext -layout; count form-feed \f for page numbers; OCR scanned PDFs), (b) writes ONE source page from the template with page-cited quotes, (c) returns compact structured metadata. Subagents write only their own source page — never the index, log, or shared pages (concurrent writes race). Then build the synthesis layer (authors/concepts/frameworks) in a second wave that reads the source pages (not the PDFs) — cheap, fast, and the compounding principle in action. The orchestrator alone rewrites index.md and log.md.
A typical single ingest touches 8–15 pages. Fewer than 5 → under-linking; more than 25 → over-fragmenting.
Raw-traceback (keep the wiki trustworthy)
The wiki is the working surface; the raw files are the verbatim backstop. Put a source-pdf:/source-file: field in each source page's frontmatter. Quotes are short and page-cited (> "quote" — *[[slug|Title]]*, p.N); the full passage stays in Raw/ and is reachable with pdftotext -f N -l N. Only open a raw file for a longer/exact quote or to verify.
Operations (document these in the schema)
- Ingest — read source → write source page → create/update author/concept/framework pages → update
index.md→ appendlog.md(## [YYYY-MM-DD] ingest | Title). - Query — read
index.mdfirst, follow[[wikilinks]], answer with citations; file substantive answers intoOutput/so explorations compound. - Lint — periodically scan for contradictions, orphans, ghost links, sparse/stale pages; write the report to
Output/.
Common mistakes
| Mistake | Fix | |---|---| | Editorializing in the wiki | Move it to Output/; wiki is extraction only | | Subagents all writing index.md/log.md | Only the orchestrator writes shared files; subagents write their own page | | Bare names instead of [[wikilinks]] | Link every entity; ghost links are fine | | Re-reading PDFs to build concept pages | Build the synthesis layer from the source pages | | Slug collisions (book "Positioning" vs concept "positioning") | Disambiguate one slug (e.g. positioning-the-battle-for-your-mind) | | Fabricated quotes/page numbers | Verbatim only, with page from form-feed counting; else omit | | One giant batch, no log | Log each ingest; the log is the audit trail |
Files in this skill
templates/CLAUDE.md.template— the schema, with{{PLACEHOLDERS}}to fill per project.templates/source.md,author.md,concept.md,framework.md,synthesis.md— domain-agnostic page templates.templates/obsidian/—graph.json,app.json,appearance.json,snippets/wiki-colors.cssready to drop into.obsidian/.
Validated by building a 174-page wiki (45 books → sources + 52 authors + 26 frameworks + 51 concepts) for a P&C insurance agency in one session.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: AiAi-Mastermind
- Source: AiAi-Mastermind/aiai-mastermind-tools-and-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.