<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Management on Narasimha Karthik J</title><link>https://jnk234.github.io/tags/knowledge-management/</link><description>Recent content in Knowledge Management on Narasimha Karthik J</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 16 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jnk234.github.io/tags/knowledge-management/index.xml" rel="self" type="application/rss+xml"/><item><title>Zettelkasten Automation</title><link>https://jnk234.github.io/projects/zettelkasten-automation/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><guid isPermaLink="false">https://jnk234.github.io/projects/zettelkasten-automation/#full</guid><description>&lt;p&gt;&lt;a href="https://github.com/JNK234/zettelkasten-auto" target="_blank" rel="noreferrer"&gt;Code on GitHub&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="what-it-is" class="relative group"&gt;What it is &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-it-is" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;A command-line tool for an Obsidian vault. It reads long source notes (decoded papers, articles), pulls out the reusable ideas as atomic notes, links them, and keeps a local semantic index. It can then gather the notes around a source or a note into one bundle to hand to a model or read in one place.&lt;/p&gt;
&lt;p&gt;It never deletes a source. A processed source gets a &lt;code&gt;Status: #processed&lt;/code&gt; marker.&lt;/p&gt;
&lt;h2 id="how-it-works" class="relative group"&gt;How it works &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#how-it-works" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;zettel process&lt;/code&gt; handles each unprocessed source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Skips notes that are already processed or too short.&lt;/li&gt;
&lt;li&gt;Splits long sources by heading, then by paragraph.&lt;/li&gt;
&lt;li&gt;Runs structured extraction per chunk and validates the output.&lt;/li&gt;
&lt;li&gt;Drops candidate concepts that duplicate an existing note, by normalized title or by embedding distance.&lt;/li&gt;
&lt;li&gt;Writes new notes from the vault template with &lt;code&gt;Tags&lt;/code&gt;, &lt;code&gt;See Also&lt;/code&gt; (semantic neighbours) and &lt;code&gt;References&lt;/code&gt; (the source).&lt;/li&gt;
&lt;li&gt;Indexes the notes in ChromaDB.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Each source ends with a named outcome, such as &lt;code&gt;processed&lt;/code&gt;, &lt;code&gt;too_short&lt;/code&gt;, &lt;code&gt;provider_error&lt;/code&gt; or &lt;code&gt;invalid_output&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;zettel bundle&lt;/code&gt; collects the notes from a source or around one note, following tag links to a set depth. A dry run refuses to use a stale index rather than return wrong neighbours.&lt;/p&gt;
&lt;h2 id="details" class="relative group"&gt;Details &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#details" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;LLM providers: OpenAI, Anthropic, Gemini and Ollama. Embeddings: OpenAI or a local sentence-transformer. The index is scoped to the embedding provider and model, so switching models does not mix vectors.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--dry-run&lt;/code&gt; on every command that writes.&lt;/li&gt;
&lt;li&gt;The research-vault skills in 
 
 &lt;a href="https://jnk234.github.io/projects/claude-kit/"&gt;claude-kit&lt;/a&gt; use it for semantic search over zettels.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>