By robinslange
Automate a self-improving Zettelkasten workflow in Obsidian: capture insights from Claude sessions, web research, Linear tickets, and git repos into structured notes; consolidate cross-project memory; deepen notes with gap analysis; generate Excalidraw diagrams; triage inbox, assess vault health, and promote mature knowledge.
npx claudepluginhub robinslange/learning-loop --plugin learning-loopFind what the vault doesn't know it doesn't know. Gaps challenges existing claims. Blindspots find missing territory.
Hemingway + Musashi + Lao Tzu. Three masters, one voice.
Pull testable claims from note content. Skip metadata, links, tags — focus on assertions.
Detects when a note challenges an existing vault claim and creates bidirectional links. Any agent creating notes reads this skill to connect challenges to the notes they challenge.
Map existing vault notes against a topic's knowledge landscape. Find what's missing.
After gathering findings, compare them against what the vault already holds. Flag conflicts, redundancy, circular reinforcement, and genuine extensions.
Explicit checkpoints between research phases. Stop early when the signal says stop. Agents don't just flow through -- they decide whether to continue.
Shared rules for when and how to generate Excalidraw diagrams during research tasks. Referenced by discovery-researcher and note-writer agents.
Shared rules for detecting and handling confusable note pairs. Used by vault-scout (automated) and /refresh (interactive).
Compare a claim against research findings. Categorise the relationship honestly.
Classify raw data into atomic insights for the ingest pipeline.
Scans `1-fleeting/` for notes that have been absorbed into permanent knowledge or gone stale, and offers archival.
Before investing research effort, determine if existing knowledge already covers this concept — possibly via a different name, path, or framing.
Format extracted insights for user review before writing to memory/vault.
Quality gate that routes notes to the correct vault folder at write time. Any agent creating or triaging notes reads this skill to determine destination and whether a rewrite is needed.
Write confirmed insights to their destinations: auto-memory and/or vault.
Assess the epistemic weight of a source. Flag quality — don't gatekeep. The human decides weight.
A source URL is a verified artifact or it is a hallucination risk. There is no middle ground.
Use the `Read` tool on `{{VAULT}}/`. Do NOT use Obsidian MCP tools — they are unreliable and frequently fail with JSON parse errors.
Given a retracted or updated belief, traces the justification index for sole-justification dependents and classifies each downstream note by argumentation attack type. Produces an impact map for user review before any rewrites.
Web researcher for /discovery journeys. Searches iteratively until mechanical convergence detection signals saturation.
Vault knowledge scout for /discovery journeys. Searches existing Obsidian notes and episodic memory to surface what the user already knows about a topic.
Socratic lens across knowledge bases. Surfaces tensions, questions absences, and flags thin ice. Never judges: presents what a critical thinker needs to see.
Batch inbox triage agent. Classifies intention status (intentioned/resolved/limbo), clusters by topic, assesses maturity via promote-gate, routes to correct folders, surfaces top-5 limbo notes for close-or-plan decision, detects counter-arguments, and executes promotions autonomously. Sweeps 1-fleeting/ for archival candidates. Merges and deletes are gated.
Extracts atomic insights from any content Claude can read: text, PDFs, images, code, conversations, docs, or any other format.
Fetches and extracts insights from Linear tickets. Pulls assigned tickets or project-scoped tickets, extracts patterns and project state.
Scans a repository and extracts architecture, stack, patterns, and project context as insights.
Captures an external source as a literature note. Fetches content, extracts core ideas in persona voice, finds vault connections and counterpoints, verifies claims, writes to 2-literature/.
Strengthens a single vault note. Assesses maturity, researches gaps scaled to need, rewrites in persona voice, verifies sources, promotes when ready. Splits multi-idea notes.
Batch note quality scorer for the Obsidian vault. Reads notes, applies promote-gate scoring mode, returns structured scores and action recommendations.
Verifies note claims against cited sources. Checks source URLs are reachable, claims are supported, and no references are fabricated. Returns 4-level ordinal confidence per claim (strong/partial/no source/contradicted) with specific issues.
Persona-voiced note writer for the Obsidian vault. Takes topic, research findings, and optional existing note content: produces atomic notes following capture-rules.md in Hemingway/Musashi/Lao Tzu voice.
Proposes upstream refinements when a new vault note touches an existing claim. Returns structured JSON for the driver to apply via Write or counter-argument linking.
Strengthen a single vault note with research. Usage: /learning-loop:deepen "note name" or /learning-loop:deepen (picks shallowest inbox note). Assesses maturity, researches gaps, rewrites in vault voice, promotes when ready.
Generate an Excalidraw diagram for the vault. Usage: /learning-loop:diagram "concept or mechanism" or /learning-loop:diagram (infers from context). Produces .excalidraw.md in vault Excalidraw/ folder.
Explore a topic interactively with web research and vault context. Usage: /learning-loop:discovery "topic" [--style guided|branch|checkpoint] [--tone academic|conversational|persona] [--surf]. --surf skips note creation.
Consolidate auto-memory between sessions. Usage: /learning-loop:dream (no args). Four-phase cycle: Orient, Gather Signal, Consolidate, Prune Index. Seven operators: MERGE, RESOLVE, ABSTRACT, COMPRESS, PRUNE, LINK, DATE NORMALIZE. Rebuilds MEMORY.md.
Set up or repair learning-loop federation: identity creation, token redemption, Tailscale, visibility rules, and the first sync test. Run when /init asked you to defer federation, when sync is broken, or when rotating identity. Safe to re-run.
Challenge vault knowledge through coverage, confidence, and counterpoint analysis. Usage: /learning-loop:gaps "topic" | /learning-loop:gaps (auto-pick) | /learning-loop:gaps --sweep. Scales depth to note maturity. Creates counterpoint notes, offers rewrites.
Vault health dashboard. Usage: /learning-loop:health [--deep] [--auto]. Light mode (default) shows counts + file lists. --deep uses note-scorer for full analysis. --auto fixes safe issues without asking.
Show all learning-loop commands with usage and modifiers. Usage: /learning-loop:help (no args).
Batch triage inbox notes and sweep fleeting for archival. Usage: /learning-loop:inbox (no args). Classifies intention status (intentioned/resolved/limbo), clusters by topic, auto-promotes mature notes, surfaces top-5 limbo notes for close-or-plan decision, sweeps 1-fleeting/ for promoted/stale notes to archive, recommends merge/deepen/delete for the rest (asks before destructive actions).
Pull external context into the second brain. Handles any format Claude can read: PDFs, images, code, conversations, docs, or raw text. Usage: /learning-loop:ingest linear ["project"], /learning-loop:ingest repo [path], /learning-loop:ingest context, /learning-loop:ingest (prompts for source).
First-time setup or upgrade for the learning-loop plugin. Configures vault path, persona voice, CLAUDE.md integration, and verifies the installation. Hands federation off to /learning-loop:federation. Safe to re-run: detects existing state and skips completed steps.
Capture an external source as a literature note. Usage: /learning-loop:literature <URL> or /learning-loop:literature "paper title". Fetches content, extracts core ideas in vault voice, writes to 2-literature/ with vault links.
Quick mid-conversation capture to inbox. Usage: /learning-loop:quick-note (infers from context), /learning-loop:quick-note "insight title", or /learning-loop:quick-note "title" "body". Writes to 0-inbox/ without breaking flow.
Fast verified answer to a question with vault context. Usage: /learning-loop:quick "question" or /learning-loop:quick (infers from context). One-shot: web research + vault awareness + auto-capture if novel.
End-of-session consolidation. Usage: /learning-loop:reflect (no args). Reviews conversation, extracts learnings, routes to auto-memory or vault, cross-links projects, promotes inbox notes. Run after substantial work sessions.
See what you already know about a topic (no web research). Usage: /learning-loop:refresh "topic". Searches vault notes, episodic memory, and literature. Optionally tests discrimination of confusable note pairs. Good before /learning-loop:discovery or when returning to a topic.
Cross-store correction for a retracted or updated belief. Usage: /learning-loop:rewrite "old pattern" "new pattern" [reason]. Searches vault, auto-memory, and episodic history; presents an impact map for triage; executes user-approved changes; records a supersession so future episodic searches get annotated.
Assess note quality and verify claims against cited sources. Usage: /learning-loop:verify "note-name" | inbox | permanent | "topic" (defaults to inbox). Scores quality, checks source integrity, detects duplicates: produces fix plan.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimProject-scoped knowledge base with ingestion, compilation, querying, and batch academic collection via MCP research servers. Browse in Obsidian.
LLM-powered personal wiki — autonomous knowledge base with research-on-miss, ingestion, search, a browsable web UI, and universal data gravity. Saves and retrieves knowledge automatically whenever relevant.
Generate research-backed knowledge systems from natural conversation. 15 kernel primitives, 26 commands, 249 research claims, 3 presets.
Persistent, compounding knowledge base maintained by LLMs in Obsidian — agent-first edition. Four task-oriented agents (Researcher / Advisor / Curator / Scribe) with citations, confidence, supersession, and rolling session cache. Inspired by Karpathy's LLM Wiki pattern.
LLM-maintained knowledge base skill — structured wiki with Obsidian, milestone-based source clustering, proactive write-back, and autonomous lint
Claude + Obsidian knowledge companion. Sets up a persistent, compounding wiki vault. Covers memory management, session notetaking, knowledge organization, and agent context across projects. Based on Andrej Karpathy's LLM Wiki pattern. Optional DragonScale Memory extension adds hierarchical log folds, deterministic page addresses, embedding-based semantic tiling lint, and boundary-first autoresearch topic selection.
A context engineering plugin for Claude Code. It teaches Claude how to work with what you know.
Episodic memory gives Claude recall. Learning-loop gives Claude judgment. It verifies sources before anything lands in your vault. It gates promotion on quality scores. It writes in your voice. It surfaces what you already know before searching the web. The result is a knowledge system that compounds through discipline, not volume.
Claude fabricates sources (~43% of PubMed IDs, ~26% of DOIs). Without mechanical verification, these contaminate your notes and propagate through every session that retrieves them. Learning-loop makes this structurally impossible: eleven lifecycle hooks enforce verification at write time, quality gates block promotion of half-sourced notes, and persona rules keep your vault in your voice.
/plugin marketplace add robinslange/learning-loop
/plugin install learning-loop@learning-loop-marketplace
Restart Claude Code, then run /learning-loop:init to configure your vault path and persona voice. Init installs the ll-watch CLI for running the vault watcher.
episodic-memory (optional, recommended). When installed, learning-loop adds semantic recall over past Claude Code conversations to retrieval, /discovery, /reflect, and /refresh. Without it, vault search and keyword recall keep working; semantic conversation recall is disabled and the plugin logs a one-line notice at session start.
claude plugin install episodic-memory@superpowers-marketplace
Researching a topic you've partially explored.
You run /discovery "caffeine tolerance". The plugin searches your vault first and finds three existing notes on caffeine mechanisms plus a literature note on CYP1A2. It then searches the web, verifies sources against academic APIs, catches a misattributed author on a real PMID, and writes atomic notes in your voice. You see what you already knew, what's new, and where the gaps are.
Catching bad sources before they spread.
After a research session produces 12 new notes, you run /verify. It checks every citation mechanically: does the PMID exist, does the DOI resolve, does the author match, does the abstract actually support the claim. One session caught 18 errors across compound profiles because agents had confidently cited papers that didn't say what they claimed.
Capturing without breaking flow.
Mid-conversation you realize something worth keeping. /quick-note "junction tables beat comma-delimited membership for M:N" drops it in your inbox. No context switch, no manual filing. /reflect at end-of-session routes it to the right place.
Correcting a belief across everything.
You learn that a claim you've been building on is wrong. /rewrite "old pattern" "new pattern" traces every note, auto-memory entry, and episodic record that depends on it, shows you the impact map, and rewrites only what you approve.
| Command | What it does |
|---|---|
/discovery "topic" | Research with web search and vault context |
/quick "question" | Fast verified answer with auto-capture |
/quick-note "insight" | Capture to inbox without breaking flow |
/deepen "note" | Strengthen a note with research, sources, links |
/literature <URL> | Capture an external source as a literature note |
/verify | Check note quality and source integrity |
/gaps "topic" | Surface thin ice, tensions, and blindspots |
/inbox | Batch triage inbox notes, promote mature ones |
/reflect | End-of-session consolidation |
/dream | Auto-memory consolidation between sessions |
/refresh "topic" | See what you already know (no web research) |
/rewrite "old" "new" | Retract a belief across vault, auto-memory, and episodic history |
/health | Vault health dashboard |
/health --librarian | Review librarian observations |
/ingest | Pull from Linear, repos, or any content Claude can read |
/diagram "concept" | Generate Excalidraw diagram |
/init | First-time setup: vault path, persona, binary, optional integrations |
/federation | Set up federation: identity, token redeem, peers, visibility, sync |
/help | Show all commands with usage details |
All commands are prefixed with /learning-loop: (e.g., /learning-loop:discovery "caffeine").
your-vault/
0-inbox/ Rough captures, new ideas
1-fleeting/ Developing notes, partially sourced
2-literature/ External source captures
3-permanent/ Complete, sourced, linked, voiced
4-projects/ Project index notes
5-maps/ Synthesis and discovery maps
_system/ Persona and capture rules
Excalidraw/ Diagrams