plugins/obsidian-wiki-engine/skills/obsidian-wiki-builder/SKILL.md
Transforms raw source files registered in wiki_sources.json into Karpathy-style LLM wiki nodes inside the wiki-root. Generates concept pages, cluster pages, index, and table of contents. Use when building or rebuilding the wiki from raw content.
npx skillsauth add richfrem/agent-plugins-skills obsidian-wiki-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Requires pyyaml and Python 3.8+. Also requires rlm-factory plugin installed.
pip install -r requirements.txt
Status: Active Author: Richard Fremmerlid Domain: Obsidian Wiki Engine
Transforms raw source documents (registered via wiki_sources.json) into
Karpathy-style wiki nodes inside the designated wiki_root. Each concept
gets its own {concept}.md node with wikilinks, cross-references, and an
RLM summary layer.
{wiki_root}/
wiki/
_index.md ← master concept index
_toc.md ← table of contents
_{cluster}.md ← per-topic cluster page
{concept}.md ← individual wiki node
rlm/
{concept}/
summary.md ← 1-5 sentence distilled summary
bullets.md ← key idea bullets
deep.md ← full multi-pass distillation
meta/
wiki_sources.json ← raw source registry (created by wiki-init)
config.yaml ← wiki settings
agent-memory.json ← stale file tracking
wiki_builder.py runs a 3-step pipeline internally:
ingest.py → concept_extractor.py → wiki node formatting
.md files
with wikilinks, cluster pages, _index.md, and _toc.mdWhen two source files (e.g. arch-docs/auth.md and research/oauth.md) produce
the same concept slug, they are merged into one wiki node that:
source_files frontmattermulti_source: true for identificationThis implements the core Karpathy "compile" metaphor: N raw files → M concept nodes (M ≤ N).
Note about repo-scoped inspection
python ./scripts/wiki_builder.py --wiki-root /path/to/wiki-root
python ./scripts/wiki_builder.py --wiki-root /path/to/wiki-root --source arch-docs
python ./scripts/wiki_builder.py --wiki-root /path/to/wiki-root \
--rlm-cache-dir /path/to/project/.agent/learning/rlm_wiki_cache
python ./scripts/wiki_builder.py --wiki-root /path/to/wiki-root --dry-run
Each concept node uses this structure:
---
concept: {concept_name}
source: {source_label}
source_file: {relative_path}
wiki_root: {wiki_root}
generated_at: {timestamp}
cluster: {cluster_name}
---
# {Concept Name}
{1-sentence RLM summary}
## Key Ideas
- {bullet}
- {bullet}
## Details
{full content, truncated to 800 tokens if needed}
## See Also
- [[{related_concept_1}]]
- [[{related_concept_2}]]
## Raw Source
- `{source_label}` → `{source_file}`
rlm_wiki_raw_sources_manifest.json)Canonical location: .agent/learning/rlm_wiki_raw_sources_manifest.json
(mirrors rlm-factory's .agent/learning/rlm_profiles.json convention).
Managed by raw_manifest.py via the Guided Discovery agent during /wiki-init:
{
"namespace": "my-project",
"wiki_root": "/Users/me/vault/wiki-root",
"sources": {
"daily-notes": {
"path": "/Users/me/vault/notes",
"label": "daily-notes",
"extensions": [".md"],
"excludes": ["_archive", "*.tmp"],
"description": "Daily journal and quick capture notes"
},
"arch-docs": {
"path": "/Users/me/docs/architecture",
"label": "arch-docs",
"extensions": [".md", ".txt"],
"excludes": [],
"description": "Architecture decision records and design docs"
}
},
"global_excludes": ["_archive", "*.tmp", "__pycache__"]
}
/wiki-init completes source registration/wiki-distill to inject fresh RLM summariesagent-memory.json shows diffs)raw_manifest.py — WikiSourceConfig loader (mirrors RLMConfig)ingest.py — raw file parsing and normalizationwiki_builder.py — Karpathy node formatter and linkerdistill_wiki.py — cheap-model distillation wrapperdata-ai
Task management agent. Auto-invoked for task creation, status tracking, and kanban board operations using Markdown files across lane directories. V2 enforces Kanban Sovereignty constraints preventing manual task file edits.
development
Create, audit, repair, and document cross-platform symlinks that work correctly on both Windows and macOS/Linux. Use this skill whenever the user mentions symlinks, symbolic links, junction points, .gitconfig symlinks, broken links after git pull, cross-platform path issues, or needs help with ln -s equivalents on Windows. Also trigger when the user reports that files are missing or wrong after switching between Mac and Windows machines using Git. This skill solves the common problem where symlinks committed on macOS show up as plain text files on Windows (and vice versa) because of Git's core.symlinks setting or missing Developer Mode / elevated permissions. **IMPORTANT FOR WINDOWS USERS:** Developer Mode must be enabled before creating symlinks. Without it, Git will check out symlinks as plain-text files or hardlinks, breaking cross-platform workflows.
development
Interactively prepares a targeted Red Team Review package. It conducts a brief discovery interview to determine the threat model, generates a strict security auditor prompt, compiles a manifest of relevant project files, and bundles them into a single Markdown artifact or ZIP archive ready for an external LLM (like Grok, ChatGPT, or Gemini) or a human reviewer.
tools
Reduces AI agent context bloat across three dimensions: (1) duplicate skill deduplication — clears stale agent directory copies since the IDE already reads from plugins/ directly; (2) instruction file optimization — rewrites CLAUDE.md, GEMINI.md, or .github/copilot-instructions.md to under ~80 lines, keeping only rules that directly change agent behaviour; (3) session token efficiency — guidance on cheap subagent delegation, context compounding across turns, and session hygiene. Trigger with "optimize context", "reduce context bloat", "deduplicate skills", "trim CLAUDE.md", "trim GEMINI.md", "fix my context usage", "why are my skills loading twice", "how do I reduce token usage", or "clean up agent directories".