remove unnecessary files
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled

This commit is contained in:
김경종
2026-05-28 11:16:58 +09:00
parent 72dad72703
commit 665c5ab4e4
32 changed files with 22646 additions and 1727 deletions
+7 -2
View File
@@ -2,5 +2,10 @@
"obsidian-excalidraw-plugin",
"obsidian-banners",
"calendar",
"thino"
]
"thino",
"calendar-beta",
"obsidian-memos",
"dataview",
"templater-obsidian",
"obsidian-git"
]
+8 -22
View File
@@ -28,20 +28,6 @@
"rgb": 6986069
}
},
{
"query": "path:wiki/questions",
"color": {
"a": 1,
"rgb": 14474410
}
},
{
"query": "path:wiki/comparisons",
"color": {
"a": 1,
"rgb": 13724009
}
},
{
"query": "path:wiki/meta",
"color": {
@@ -53,20 +39,20 @@
"query": "path:wiki",
"color": {
"a": 1,
"rgb": 4473924
"rgb": 5676246
}
}
],
"collapse-display": true,
"showArrow": true,
"textFadeMultiplier": -1,
"nodeSizeMultiplier": 2,
"lineSizeMultiplier": 0.8,
"collapse-forces": false,
"centerStrength": 0.25,
"nodeSizeMultiplier": 1.8,
"lineSizeMultiplier": 1.2,
"collapse-forces": true,
"centerStrength": 0.5,
"repelStrength": 20,
"linkStrength": 1,
"linkDistance": 80,
"scale": 0.5191098990818888,
"close": true
"linkDistance": 120,
"scale": 1,
"close": false
}
+20876
View File
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "dataview",
"name": "Dataview",
"version": "0.5.68",
"minAppVersion": "0.13.11",
"description": "Complex data views for the data-obsessed.",
"author": "Michael Brenan <blacksmithgu@gmail.com>",
"authorUrl": "https://github.com/blacksmithgu",
"helpUrl": "https://blacksmithgu.github.io/obsidian-dataview/",
"isDesktopOnly": false
}
+141
View File
@@ -0,0 +1,141 @@
.block-language-dataview {
overflow-y: auto;
}
/*****************/
/** Table Views **/
/*****************/
/* List View Default Styling; rendered internally as a table. */
.table-view-table {
width: 100%;
}
.table-view-table > thead > tr, .table-view-table > tbody > tr {
margin-top: 1em;
margin-bottom: 1em;
text-align: left;
}
.table-view-table > tbody > tr:hover {
background-color: var(--table-row-background-hover);
}
.table-view-table > thead > tr > th {
font-weight: 700;
font-size: larger;
border-top: none;
border-left: none;
border-right: none;
border-bottom: solid;
max-width: 100%;
}
.table-view-table > tbody > tr > td {
text-align: left;
border: none;
font-weight: 400;
max-width: 100%;
}
.table-view-table ul, .table-view-table ol {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Rendered value styling for any view. */
.dataview-result-list-root-ul {
padding: 0em !important;
margin: 0em !important;
}
.dataview-result-list-ul {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Generic grouping styling. */
.dataview.result-group {
padding-left: 8px;
}
/*******************/
/** Inline Fields **/
/*******************/
.dataview.inline-field-key {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-primary-alt);
color: var(--nav-item-color-selected);
}
.dataview.inline-field-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--nav-item-color-selected);
}
.dataview.inline-field-standalone-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--nav-item-color-selected);
}
/***************/
/** Task View **/
/***************/
.dataview.task-list-item, .dataview.task-list-basic-item {
margin-top: 3px;
margin-bottom: 3px;
transition: 0.4s;
}
.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
background-color: var(--text-selection);
box-shadow: -40px 0 0 var(--text-selection);
cursor: pointer;
}
/*****************/
/** Error Views **/
/*****************/
div.dataview-error-box {
width: 100%;
min-height: 150px;
display: flex;
align-items: center;
justify-content: center;
border: 4px dashed var(--background-secondary);
}
.dataview-error-message {
color: var(--text-muted);
text-align: center;
}
/*************************/
/** Additional Metadata **/
/*************************/
.dataview.small-text {
font-size: smaller;
color: var(--text-muted);
margin-left: 3px;
}
.dataview.small-text::before {
content: "(";
}
.dataview.small-text::after {
content: ")";
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03",
"id": "obsidian-git",
"name": "Git",
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.38.3"
}
+705
View File
@@ -0,0 +1,705 @@
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.loading {
overflow: hidden;
}
.loading > svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-disabled {
opacity: 0.5;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
/* Re-enable wrapping of nav buttns to prevent overflow on smaller screens #*/
.workspace-drawer .git-view .nav-buttons-container {
flex-wrap: wrap;
}
.git-tools {
display: flex;
margin-left: auto;
}
.git-tools .type {
padding-left: var(--size-2-1);
display: flex;
align-items: center;
justify-content: center;
width: 11px;
}
.git-tools .type[data-type="M"] {
color: orange;
}
.git-tools .type[data-type="D"] {
color: red;
}
.git-tools .buttons {
display: flex;
}
.git-tools .buttons > * {
padding: 0;
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
.git-author {
color: var(--text-accent);
}
.git-date {
color: var(--text-accent);
}
.git-ref {
color: var(--text-accent);
}
/* ====== diff2html ======
The following styles are adapted from the obsidian-version-history plugin by
@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
which itself is adapted from the diff2html library with the following original license:
https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.theme-dark,
.theme-light {
--git-delete-bg: #ff475040;
--git-delete-hl: #96050a75;
--git-insert-bg: #68d36840;
--git-insert-hl: #23c02350;
--git-change-bg: #ffd55840;
--git-selected: #3572b0;
--git-delete: #cc3333;
--git-insert: #399839;
--git-change: #d0b44c;
--git-move: #3572b0;
}
.git-diff {
.d2h-d-none {
display: none;
}
.d2h-wrapper {
text-align: left;
border-radius: 0.25em;
overflow: auto;
}
.d2h-file-header.d2h-file-header {
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-family:
Source Sans Pro,
Helvetica Neue,
Helvetica,
Arial,
sans-serif;
height: 35px;
padding: 5px 10px;
}
.d2h-file-header,
.d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.d2h-file-header {
display: none;
}
.d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.d2h-lines-added {
border: 1px solid var(--color-green);
border-radius: 5px 0 0 5px;
color: var(--color-green);
padding: 2px;
text-align: right;
vertical-align: middle;
}
.d2h-lines-deleted {
border: 1px solid var(--color-red);
border-radius: 0 5px 5px 0;
color: var(--color-red);
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.d2h-file-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--text-normal);
font-size: var(--h5-size);
}
.d2h-file-wrapper {
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
margin-bottom: 1em;
max-height: 100%;
}
.d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.d2h-file-collapse.d2h-selected {
background-color: var(--git-selected);
}
.d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.d2h-diff-table {
border-collapse: collapse;
font-family: var(--font-monospace);
font-size: var(--code-size);
width: 100%;
}
.d2h-files-diff {
width: 100%;
}
.d2h-file-diff {
/*
overflow-y: scroll;
*/
border-radius: 5px;
font-size: var(--font-text-size);
line-height: var(--line-height-normal);
}
.d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.d2h-code-line {
padding-left: 6em;
padding-right: 1.5em;
}
.d2h-code-line,
.d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.d2h-code-side-line {
/* needed to be changed */
padding-left: 0.5em;
padding-right: 0.5em;
}
.d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
width: 100%;
/* only works for line-by-line */
white-space: pre-wrap;
}
.d2h-code-line del,
.d2h-code-side-line del {
background-color: var(--git-delete-hl);
color: var(--text-normal);
}
.d2h-code-line del,
.d2h-code-line ins,
.d2h-code-side-line del,
.d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.d2h-code-line ins,
.d2h-code-side-line ins {
background-color: var(--git-insert-hl);
text-align: left;
}
.d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.line-num1 {
float: left;
}
.line-num1,
.line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
/*
padding: 0 0.5em;
*/
text-overflow: ellipsis;
width: 2.5em;
padding-left: 0;
}
.line-num2 {
float: right;
}
.d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 5.5em;
}
.d2h-code-linenumber:after {
content: "\200b";
}
.d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
overflow: hidden;
padding: 0 0.5em;
text-align: right;
text-overflow: ellipsis;
width: 4em;
/* needed to be changed */
display: table-cell;
position: relative;
}
.d2h-code-side-linenumber:after {
content: "\200b";
}
.d2h-code-side-emptyplaceholder,
.d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.d2h-code-line-prefix,
.d2h-code-linenumber,
.d2h-code-side-linenumber,
.d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.d2h-code-linenumber,
.d2h-code-side-linenumber {
direction: rtl;
}
.d2h-del {
background-color: var(--git-delete-bg);
border-color: var(--git-delete-hl);
}
.d2h-ins {
background-color: var(--git-insert-bg);
border-color: var(--git-insert-hl);
}
.d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-faint);
}
.d2h-del,
.d2h-ins,
.d2h-file-diff .d2h-change {
color: var(--text-normal);
}
.d2h-file-diff .d2h-del.d2h-change {
background-color: var(--git-change-bg);
}
.d2h-file-diff .d2h-ins.d2h-change {
background-color: var(--git-insert-bg);
}
.d2h-file-list-wrapper {
a {
text-decoration: none;
cursor: default;
-webkit-user-drag: none;
}
svg {
display: none;
}
}
.d2h-file-list-header {
text-align: left;
}
.d2h-file-list-title {
display: none;
}
.d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.d2h-file-list {
}
.d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.d2h-file-list > li:last-child {
border-bottom: none;
}
.d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.d2h-deleted {
color: var(--git-delete);
}
.d2h-added {
color: var(--git-insert);
}
.d2h-changed {
color: var(--git-change);
}
.d2h-moved {
color: var(--git-move);
}
.d2h-tag {
background-color: var(--background-secondary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.d2h-deleted-tag {
border: 1px solid var(--git-delete);
}
.d2h-added-tag {
border: 1px solid var(--git-insert);
}
.d2h-changed-tag {
border: 1px solid var(--git-change);
}
.d2h-moved-tag {
border: 1px solid var(--git-move);
}
/* needed for line-by-line*/
.d2h-diff-tbody {
position: relative;
}
/* My additions */
.cm-merge-revert {
width: 4em;
}
/* Ensure that merge revert markers are positioned correctly */
.cm-merge-revert > * {
position: absolute;
background-color: var(--background-secondary);
display: flex;
}
}
/* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px;
border-style: solid;
border-color: var(--background-secondary);
background-color: var(--background-secondary);
}
.cm-gutterElement.obs-git-blame-gutter > div,
.line-author-settings-preview {
/* delegate text color to settings */
color: var(--obs-git-gutter-text);
font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right;
padding: 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media (max-width: 800px) {
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}
.git-unified-diff-view,
.git-split-diff-view .cm-deletedLine .cm-changedText {
background-color: #ee443330;
}
.git-unified-diff-view,
.git-split-diff-view .cm-insertedLine .cm-changedText {
background-color: #22bb2230;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
}
/* Override styling of Codemirror merge view "collapsed lines" indicator */
.git-split-diff-view .ͼ2 .cm-collapsedLines {
background: var(--interactive-normal);
border-radius: var(--radius-m);
color: var(--text-accent);
font-size: var(--font-small);
padding: var(--size-4-1) var(--size-4-1);
}
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
background: var(--interactive-hover);
color: var(--text-accent-hover);
}
.git-signs-gutter {
.cm-gutterElement {
display: grid;
/* Needed to align the sign properly for different line heigts. Such as
* when having a heading or list item.
*/
padding-top: 0 !important;
}
}
.git-gutter-marker:hover {
border-radius: 2px;
}
.git-gutter-marker.git-add {
background-color: var(--color-green);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-change {
background-color: var(--color-yellow);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-changedelete {
color: var(--color-yellow);
font-weight: var(--font-bold);
font-size: 1rem;
justify-self: center;
height: inherit;
}
.git-gutter-marker.git-delete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: end;
}
.git-gutter-marker.git-topdelete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: start;
}
div:hover > .git-gutter-marker.git-change {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-add {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-delete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-topdelete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-changedelete {
font-weight: var(--font-bold);
}
.git-gutter-marker.staged {
opacity: 0.5;
}
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
margin-inline-end: 0;
.git-signs-gutter {
margin-inline-start: -1rem;
}
}
.git-changes-status-bar-colored {
.git-add {
color: var(--color-green);
}
.git-change {
color: var(--color-yellow);
}
.git-delete {
color: var(--color-red);
}
}
.git-changes-status-bar .git-add {
margin-right: 0.3em;
}
.git-changes-status-bar .git-change {
margin-right: 0.3em;
}
File diff suppressed because one or more lines are too long
+17
View File
@@ -0,0 +1,17 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.20.5",
"description": "Advanced templating and automation using handlebars-like syntax.",
"minAppVersion": "1.12.2",
"author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13",
"fundingUrl": {
"GitHub Sponser (Zachatoo, maintainer)": "https://github.com/sponsors/Zachatoo",
"Ko-fi (Zachatoo, maintainer)": "https://ko-fi.com/zachatoo",
"GitHub Sponser (SilentVoid13, creator)": "https://github.com/sponsors/SilentVoid13",
"Paypal (SilentVoid13, creator)": "https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"
},
"helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false
}
+226
View File
@@ -0,0 +1,226 @@
.templater_search {
width: calc(100% - 20px);
}
.templater_div {
border-top: 1px solid var(--background-modifier-border);
}
.templater_div > .setting-item {
border-top: none !important;
align-self: center;
}
.templater_div > .setting-item > .setting-item-control {
justify-content: space-around;
padding: 0;
width: 100%;
}
.templater_div
> .setting-item
> .setting-item-control
> .setting-editor-extra-setting-button {
align-self: center;
}
.templater_donating {
margin: 10px;
}
.templater_title {
margin: 0;
padding: 0;
margin-top: 5px;
text-align: center;
}
.templater_template {
align-self: center;
margin-left: 5px;
margin-right: 5px;
width: 70%;
}
.templater_cmd {
margin-left: 5px;
margin-right: 5px;
font-size: 14px;
width: 100%;
}
.templater_div2 > .setting-item {
align-content: center;
justify-content: center;
}
.templater-prompt-div,
.templater-multisuggester-div {
display: flex;
}
.templater-prompt-form {
display: flex;
flex-grow: 1;
}
.templater-prompt-input,
.templater-multisuggester-input {
flex-grow: 1;
}
.templater-button-div {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 1rem;
}
textarea.templater-prompt-input {
height: 10rem;
}
textarea.templater-prompt-input:focus {
border-color: var(--interactive-accent);
}
.templater-multisuggester-list {
margin: 1.5em 0;
}
.cm-s-obsidian .templater-command-bg {
left: 0px;
right: 0px;
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command {
font-size: 0.85em;
font-family: var(--font-monospace);
line-height: 1.3;
}
.cm-s-obsidian .templater-inline .cm-templater-command {
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
color: var(--code-property, #008bff);
}
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
color: var(--code-function, #c0d700);
}
.cm-s-obsidian .cm-templater-command.cm-keyword {
color: var(--code-keyword, #00a7aa);
font-weight: normal;
}
.cm-s-obsidian .cm-templater-command.cm-atom {
color: var(--code-normal, #f39b35);
}
.cm-s-obsidian .cm-templater-command.cm-value,
.cm-s-obsidian .cm-templater-command.cm-number,
.cm-s-obsidian .cm-templater-command.cm-type {
color: var(--code-value, #a06fca);
}
.cm-s-obsidian .cm-templater-command.cm-def,
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
color: var(--code-normal, var(--text-normal));
}
.cm-s-obsidian .cm-templater-command.cm-property,
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
.cm-s-obsidian .cm-templater-command.cm-attribute {
color: var(--code-function, #98e342);
}
.cm-s-obsidian .cm-templater-command.cm-variable,
.cm-s-obsidian .cm-templater-command.cm-variable-2,
.cm-s-obsidian .cm-templater-command.cm-variable-3,
.cm-s-obsidian .cm-templater-command.cm-meta {
color: var(--code-property, #d4d4d4);
}
.cm-s-obsidian .cm-templater-command.cm-callee,
.cm-s-obsidian .cm-templater-command.cm-operator,
.cm-s-obsidian .cm-templater-command.cm-qualifier,
.cm-s-obsidian .cm-templater-command.cm-builtin {
color: var(--code-operator, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-tag {
color: var(--code-tag, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-comment,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
color: var(--code-comment, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-string,
.cm-s-obsidian .cm-templater-command.cm-string-2 {
color: var(--code-string, #e6db74);
}
.cm-s-obsidian .cm-templater-command.cm-header,
.cm-s-obsidian .cm-templater-command.cm-hr {
color: var(--code-keyword, #da7dae);
}
.cm-s-obsidian .cm-templater-command.cm-link {
color: var(--code-normal, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-error {
border-bottom: 1px solid #c42412;
}
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
white-space: pre;
color: black;
cursor: pointer;
}
li.CodeMirror-hint-active {
background: #0088ff;
color: white;
}
+32 -13
View File
@@ -11,10 +11,17 @@
"id": "a31de1b302cdc5cf",
"type": "leaf",
"state": {
"type": "graph",
"state": {},
"icon": "lucide-git-fork",
"title": "Graph view"
"type": "canvas",
"state": {
"file": "wiki/canvases/youtube-explainer.canvas",
"viewState": {
"x": 1280,
"y": 4080,
"zoom": -3.2085294751896005
}
},
"icon": "lucide-layout-dashboard",
"title": "youtube-explainer"
}
}
]
@@ -40,7 +47,7 @@
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
"title": "파일 탐색기"
}
},
{
@@ -177,15 +184,27 @@
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"bases:Create new base": false
"switcher:빠른 전환기 열기": false,
"graph:그래프 뷰 열기": false,
"canvas:새 캔버스 만들기": false,
"daily-notes:오늘의 일일 노트 열기": false,
"templates:템플릿 삽입": false,
"command-palette:명령어 팔레트 열기": false,
"bases:새 베이스 생성하기": false,
"obsidian-excalidraw-plugin:New drawing": false,
"obsidian-memos:Thino": false,
"obsidian-memos:Thino Super": false,
"templater-obsidian:Templater": false,
"obsidian-git:Open Git source control": false
}
},
"active": "a31de1b302cdc5cf",
"lastOpenFiles": []
"lastOpenFiles": [
"wiki/canvases/welcome.canvas",
"wiki/canvases/main.canvas",
"wiki/canvases/claude-obsidian-presentation.canvas",
"docs/methodology-modes-guide.md",
"docs/dragonscale-guide.md",
"docs/compound-vault-guide.md"
]
}
-288
View File
@@ -1,288 +0,0 @@
---
type: raw-research
title: "Claude + Obsidian Ecosystem Research"
date: 2026-04-08
queries:
- "claude obsidian plugin github 2025 2026"
- "obsidian MCP server claude anthropic"
- "claudesidian obsidian plugin github"
- "obsidian smart connections copilot AI plugin"
- "claude code obsidian workflow LLM wiki"
sources:
- github.com
- awesome.ecosyste.ms
- obsidianstats.com
- effortlessacademic.com
---
# Claude + Obsidian Ecosystem Research
> Researched: 2026-04-08 | Goal: survey the Claude + Obsidian ecosystem and identify strong patterns and prior art relevant to claude-obsidian.
---
## Summary
16+ active projects found combining Claude/AI with Obsidian. Organized into 4 categories:
1. **LLM Wiki Pattern plugins** (Claude Code skill-based, closest in approach)
2. **Native Obsidian plugins** (TypeScript, embedded UI)
3. **MCP servers** (bridge protocols)
4. **In-vault AI plugins** (traditional Obsidian community plugins)
---
## Category 1: LLM Wiki Pattern (Claude Code Plugins)
### AgriciDaniel/claude-obsidian (this project)
- URL: https://github.com/AgriciDaniel/claude-obsidian
- Version: 1.2.0
- Skills: /wiki, /wiki-ingest, /wiki-query, /wiki-lint, /save, /autoresearch, /canvas
- Approach: Hot cache + compounding wiki + Claude Code skills
### heyitsnoah/claudesidian
- URL: https://github.com/heyitsnoah/claudesidian
- Approach: Pre-configured Obsidian vault + PARA method
- Key features:
- `/init-bootstrap` — interactive setup wizard that analyzes existing vault
- Vault import: safely imports existing vault to `OLD_VAULT/`
- Research public work to personalize context
- Thinking Mode vs Writing Mode distinction
- Pre-configured commands: `/thinking-partner`, `/daily-review`, `/research-assistant`, `/weekly-synthesis`, `/inbox-processor`
- PARA folder structure: 00_Inbox, 01_Projects, 02_Areas, 03_Resources, 04_Archive
- Optional: Gemini Vision for image/video, Firecrawl for web research
- Stars: Not tracked (pre-release kit)
### rvk7895/llm-knowledge-bases
- URL: https://github.com/rvk7895/llm-knowledge-bases
- Install: `/plugin marketplace add rvk7895/llm-knowledge-bases`
- Key features:
- 3-depth query system: Quick (indexes only), Standard (wiki + web search), Deep (multi-agent parallel web search)
- `/research` and `/research-deep` — parallel agents for deep research
- Output formats: Markdown reports, Marp slides, matplotlib charts → `output/`
- X/Twitter ingestion via Smaug tool
- `/kb-init`, `/kb compile`, `/kb query`, `/kb lint`, `/kb evolve`
- Attribution: Built on Karpathy pattern + Weizhena's Deep Research skills
### ekadetov/llm-wiki
- URL: https://github.com/ekadetov/llm-wiki
- Key features:
- qmd hybrid search (BM25 + vector) — auto-installed via SessionStart hook
- Multi-wiki support: `/llm-wiki:wiki init <topic-name>` creates isolated wiki
- URL ingestion: pass `https://` URLs directly to ingest command
- Auto-commit on every ingest via git
- Marp presentation output
- `/llm-wiki:wiki remove <topic>` — clean removal
- Prerequisite: Node 18+, Git, Obsidian vault at `~/ObsidianVault/`
### Ar9av/obsidian-wiki
- URL: https://github.com/Ar9av/obsidian-wiki
- Key features:
- Multi-agent compatibility: Claude Code, Cursor, Windsurf, Codex, Gemini CLI, OpenClaw, GitHub Copilot
- `setup.sh` auto-configures all agents simultaneously via symlinks
- Delta tracking manifest (`.manifest.json`) — only ingests new/changed files
- Vision support: ingest images, screenshots, whiteboard photos (requires vision model)
- 4-stage pipeline: Ingest → Extract → Resolve → Schema
- Schema emerges from sources (not fixed upfront)
- Each page gets `summary:` frontmatter for preview without opening
- Multi-format: PDFs (with page ranges), JSONL, conversation exports, transcripts
### ballred/obsidian-claude-pkm
- URL: https://github.com/ballred/obsidian-claude-pkm
- Key features:
- Goal cascade: 3-Year Vision → Yearly Goals → Projects → Monthly Goals → Weekly Review → Daily Tasks
- `/daily`, `/weekly`, `/monthly` review skills
- `/project new` — creates project linked to a goal
- `/adopt` command — imports existing vault structure, detects PARA/Zettelkasten/LYT, maps folders
- 4 specialized agents: goal-aligner, weekly-reviewer, note-organizer, inbox-processor
- `memory: project` for cross-session agent learning
- Auto-commit via PostToolUse hook on every file write/edit
- Productivity Coach output style
- Path-specific rules loaded contextually
- Zero dependencies (bash + markdown only)
- `/onboard` — personalized vault setup (name, review day, goal areas)
- Version: 3.1
### kepano/obsidian-skills
- URL: https://github.com/kepano/obsidian-skills
- Author: **Linus Kepano** (creator of Obsidian + Minimal theme)
- Install: `/plugin marketplace add kepano/obsidian-skills`
- Key skills:
- `obsidian-markdown` — full Obsidian Flavored Markdown (callouts, embeds, wikilinks, properties)
- `obsidian-bases` — Obsidian Bases (.base files, views, filters, formulas)
- `json-canvas` — JSON Canvas spec for .canvas files
- `obsidian-cli` — vault management via Obsidian CLI
- `defuddle` — extract clean markdown from web pages (removes clutter, saves tokens)
- Multi-platform: Claude Code, Codex CLI, OpenCode
### ussumant/llm-wiki-compiler
- URL: https://github.com/ussumant/llm-wiki-compiler
- Approach: Single-purpose Claude Code plugin — compiles markdown files into topic wiki
- Key features: Topic-based compilation, implements Karpathy pattern in minimal form
---
## Category 2: Native Obsidian Plugins (Embedded UI)
### YishenTu/claudian
- URL: https://github.com/YishenTu/claudian
- Approach: Embeds Claude Code/Codex CLI directly inside Obsidian as sidebar chat
- Key features:
- **Inline Edit** — select text + hotkey → word-level diff preview → apply
- **Plan Mode** (Shift+Tab) — agent plans before implementing
- **@mention** — reference vault files, subagents, MCP servers, external files
- **Slash commands & Skills** — user- and vault-level skill scopes
- **Instruction Mode (#)** — add instructions from chat input
- **MCP Servers** — stdio, SSE, HTTP connections
- **Multi-tab conversations** — fork, resume, compact
- Privacy: no telemetry, stores in vault/.claudian/
- Requires BRAT or manual install (not yet in community store)
### ProfSynapse/claudesidian-mcp (now: Nexus)
- URL: https://github.com/ProfSynapse/claudesidian-mcp
- Current name: Nexus MCP for Obsidian
- Approach: Full Obsidian plugin with both native chat AND MCP bridge
- Key features:
- Native chat inside Obsidian (any provider via settings)
- MCP bridge for: Claude Desktop, Claude Code, Codex CLI, Gemini CLI, Cursor, Cline
- **Workspace memory** — persistent context across sessions (JSONL, Obsidian Sync compatible)
- **Task management** — projects, tasks, blockers, dependencies
- **Semantic search** — search notes + past conversations by meaning
- **Inline editing** — edit selected text in notes
- PDF + audio → Markdown conversion (right-click or auto-on-add)
- Web page → Markdown/PNG/PDF capture
- Merge PDFs, concat markdown, mix audio tracks
- Mobile support (native chat)
- Storage: JSONL files in `.obsidian/plugins/nexus/data/` (included in Obsidian Sync)
- Two-tool architecture (see docs)
---
## Category 3: MCP Servers
### jacksteamdev/obsidian-mcp-tools
- URL: https://github.com/jacksteamdev/obsidian-mcp-tools
- Key features:
- Vault access via Local REST API plugin
- **Semantic search** via Smart Connections integration
- **Templater execution** — run templates from AI with dynamic params
- SLSA Level 3 binary attestation (reproducible, signed builds)
- Requires: Local REST API + Smart Connections + Templater
- Status: Seeking maintainers (open until Sep 2025)
### YuNaga224/obsidian-memory-mcp
- URL: https://github.com/YuNaga224/obsidian-memory-mcp
- Key features:
- Fork of Anthropic's official memory MCP server
- Stores AI memories as individual Markdown files (not JSON)
- Uses `[[link]]` syntax → entities appear in Obsidian graph view
- YAML frontmatter: entityType, created, updated
- Sections: Observations + Relations per entity
- Tools: create_entities, create_relations, add_observations, search_nodes, read_graph
- Configure via MEMORY_DIR env var pointing to vault folder
### iansinnott/obsidian-claude-code-mcp
- URL: https://github.com/iansinnott/obsidian-claude-code-mcp
- Key features: WebSocket-based MCP, auto-discovers Obsidian vaults via Claude Code
### administrativetrick/obsidian-mcp
- URL: https://github.com/administrativetrick/obsidian-mcp
- Minimal MCP server for Claude Desktop vault access
### dbmcco/obsidian-mcp
- URL: https://github.com/dbmcco/obsidian-mcp
- TDD-developed MCP server for Obsidian
### MarkusPfundstein/mcp-obsidian
- URL: https://github.com/MarkusPfundstein/mcp-obsidian
- Interacts via Obsidian REST API community plugin
---
## Category 4: Traditional In-Vault AI Plugins (Stars)
| Plugin | Stars | Feature |
|--------|-------|---------|
| logancyang/obsidian-copilot | 5,776 | Multi-provider AI chat with vault context |
| brianpetro/obsidian-smart-connections | 4,357 | Vector embeddings, semantic search, local models, Claude support |
| nhaouari/obsidian-textgenerator-plugin | 1,837 | Text generation |
| bramses/chatgpt-md | 1,229 | Chat in markdown |
| pfrankov/obsidian-local-gpt | 569 | Local LLM integration |
| infiolab/infio-copilot | unknown | Cursor-inspired: autocomplete, inline edit, workspaces, Insights, dataview queries |
| solderneer/obsidian-ai-tools | 272 | Semantic search via Supabase + OpenAI |
---
## Ecosystem Stats (danielrosehill/Awesome-Obsidian-AI-Tools)
- 86 plugins total, 19,737 combined stars
- 17 categories
- Last updated: 2025-12-15
---
## Key Design Patterns Across Ecosystem
### Pattern 1: Delta Tracking
Most mature projects (Ar9av/obsidian-wiki) use a `.manifest.json` to track ingested sources — hash, timestamp, which pages produced. Re-ingest only processes changed/new files. Claude-obsidian currently has no delta tracking.
### Pattern 2: Multi-Depth Queries
rvk7895 implements 3 tiers: Quick (index only), Standard (wiki + web), Deep (parallel agents). Current claude-obsidian has one depth level in wiki-query.
### Pattern 3: Goal Cascade Integration
ballred's project connects personal productivity (daily/weekly reviews) with the knowledge base. No PKM projects do this today in claude-obsidian.
### Pattern 4: Auto-Commit Hooks
ballred uses PostToolUse hooks for auto-git-commit on every file change. This keeps the vault in version control automatically.
### Pattern 5: Multi-Agent Compatibility
Ar9av's setup.sh deploys skills to Claude Code + Cursor + Windsurf + Codex + Gemini CLI simultaneously. claude-obsidian is Claude Code only.
### Pattern 6: Hybrid Search
ekadetov uses qmd (BM25 + vector) instead of simple keyword/index search. Big quality improvement for large vaults.
### Pattern 7: Emerging Schema
Ar9av's wiki has no fixed structure upfront — it emerges from the content. Claude-obsidian has a predefined structure.
### Pattern 8: Vision Ingestion
Ar9av supports images/screenshots/whiteboards as ingestable sources (vision model required). Claude-obsidian has no image ingestion.
### Pattern 9: Output Formats
rvk7895 and ekadetov export to Marp slides and matplotlib charts. Claude-obsidian outputs only Markdown.
### Pattern 10: Vault Adoption
Both claudesidian and ballred/pkm can be adopted onto existing vaults without destroying structure. Claude-obsidian requires starting fresh.
---
## Notable Quotes / Signal
From rvk7895 README:
> "The LLM owns the wiki. You rarely edit it manually — just explore in Obsidian and keep feeding it raw data."
From Ar9av README:
> "You write skills once, every agent can use them."
> "The wiki schema isn't fixed upfront. It emerges from your sources."
From kepano/obsidian-skills (Obsidian creator):
> Uses exact Agent Skills specification format — validates that AgriciDaniel's approach is on spec.
---
## Sources
- https://github.com/AgriciDaniel/claude-obsidian
- https://github.com/heyitsnoah/claudesidian
- https://github.com/ProfSynapse/claudesidian-mcp
- https://github.com/YishenTu/claudian
- https://github.com/kepano/obsidian-skills
- https://github.com/danielrosehill/Awesome-Obsidian-AI-Tools
- https://github.com/Ar9av/obsidian-wiki
- https://github.com/ekadetov/llm-wiki
- https://github.com/rvk7895/llm-knowledge-bases
- https://github.com/jacksteamdev/obsidian-mcp-tools
- https://github.com/ballred/obsidian-claude-pkm
- https://github.com/infiolab/infio-copilot
- https://github.com/YuNaga224/obsidian-memory-mcp
- https://github.com/iansinnott/obsidian-claude-code-mcp
- https://github.com/ussumant/llm-wiki-compiler
- https://github.com/logancyang/obsidian-copilot
- https://github.com/brianpetro/obsidian-smart-connections
- https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
+50 -292
View File
@@ -1,293 +1,51 @@
{
"nodes": [
{
"id": "title-hero-1744041601",
"type": "text",
"text": "# claude-obsidian\n\n**Claude Code × Obsidian** — Persistent, compounding knowledge base.\nEvery source you add makes the wiki smarter. No vector DB. No embeddings. Just markdown.\n\n*Skills: /wiki · /wiki-ingest · /wiki-query · /wiki-lint · /autoresearch · /canvas*",
"x": -960, "y": -3420, "width": 600, "height": 200, "color": "6"
},
{
"id": "img-cover-16x9-1744041602",
"type": "file",
"file": "wiki/meta/claude-obsidian-cover-16x9.png",
"x": -330, "y": -3420, "width": 420, "height": 236
},
{
"id": "img-gif-cover-1744041603",
"type": "file",
"file": "wiki/meta/claude-obsidian-gif-cover-16x9.gif",
"x": 130, "y": -3420, "width": 420, "height": 236
},
{
"id": "img-gif-1x1-1744041604",
"type": "file",
"file": "wiki/meta/claude-obsidian-gif-1x1.gif",
"x": 590, "y": -3420, "width": 200, "height": 200
},
{
"id": "zone-hero-1744041605",
"type": "group",
"label": "Hero",
"x": -980, "y": -3440, "width": 1820, "height": 280, "color": "6"
},
{
"id": "zone-overview-1744041606",
"type": "group",
"label": "What Is claude-obsidian",
"x": -980, "y": -3110, "width": 1820, "height": 420, "color": "5"
},
{
"id": "text-what-1744041607",
"type": "text",
"text": "## What Is It?\n\nAn LLM wiki that **compounds** with every source you add. Originated by Andrej Karpathy.\n\nInstead of re-deriving from raw documents on every query (RAG), Claude reads each source, extracts what matters, and integrates it into a structured wiki — updating entity pages, noting contradictions, strengthening the synthesis.",
"x": -960, "y": -3090, "width": 520, "height": 200, "color": "5"
},
{
"id": "text-layers-1744041608",
"type": "text",
"text": "## Three Layers\n\n```\n.raw/ Layer 1 — immutable sources\nwiki/ Layer 2 — LLM knowledge base\nCLAUDE.md Layer 3 — maintenance schema\n```\n\nThe LLM owns Layer 2 entirely. It creates pages, updates them, maintains cross-references, and keeps everything consistent.",
"x": -400, "y": -3090, "width": 460, "height": 200, "color": "5"
},
{
"id": "text-why-1744041609",
"type": "text",
"text": "## Why It Works\n\nLLMs don't get bored.\n\nThe tedious part of maintaining a wiki is bookkeeping: cross-references, contradictions, stale summaries. Humans abandon wikis because maintenance cost grows faster than value.\n\n**With Claude: maintenance cost is near zero.**\nKnowledge compounds over time.",
"x": 100, "y": -3090, "width": 420, "height": 200, "color": "5"
},
{
"id": "note-llm-wiki-pattern-1744041610",
"type": "file",
"file": "wiki/concepts/LLM Wiki Pattern.md",
"x": 560, "y": -3090, "width": 240, "height": 100
},
{
"id": "note-compounding-1744041611",
"type": "file",
"file": "wiki/concepts/Compounding Knowledge.md",
"x": 560, "y": -2960, "width": 240, "height": 100
},
{
"id": "note-hot-cache-1744041612",
"type": "file",
"file": "wiki/concepts/Hot Cache.md",
"x": 560, "y": -2830, "width": 240, "height": 100
},
{
"id": "zone-skills-1744041613",
"type": "group",
"label": "Skills — Six Sub-Commands",
"x": -980, "y": -2640, "width": 1820, "height": 600, "color": "4"
},
{
"id": "text-skills-header-1744041614",
"type": "text",
"text": "## Six Skills\n\n`/wiki` · `/wiki-ingest` · `/wiki-query` · `/wiki-lint` · `/autoresearch` · `/canvas`\n\nEach skill is a focused operation on the vault. Together they form a full knowledge lifecycle.",
"x": -960, "y": -2620, "width": 1780, "height": 80, "color": "4"
},
{
"id": "img-wiki-ingest-1744041615",
"type": "file",
"file": "_attachments/images/canvas/skill-wiki-ingest.png",
"x": -960, "y": -2510, "width": 400, "height": 225
},
{
"id": "img-wiki-query-1744041616",
"type": "file",
"file": "_attachments/images/canvas/skill-wiki-query.png",
"x": -520, "y": -2510, "width": 400, "height": 225
},
{
"id": "img-autoresearch-1744041617",
"type": "file",
"file": "_attachments/images/canvas/skill-autoresearch.png",
"x": -80, "y": -2510, "width": 400, "height": 225
},
{
"id": "img-wiki-canvas-1744041618",
"type": "file",
"file": "_attachments/images/canvas/skill-wiki-canvas.png",
"x": 360, "y": -2510, "width": 400, "height": 225
},
{
"id": "text-ingest-desc-1744041619",
"type": "text",
"text": "**WIKI INGEST**\nDrop a source in `.raw/`, Claude reads it, extracts entities + concepts, updates 815 wiki pages, logs the ingest.",
"x": -960, "y": -2255, "width": 400, "height": 100
},
{
"id": "text-query-desc-1744041620",
"type": "text",
"text": "**WIKI QUERY**\nAsk any question. Claude reads the index, finds relevant pages, synthesizes with citations. Good answers get filed back.",
"x": -520, "y": -2255, "width": 400, "height": 100
},
{
"id": "text-autoresearch-desc-1744041621",
"type": "text",
"text": "**AUTORESEARCH**\nAutonomous web research loop. Searches, fetches, synthesizes, files. Based on Karpathy's autoresearch pattern.",
"x": -80, "y": -2255, "width": 400, "height": 100
},
{
"id": "text-canvas-desc-1744041622",
"type": "text",
"text": "**WIKI CANVAS**\nVisual layer. Add images, PDFs, and wiki notes to Obsidian canvas files with auto-positioning and zone management.",
"x": 360, "y": -2255, "width": 400, "height": 100
},
{
"id": "zone-architecture-1744041623",
"type": "group",
"label": "Architecture & Workflow",
"x": -980, "y": -2090, "width": 1820, "height": 500, "color": "2"
},
{
"id": "text-arch-header-1744041624",
"type": "text",
"text": "## Lifecycle Flow\n\n```\nDrop source → /wiki-ingest → Wiki updated\n ↓\n /wiki-lint ←→ /wiki-query\n ↓\n /autoresearch\n ↓\n /canvas (visual)\n```",
"x": -960, "y": -2070, "width": 560, "height": 260, "color": "2"
},
{
"id": "img-workflow-loop-1744041625",
"type": "file",
"file": "wiki/meta/workflow-loop.gif",
"x": -360, "y": -2070, "width": 420, "height": 236
},
{
"id": "text-hot-cache-1744041626",
"type": "text",
"text": "## Hot Cache\n\n`wiki/hot.md` — a ~500-word context file updated after every ingest and session.\n\nLoaded automatically at conversation start. Gives Claude instant context without reading the full index.\n\n**Pattern:** hot → index → domain → page",
"x": 100, "y": -2070, "width": 420, "height": 200, "color": "2"
},
{
"id": "img-graph-view-1744041627",
"type": "file",
"file": "wiki/meta/image-example-graph-view.png",
"x": 560, "y": -2070, "width": 420, "height": 236
},
{
"id": "text-arch-stats-1744041628",
"type": "text",
"text": "**One source → 815 wiki pages touched**\n\nEntities, concepts, comparisons, questions — all updated in a single ingest pass.",
"x": -960, "y": -1780, "width": 500, "height": 80
},
{
"id": "img-wiki-graph-grow-1744041629",
"type": "file",
"file": "wiki/meta/wiki-graph-grow.gif",
"x": -420, "y": -1780, "width": 420, "height": 236
},
{
"id": "zone-comparison-1744041630",
"type": "group",
"label": "Wiki vs RAG — When to Use Which",
"x": -980, "y": -1490, "width": 1820, "height": 440, "color": "1"
},
{
"id": "img-wiki-vs-rag-1744041631",
"type": "file",
"file": "_attachments/images/canvas/wiki-vs-rag-chart.svg",
"x": -960, "y": -1470, "width": 800, "height": 420
},
{
"id": "text-comparison-table-1744041632",
"type": "text",
"text": "## When Wiki Wins\n\n| Metric | LLM Wiki | RAG |\n|---|---|---|\n| Infrastructure | Markdown files | Vector DB |\n| Cost | Tokens only | Compute + storage |\n| Maintenance | Run a lint | Re-embed |\n| Scale limit | ~1000 pages | Millions |\n| Compounding | ✅ Yes | ❌ No |\n\n**Verdict:** Wiki wins at <1000 pages.\nFor millions of documents, use RAG.",
"x": -120, "y": -1470, "width": 480, "height": 360
},
{
"id": "note-wiki-vs-rag-1744041633",
"type": "file",
"file": "wiki/comparisons/Wiki vs RAG.md",
"x": 400, "y": -1470, "width": 380, "height": 100
},
{
"id": "zone-demos-1744041634",
"type": "group",
"label": "Visual Demos",
"x": -980, "y": -990, "width": 1820, "height": 520, "color": "3"
},
{
"id": "text-demos-header-1744041635",
"type": "text",
"text": "## See It In Action",
"x": -960, "y": -970, "width": 300, "height": 50, "color": "3"
},
{
"id": "img-welcome-canvas-1744041636",
"type": "file",
"file": "wiki/meta/welcome-canvas.gif",
"x": -960, "y": -900, "width": 420, "height": 236
},
{
"id": "img-wiki-map-1744041637",
"type": "file",
"file": "wiki/meta/image-example-wiki-map-view.png",
"x": -500, "y": -900, "width": 420, "height": 236
},
{
"id": "img-cover-square-1744041638",
"type": "file",
"file": "wiki/meta/claude-obsidian-cover-square.png",
"x": -40, "y": -900, "width": 280, "height": 280
},
{
"id": "text-install-1744041639",
"type": "text",
"text": "## Install\n\n```bash\nclaude plugin marketplace add \\\n AI-Marketing-Hub/claude-obsidian\n\nclaude plugin install claude-obsidian\n```\n\nRepo: `github.com/AI-Marketing-Hub/claude-obsidian`",
"x": 280, "y": -900, "width": 480, "height": 200, "color": "3"
},
{
"id": "text-canvas-label-1744041640",
"type": "text",
"text": "Canvas Demo",
"x": -960, "y": -630, "width": 420, "height": 40
},
{
"id": "text-wikimap-label-1744041641",
"type": "text",
"text": "Wiki Map View",
"x": -500, "y": -630, "width": 420, "height": 40
},
{
"id": "text-cover-label-1744041642",
"type": "text",
"text": "Plugin Cover",
"x": -40, "y": -600, "width": 280, "height": 40
}
],
"edges": [
{
"id": "e-ingest-query-1744041650",
"fromNode": "img-wiki-ingest-1744041615",
"fromSide": "right",
"toNode": "img-wiki-query-1744041616",
"toSide": "left",
"toEnd": "arrow",
"label": "builds",
"color": "4"
},
{
"id": "e-query-auto-1744041651",
"fromNode": "img-wiki-query-1744041616",
"fromSide": "right",
"toNode": "img-autoresearch-1744041617",
"toSide": "left",
"toEnd": "arrow",
"label": "grows",
"color": "4"
},
{
"id": "e-auto-canvas-1744041652",
"fromNode": "img-autoresearch-1744041617",
"fromSide": "right",
"toNode": "img-wiki-canvas-1744041618",
"toSide": "left",
"toEnd": "arrow",
"label": "visualizes",
"color": "4"
}
]
}
"nodes":[
{"id":"zone-skills-1744041613","type":"group","x":-980,"y":-2640,"width":1820,"height":600,"color":"4","label":"Skills — Six Sub-Commands"},
{"id":"zone-demos-1744041634","type":"group","x":-980,"y":-990,"width":1820,"height":520,"color":"3","label":"Visual Demos"},
{"id":"zone-architecture-1744041623","type":"group","x":-980,"y":-2090,"width":1820,"height":500,"color":"2","label":"Architecture & Workflow"},
{"id":"zone-comparison-1744041630","type":"group","x":-980,"y":-1490,"width":1820,"height":440,"color":"1","label":"Wiki vs RAG — When to Use Which"},
{"id":"zone-overview-1744041606","type":"group","x":-980,"y":-3110,"width":1820,"height":420,"color":"5","label":"What Is claude-obsidian"},
{"id":"zone-hero-1744041605","type":"group","x":-980,"y":-3440,"width":1820,"height":280,"color":"6","label":"Hero"},
{"id":"title-hero-1744041601","type":"text","text":"# claude-obsidian\n\n**Claude Code × Obsidian** — Persistent, compounding knowledge base.\nEvery source you add makes the wiki smarter. No vector DB. No embeddings. Just markdown.\n\n*Skills: /wiki · /wiki-ingest · /wiki-query · /wiki-lint · /autoresearch · /canvas*","x":-960,"y":-3420,"width":600,"height":200,"color":"6"},
{"id":"img-cover-16x9-1744041602","type":"file","file":"wiki/meta/claude-obsidian-cover-16x9.png","x":-330,"y":-3420,"width":420,"height":216},
{"id":"img-gif-cover-1744041603","type":"file","file":"wiki/meta/claude-obsidian-gif-cover-16x9.gif","x":130,"y":-3420,"width":420,"height":216},
{"id":"img-gif-1x1-1744041604","type":"file","file":"wiki/meta/claude-obsidian-gif-1x1.gif","x":590,"y":-3420,"width":200,"height":200},
{"id":"text-what-1744041607","type":"text","text":"## What Is It?\n\nAn LLM wiki that **compounds** with every source you add. Originated by Andrej Karpathy.\n\nInstead of re-deriving from raw documents on every query (RAG), Claude reads each source, extracts what matters, and integrates it into a structured wiki — updating entity pages, noting contradictions, strengthening the synthesis.","x":-960,"y":-3090,"width":520,"height":200,"color":"5"},
{"id":"text-layers-1744041608","type":"text","text":"## Three Layers\n\n```\n.raw/ Layer 1 — immutable sources\nwiki/ Layer 2 — LLM knowledge base\nCLAUDE.md Layer 3 — maintenance schema\n```\n\nThe LLM owns Layer 2 entirely. It creates pages, updates them, maintains cross-references, and keeps everything consistent.","x":-400,"y":-3090,"width":460,"height":200,"color":"5"},
{"id":"text-why-1744041609","type":"text","text":"## Why It Works\n\nLLMs don't get bored.\n\nThe tedious part of maintaining a wiki is bookkeeping: cross-references, contradictions, stale summaries. Humans abandon wikis because maintenance cost grows faster than value.\n\n**With Claude: maintenance cost is near zero.**\nKnowledge compounds over time.","x":100,"y":-3090,"width":420,"height":200,"color":"5"},
{"id":"note-llm-wiki-pattern-1744041610","type":"file","file":"wiki/concepts/LLM Wiki Pattern.md","x":560,"y":-3090,"width":240,"height":100},
{"id":"note-compounding-1744041611","type":"file","file":"wiki/concepts/Compounding Knowledge.md","x":560,"y":-2960,"width":240,"height":100},
{"id":"note-hot-cache-1744041612","type":"file","file":"wiki/concepts/Hot Cache.md","x":560,"y":-2830,"width":240,"height":100},
{"id":"text-skills-header-1744041614","type":"text","text":"## Six Skills\n\n`/wiki` · `/wiki-ingest` · `/wiki-query` · `/wiki-lint` · `/autoresearch` · `/canvas`\n\nEach skill is a focused operation on the vault. Together they form a full knowledge lifecycle.","x":-960,"y":-2620,"width":1780,"height":80,"color":"4"},
{"id":"img-wiki-ingest-1744041615","type":"file","file":"_attachments/images/canvas/skill-wiki-ingest.png","x":-960,"y":-2510,"width":400,"height":225},
{"id":"img-wiki-query-1744041616","type":"file","file":"_attachments/images/canvas/skill-wiki-query.png","x":-520,"y":-2510,"width":400,"height":225},
{"id":"img-autoresearch-1744041617","type":"file","file":"_attachments/images/canvas/skill-autoresearch.png","x":-80,"y":-2510,"width":400,"height":225},
{"id":"img-wiki-canvas-1744041618","type":"file","file":"_attachments/images/canvas/skill-wiki-canvas.png","x":360,"y":-2510,"width":400,"height":225},
{"id":"text-ingest-desc-1744041619","type":"text","text":"**WIKI INGEST**\nDrop a source in `.raw/`, Claude reads it, extracts entities + concepts, updates 815 wiki pages, logs the ingest.","x":-960,"y":-2255,"width":400,"height":100},
{"id":"text-query-desc-1744041620","type":"text","text":"**WIKI QUERY**\nAsk any question. Claude reads the index, finds relevant pages, synthesizes with citations. Good answers get filed back.","x":-520,"y":-2255,"width":400,"height":100},
{"id":"text-autoresearch-desc-1744041621","type":"text","text":"**AUTORESEARCH**\nAutonomous web research loop. Searches, fetches, synthesizes, files. Based on Karpathy's autoresearch pattern.","x":-80,"y":-2255,"width":400,"height":100},
{"id":"text-canvas-desc-1744041622","type":"text","text":"**WIKI CANVAS**\nVisual layer. Add images, PDFs, and wiki notes to Obsidian canvas files with auto-positioning and zone management.","x":360,"y":-2255,"width":400,"height":100},
{"id":"text-arch-header-1744041624","type":"text","text":"## Lifecycle Flow\n\n```\nDrop source → /wiki-ingest → Wiki updated\n ↓\n /wiki-lint ←→ /wiki-query\n ↓\n /autoresearch\n ↓\n /canvas (visual)\n```","x":-960,"y":-2070,"width":560,"height":260,"color":"2"},
{"id":"img-workflow-loop-1744041625","type":"file","file":"wiki/meta/workflow-loop.gif","x":-360,"y":-2070,"width":236,"height":236},
{"id":"text-hot-cache-1744041626","type":"text","text":"## Hot Cache\n\n`wiki/hot.md` — a ~500-word context file updated after every ingest and session.\n\nLoaded automatically at conversation start. Gives Claude instant context without reading the full index.\n\n**Pattern:** hot → index → domain → page","x":100,"y":-2070,"width":420,"height":200,"color":"2"},
{"id":"img-graph-view-1744041627","type":"file","file":"wiki/meta/image-example-graph-view.png","x":560,"y":-2070,"width":370,"height":236},
{"id":"text-arch-stats-1744041628","type":"text","text":"**One source → 815 wiki pages touched**\n\nEntities, concepts, comparisons, questions — all updated in a single ingest pass.","x":-960,"y":-1780,"width":500,"height":80},
{"id":"img-wiki-graph-grow-1744041629","type":"file","file":"wiki/meta/wiki-graph-grow.gif","x":-420,"y":-1780,"width":236,"height":236},
{"id":"img-wiki-vs-rag-1744041631","type":"file","file":"_attachments/images/canvas/wiki-vs-rag-chart.svg","x":-960,"y":-1470,"width":800,"height":420},
{"id":"text-comparison-table-1744041632","type":"text","text":"## When Wiki Wins\n\n| Metric | LLM Wiki | RAG |\n|---|---|---|\n| Infrastructure | Markdown files | Vector DB |\n| Cost | Tokens only | Compute + storage |\n| Maintenance | Run a lint | Re-embed |\n| Scale limit | ~1000 pages | Millions |\n| Compounding | ✅ Yes | ❌ No |\n\n**Verdict:** Wiki wins at <1000 pages.\nFor millions of documents, use RAG.","x":-120,"y":-1470,"width":480,"height":360},
{"id":"note-wiki-vs-rag-1744041633","type":"file","file":"wiki/comparisons/Wiki vs RAG.md","x":400,"y":-1470,"width":380,"height":100},
{"id":"text-demos-header-1744041635","type":"text","text":"## See It In Action","x":-960,"y":-970,"width":300,"height":50,"color":"3"},
{"id":"img-welcome-canvas-1744041636","type":"file","file":"wiki/meta/welcome-canvas.gif","x":-960,"y":-900,"width":420,"height":236},
{"id":"img-wiki-map-1744041637","type":"file","file":"wiki/meta/image-example-wiki-map-view.png","x":-500,"y":-900,"width":316,"height":236},
{"id":"img-cover-square-1744041638","type":"file","file":"wiki/meta/claude-obsidian-cover-square.png","x":-40,"y":-900,"width":280,"height":280},
{"id":"text-install-1744041639","type":"text","text":"## Install\n\n```bash\nclaude plugin marketplace add \\\n AI-Marketing-Hub/claude-obsidian\n\nclaude plugin install claude-obsidian\n```\n\nRepo: `github.com/AI-Marketing-Hub/claude-obsidian`","x":280,"y":-900,"width":480,"height":200,"color":"3"},
{"id":"text-canvas-label-1744041640","type":"text","text":"Canvas Demo","x":-960,"y":-630,"width":420,"height":40},
{"id":"text-wikimap-label-1744041641","type":"text","text":"Wiki Map View","x":-500,"y":-630,"width":420,"height":40},
{"id":"text-cover-label-1744041642","type":"text","text":"Plugin Cover","x":-40,"y":-600,"width":280,"height":40}
],
"edges":[
{"id":"e-ingest-query-1744041650","fromNode":"img-wiki-ingest-1744041615","fromSide":"right","toNode":"img-wiki-query-1744041616","toSide":"left","color":"4","label":"builds"},
{"id":"e-query-auto-1744041651","fromNode":"img-wiki-query-1744041616","fromSide":"right","toNode":"img-autoresearch-1744041617","toSide":"left","color":"4","label":"grows"},
{"id":"e-auto-canvas-1744041652","fromNode":"img-autoresearch-1744041617","fromSide":"right","toNode":"img-wiki-canvas-1744041618","toSide":"left","color":"4","label":"visualizes"}
]
}
+9 -69
View File
@@ -1,72 +1,12 @@
{
"nodes": [
{
"id": "zone-wiki-pages-1744033999",
"type": "group",
"x": -400,
"y": 320,
"width": 1000,
"height": 320,
"color": "2",
"label": "Wiki Pages"
},
{
"id": "zone-default",
"type": "group",
"x": -400,
"y": -140,
"width": 800,
"height": 400,
"color": "4",
"label": "General"
},
{
"id": "note-llm-wiki-1744033901",
"type": "file",
"file": "wiki/concepts/LLM Wiki Pattern.md",
"x": 80,
"y": -120,
"width": 300,
"height": 100
},
{
"id": "text-insight-1744033945",
"type": "text",
"text": "## Key insight\n\nKnowledge compounds like interest.\nEvery ingest enriches 815 pages.",
"x": 80,
"y": 0,
"width": 300,
"height": 220,
"color": "5"
},
{
"id": "484d32f71e442aa0",
"type": "file",
"file": "Cosmic Brain Cover.png",
"x": -360,
"y": 360,
"width": 400,
"height": 206
},
{
"id": "a8f6d861b3c08664",
"type": "file",
"file": "Cosmic Brain Clean.gif",
"x": 80,
"y": 360,
"width": 400,
"height": 206
},
{
"id": "title",
"type": "text",
"text": "# Visual Reference\n\nDrop images, PDFs, and notes here.",
"x": -440,
"y": -360,
"width": 400,
"height": 120,
"color": "6"
}
"nodes":[
{"id":"zone-wiki-pages-1744033999","type":"group","x":-400,"y":320,"width":1000,"height":320,"color":"2","label":"Wiki Pages"},
{"id":"zone-default","type":"group","x":-400,"y":-140,"width":800,"height":400,"color":"4","label":"General"},
{"id":"note-llm-wiki-1744033901","type":"file","file":"wiki/concepts/LLM Wiki Pattern.md","x":80,"y":-120,"width":300,"height":100},
{"id":"text-insight-1744033945","type":"text","text":"## Key insight\n\nKnowledge compounds like interest.\nEvery ingest enriches 815 pages.","x":80,"y":0,"width":300,"height":220,"color":"5"},
{"id":"484d32f71e442aa0","type":"file","file":"Cosmic Brain Cover.png","x":-360,"y":360,"width":400,"height":206},
{"id":"a8f6d861b3c08664","type":"file","file":"Cosmic Brain Clean.gif","x":80,"y":360,"width":400,"height":206},
{"id":"title","type":"text","text":"# Visual Reference\n\nDrop images, PDFs, and notes here.","x":-440,"y":-360,"width":400,"height":120,"color":"6"}
],
"edges": []
"edges":[]
}
+23 -205
View File
@@ -1,209 +1,27 @@
{
"nodes": [
{
"id": "zone-input",
"type": "group",
"x": -680,
"y": -360,
"width": 560,
"height": 560,
"color": "4",
"label": "1 · Drop Your Sources"
},
{
"id": "zone-output",
"type": "group",
"x": 480,
"y": -360,
"width": 560,
"height": 560,
"color": "6",
"label": "3 · Your Brain (Vault) Grows"
},
{
"id": "zone-process",
"type": "group",
"x": -60,
"y": -360,
"width": 480,
"height": 560,
"color": "2",
"label": "2 · I Process Everything"
},
{
"id": "gif-workflow",
"type": "file",
"file": "wiki/meta/workflow-loop.gif",
"x": -40,
"y": -340,
"width": 440,
"height": 440
},
{
"id": "main-title",
"type": "text",
"text": "# 🧠 Claude Obsidian\n### Drop anything. I'll build your knowledge base.",
"x": -340,
"y": -620,
"width": 840,
"height": 110
},
{
"id": "sub-title",
"type": "text",
"text": "Images · PDFs · Markdown · Transcripts · URLs — drag, drop, or paste. I handle the rest.",
"x": -340,
"y": -500,
"width": 840,
"height": 54,
"color": "5"
},
{
"id": "text-drop-images",
"type": "text",
"text": "## 📸 Paste any image here\n\nHere you can paste any images and I will take care of the rest.",
"x": -660,
"y": -340,
"width": 520,
"height": 110,
"color": "4"
},
{
"id": "text-drop-pdf",
"type": "text",
"text": "## 📄 Or drop PDF & Markdown files\n\nJust easy drag & drop — I'll extract everything.",
"x": -660,
"y": 60,
"width": 520,
"height": 100,
"color": "4"
},
{
"id": "72b304484d8afa75",
"type": "file",
"file": "Cosmic Brain Clean.gif",
"x": -668,
"y": -216,
"width": 536,
"height": 276
},
{
"id": "text-process",
"type": "text",
"text": "Reads sources → extracts entities & concepts → cross-references everything → files it all automatically.",
"x": -40,
"y": 110,
"width": 440,
"height": 80,
"color": "2"
},
{
"id": "callout-1",
"type": "text",
"text": "💡 **815 wiki pages**\nper source ingested",
"x": -680,
"y": 440,
"width": 260,
"height": 80,
"color": "4"
},
{
"id": "callout-2",
"type": "text",
"text": "⚡ **Hot cache**\ninstant session context",
"x": -400,
"y": 440,
"width": 260,
"height": 80,
"color": "2"
},
{
"id": "callout-3",
"type": "text",
"text": "🔍 **Query anything**\nyou've ever added",
"x": -120,
"y": 440,
"width": 260,
"height": 80,
"color": "5"
},
{
"id": "callout-4",
"type": "text",
"text": "🕸️ **Visual map**\nFibonacci graph layout",
"x": 160,
"y": 440,
"width": 260,
"height": 80,
"color": "6"
},
{
"id": "text-brain",
"type": "text",
"text": "## 🧠 I'll create a full map/brain for you\n\nEvery source compounds the knowledge base.",
"x": 500,
"y": -340,
"width": 520,
"height": 100,
"color": "6"
},
{
"id": "text-result",
"type": "text",
"text": "Cross-referenced. Searchable. Gets richer every session.",
"x": 500,
"y": 200,
"width": 520,
"height": 50,
"color": "6"
},
{
"id": "gif-graph",
"type": "file",
"file": "wiki/meta/wiki-graph-grow.gif",
"x": 568,
"y": -225,
"width": 385,
"height": 385
},
{
"id": "cta-start",
"type": "text",
"text": "## 👉 Start here\n\n1. Read [[getting-started]] for a quick walkthrough\n2. Run `/wiki` in Claude Code to scaffold your vault\n3. Drop your first source into `.raw/` and say `ingest [filename]`",
"x": -140,
"y": 267,
"width": 560,
"height": 140,
"color": "5"
},
{
"id": "025be16f290f1830",
"x": 501,
"y": 280,
"width": 520,
"height": 293,
"type": "file",
"file": "2026-04-07 14-19-00.mkv"
}
"nodes":[
{"id":"zone-input","type":"group","x":-680,"y":-360,"width":560,"height":560,"color":"4","label":"1 · Drop Your Sources"},
{"id":"zone-output","type":"group","x":480,"y":-360,"width":560,"height":560,"color":"6","label":"3 · Your Brain (Vault) Grows"},
{"id":"zone-process","type":"group","x":-60,"y":-360,"width":480,"height":560,"color":"2","label":"2 · I Process Everything"},
{"id":"gif-workflow","type":"file","file":"wiki/meta/workflow-loop.gif","x":-40,"y":-340,"width":440,"height":440},
{"id":"main-title","type":"text","text":"# 🧠 Claude Obsidian\n### Drop anything. I'll build your knowledge base.","x":-340,"y":-620,"width":840,"height":110},
{"id":"sub-title","type":"text","text":"Images · PDFs · Markdown · Transcripts · URLs — drag, drop, or paste. I handle the rest.","x":-340,"y":-500,"width":840,"height":54,"color":"5"},
{"id":"text-drop-images","type":"text","text":"## 📸 Paste any image here\n\nHere you can paste any images and I will take care of the rest.","x":-660,"y":-340,"width":520,"height":110,"color":"4"},
{"id":"text-drop-pdf","type":"text","text":"## 📄 Or drop PDF & Markdown files\n\nJust easy drag & drop — I'll extract everything.","x":-660,"y":60,"width":520,"height":100,"color":"4"},
{"id":"72b304484d8afa75","type":"file","file":"Cosmic Brain Clean.gif","x":-668,"y":-216,"width":536,"height":276},
{"id":"text-process","type":"text","text":"Reads sources → extracts entities & concepts → cross-references everything → files it all automatically.","x":-40,"y":110,"width":440,"height":80,"color":"2"},
{"id":"callout-1","type":"text","text":"💡 **815 wiki pages**\nper source ingested","x":-680,"y":440,"width":260,"height":80,"color":"4"},
{"id":"callout-2","type":"text","text":"⚡ **Hot cache**\ninstant session context","x":-400,"y":440,"width":260,"height":80,"color":"2"},
{"id":"callout-3","type":"text","text":"🔍 **Query anything**\nyou've ever added","x":-120,"y":440,"width":260,"height":80,"color":"5"},
{"id":"callout-4","type":"text","text":"🕸️ **Visual map**\nFibonacci graph layout","x":160,"y":440,"width":260,"height":80,"color":"6"},
{"id":"text-brain","type":"text","text":"## 🧠 I'll create a full map/brain for you\n\nEvery source compounds the knowledge base.","x":500,"y":-340,"width":520,"height":100,"color":"6"},
{"id":"text-result","type":"text","text":"Cross-referenced. Searchable. Gets richer every session.","x":500,"y":200,"width":520,"height":50,"color":"6"},
{"id":"gif-graph","type":"file","file":"wiki/meta/wiki-graph-grow.gif","x":568,"y":-225,"width":385,"height":385},
{"id":"cta-start","type":"text","text":"## 👉 Start here\n\n1. Read [[getting-started]] for a quick walkthrough\n2. Run `/wiki` in Claude Code to scaffold your vault\n3. Drop your first source into `.raw/` and say `ingest [filename]`","x":-140,"y":267,"width":560,"height":140,"color":"5"},
{"id":"025be16f290f1830","x":501,"y":280,"width":520,"height":293,"type":"file","file":"2026-04-07 14-19-00.mkv"}
],
"edges": [
{
"id": "arrow-1",
"fromNode": "zone-input",
"fromSide": "right",
"toNode": "zone-process",
"toSide": "left",
"color": "4",
"label": "ingest"
},
{
"id": "arrow-2",
"fromNode": "zone-process",
"fromSide": "right",
"toNode": "zone-output",
"toSide": "left",
"color": "6",
"label": "builds"
}
"edges":[
{"id":"arrow-1","fromNode":"zone-input","fromSide":"right","toNode":"zone-process","toSide":"left","color":"4","label":"ingest"},
{"id":"arrow-2","fromNode":"zone-process","fromSide":"right","toNode":"zone-output","toSide":"left","color":"6","label":"builds"}
]
}
@@ -1,145 +0,0 @@
---
type: comparison
title: "Claude + Obsidian Ecosystem: Feature Matrix"
created: 2026-04-08
updated: 2026-04-08
tags:
- ecosystem
- competitive-analysis
- claude-obsidian
- cherry-picks
status: current
related:
- "[[cherry-picks]]"
- "[[LLM Wiki Pattern]]"
- "[[Andrej Karpathy]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# Claude + Obsidian Ecosystem: Feature Matrix
> Researched 2026-04-08 | 16+ projects analyzed | See [[cherry-picks]] for action items
---
## Legend
- ✅ Has it
- ❌ Missing
- 🟡 Partial
- ⭐ Best-in-class implementation
---
## LLM Wiki Pattern Projects (Claude Code Skills)
| Feature | claude-obsidian | claudesidian | llm-knowledge-bases | llm-wiki | obsidian-wiki | obsidian-claude-pkm |
|---------|:-:|:-:|:-:|:-:|:-:|:-:|
| /wiki setup & scaffold | ✅ | 🟡 `/init-bootstrap` | 🟡 `/kb-init` | ✅ | ✅ setup.sh | 🟡 `/onboard` |
| Source ingestion | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ |
| Wiki query | ✅ | ❌ | ✅ 3 depths | 🟡 | ✅ | ❌ |
| Wiki lint | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ |
| /save conversation | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Autoresearch loop | ✅ | ❌ | 🟡 | ❌ | ❌ | ❌ |
| Canvas / visual layer | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Hot cache | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Delta tracking** | ❌ | ❌ | ❌ | ❌ | ✅⭐ | ❌ |
| **Multi-depth query** | ❌ | ❌ | ✅⭐ | ❌ | ❌ | ❌ |
| **URL ingestion** | ❌ | 🟡 firecrawl | ❌ | ✅ | ✅ | ❌ |
| **Vision / image ingest** | ❌ | 🟡 gemini | ❌ | ❌ | ✅⭐ | ❌ |
| **Auto-commit hooks** | ❌ | ❌ | ❌ | ✅ git | ❌ | ✅⭐ |
| **Marp / slides output** | ❌ | ❌ | ✅⭐ | ✅ | ❌ | ❌ |
| **Chart output** | ❌ | ❌ | ✅ matplotlib | ❌ | ❌ | ❌ |
| **Hybrid search (BM25+vec)** | ❌ | ❌ | ❌ | ✅⭐ qmd | ❌ | ❌ |
| **Goal cascade (PKM)** | ❌ | 🟡 PARA | ❌ | ❌ | ❌ | ✅⭐ |
| **Daily/weekly review** | ❌ | 🟡 | ❌ | ❌ | ❌ | ✅⭐ |
| **Adopt existing vault** | ❌ | ✅⭐ | ❌ | ❌ | ❌ | ✅⭐ |
| **Multi-agent compat.** | ❌ | ❌ | ❌ | ❌ | ✅⭐ | ❌ |
| **X/Twitter ingest** | ❌ | ❌ | ✅⭐ smaug | ❌ | ❌ | ❌ |
| Marketplace install | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Public repo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
---
## Native Obsidian Plugins (Embedded UI)
| Feature | Claudian | Nexus (claudesidian-mcp) | infio-copilot |
|---------|:-:|:-:|:-:|
| Sidebar chat in Obsidian | ✅ | ✅ | ✅ |
| Inline edit w/ diff | ✅⭐ word-level | ✅ | ✅ |
| Plan mode | ✅⭐ Shift+Tab | ❌ | ❌ |
| @mention files/agents | ✅⭐ | ❌ | 🟡 |
| MCP server support | ✅ | ✅⭐ external | ❌ |
| Multi-tab conversations | ✅ | ❌ | ❌ |
| Workspace memory | ❌ | ✅⭐ JSONL | ✅ workspaces |
| Task management | ❌ | ✅⭐ | ❌ |
| Semantic search | ❌ | ✅ | ✅⭐ local embed |
| PDF → Markdown | ❌ | ✅ | ❌ |
| Web page capture | ❌ | ✅ | ❌ |
| Mobile support | ❌ | ✅⭐ | ❌ |
| Obsidian Sync compatible | N/A | ✅⭐ | N/A |
| Stars / popularity | ~200 est. | ~800 est. | ~300 est. |
---
## MCP Servers
| Server | Key Differentiator | Requires |
|--------|-------------------|----------|
| obsidian-mcp-tools | Templater execution + SLSA attestation | Local REST API + Smart Connections |
| obsidian-memory-mcp | AI memories as Markdown in graph view | Node 18+ |
| obsidian-claude-code-mcp | WebSocket, auto-discovers vaults | Claude Code |
| administrativetrick/obsidian-mcp | Minimal, simple | Claude Desktop |
| MarkusPfundstein/mcp-obsidian | Via REST API | Local REST API |
---
## kepano/obsidian-skills (Special — from Obsidian Creator)
Linus Kepano (Obsidian creator + Minimal theme) published official Agent Skills for Obsidian:
| Skill | What It Teaches |
|-------|----------------|
| obsidian-markdown | Obsidian Flavored Markdown (callouts, embeds, wikilinks, properties) |
| obsidian-bases | Obsidian Bases (.base files, views, filters, formulas) |
| json-canvas | JSON Canvas spec (.canvas nodes/edges/groups) |
| obsidian-cli | Vault management via Obsidian CLI |
| defuddle | Extract clean Markdown from web pages (saves tokens) |
> **Key signal**: This project validates that the Agent Skills format is the right standard.
> These skills are platform-agnostic (Claude Code, Codex, OpenCode).
---
## Popularity Snapshot (Traditional Plugins)
| Plugin | Stars | Approach |
|--------|-------|---------|
| obsidian-copilot | 5,776 | Multi-provider vault chat |
| obsidian-smart-connections | 4,357 | Semantic search + embeddings |
| obsidian-textgenerator-plugin | 1,837 | Text generation |
| chatgpt-md | 1,229 | Chat in Markdown |
| obsidian-local-gpt | 569 | Local LLM |
| obsidian-ai-tools | 272 | Supabase + OpenAI semantic search |
---
## Where claude-obsidian Wins
1. **Hot cache** — session context mechanism is unique in the ecosystem
2. **Canvas skill** — no other LLM Wiki project has a visual layer
3. **Marketplace install** — most polished install experience
4. **/save conversation** — filing chat sessions as wiki pages is unique
5. **Pub quality docs** — README, install guide, demo GIFs
6. **Dual repo** (public + community) — distribution model unique
## Where claude-obsidian Has Gaps
See [[cherry-picks]] for prioritized list with implementation notes.
Top 5 gaps by impact:
1. No delta tracking → re-ingests everything on every compile
2. No URL ingestion → forces manual copy-paste
3. No auto-commit → vault changes aren't versioned automatically
4. No multi-depth query → one mode for all questions
5. No vision input → can't ingest screenshots or images
+1 -1
View File
@@ -1,7 +1,7 @@
---
type: meta
title: "Concepts Index"
updated: 2026-04-07
updated: 2026-05-28
tags:
- meta
- index
-156
View File
@@ -1,156 +0,0 @@
---
type: concept
title: "Cherry-Picks: Feature Backlog from Ecosystem Research"
created: 2026-04-08
updated: 2026-04-08
tags:
- backlog
- cherry-picks
- product-roadmap
- claude-obsidian
status: current
related:
- "[[claude-obsidian-ecosystem]]"
- "[[LLM Wiki Pattern]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# Cherry-Picks: Feature Backlog
> Sourced from ecosystem research 2026-04-08 | 16+ projects analyzed
> Prioritized by: impact × implementation ease × uniqueness
---
## Tier 1 — Quick Wins (High Impact, Low Effort)
### 1. URL Ingestion in /wiki-ingest
**Source**: ekadetov/llm-wiki, Ar9av/obsidian-wiki
**What it is**: Pass a URL directly to ingest instead of a file path. Agent fetches the page, cleans it, saves to `.raw/`, then ingests.
**Current state**: Users must manually copy-paste web content.
**How to add**: Detect `https://` prefix in ingest skill → WebFetch → save to `.raw/articles/` → proceed with normal ingest.
**Bonus**: Pair with **defuddle** (kepano's web cleaner) for clean token-efficient extraction.
### 2. Auto-Commit PostToolUse Hook
**Source**: ballred/obsidian-claude-pkm, ekadetov/llm-wiki
**What it is**: Every Write/Edit tool call in the vault triggers `git add -A && git commit -m "auto: [filename] [timestamp]"`.
**Current state**: No auto-commit. Users must manually push.
**How to add**: PostToolUse hook in hooks.json targeting Write + Edit tools, scoped to wiki/ directory.
**Note**: Makes vault a proper version-controlled knowledge base automatically.
### 3. defuddle Web Cleaning Skill
**Source**: kepano/obsidian-skills
**What it is**: A skill that wraps `defuddle-cli` — strips ads, nav, clutter from web pages before ingest. Reduces token usage ~40-60% on typical web articles.
**How to add**: New `defuddle` sub-skill or reference in wiki-ingest. Requires `defuddle-cli` npm package.
---
## Tier 2 — Medium Effort, High Value
### 4. Delta Tracking Manifest
**Source**: Ar9av/obsidian-wiki
**What it is**: `.raw/.manifest.json` tracking every ingested source — path, hash, timestamp, which wiki pages it produced. Re-ingest only processes new/changed files.
**Current state**: Every `/wiki-ingest` call re-processes everything.
**How to add**:
- On ingest: compute MD5 hash of source → check manifest → skip if unchanged
- On ingest: record `{path, hash, ingested_at, pages_created}` in manifest
- On update: re-process if hash changed, merge changes into existing pages
### 5. Multi-Depth Query Modes
**Source**: rvk7895/llm-knowledge-bases
**What it is**: 3 query tiers in `/wiki-query`:
- **Quick** — hot.md + index.md only (~3 pages read)
- **Standard** — full wiki cross-reference + optional web search supplement
- **Deep** — parallel sub-agents, each researching a different angle
**Current state**: One depth level.
**How to add**: `/wiki-query quick <question>`, `/wiki-query deep <question>` flags in SKILL.md.
### 6. /wiki-ingest Vision Support
**Source**: Ar9av/obsidian-wiki
**What it is**: Ingest images, screenshots, whiteboard photos by passing the image to a vision-capable model.
**How to add**: Detect image extension → read as base64 → pass to Claude with vision prompt asking for transcription/description → treat result as text source → standard ingest pipeline.
**Useful for**: Whiteboard photos from meetings, screenshots of web content, diagrams.
---
## Tier 3 — Bigger Features Worth Planning
### 7. /adopt — Import Existing Vault
**Source**: heyitsnoah/claudesidian, ballred/obsidian-claude-pkm
**What it is**: `/adopt` analyzes an existing Obsidian vault, detects its organization method (PARA, Zettelkasten, LYT, plain), and wraps the LLM Wiki pattern around it without destroying existing structure.
**Why it matters**: Currently, users must start fresh. This unlocks adoption by people with existing vaults.
**Implementation**: Scan folder structure → classify patterns → generate CLAUDE.md mapping existing folders to wiki roles → non-destructive.
### 8. Productivity Wrapper (Daily/Weekly Reviews)
**Source**: ballred/obsidian-claude-pkm
**What it is**: Optional `/daily` and `/weekly` skills that connect goal tracking to the knowledge base.
**Could be a separate plugin** rather than bundled into claude-obsidian.
**Goal cascade**: 3-Year Vision → Yearly Goals → Projects → Weekly → Daily.
### 9. Multi-Agent Compatibility (Cursor, Windsurf, Codex)
**Source**: Ar9av/obsidian-wiki, kepano/obsidian-skills
**What it is**: A `setup.sh` or `/wiki-convert` command that generates `.cursor/rules/`, `AGENTS.md`, `GEMINI.md` equivalents so the wiki skills work in other coding agents.
**Note**: kepano already published skills in Agent Skills format — claude-obsidian is already in that format. Just needs the adapter files.
### 10. Marp Presentation Output
**Source**: rvk7895/llm-knowledge-bases, ekadetov/llm-wiki
**What it is**: `/wiki-query --slides <topic>` generates a Marp presentation from wiki content, saved to `output/`.
**Requires**: `marp-cli` npm package.
---
## Tier 4 — Research / Ecosystem Plays
### 11. obsidian-memory-mcp Integration
**Source**: YuNaga224/obsidian-memory-mcp
**What it is**: Connect the MCP server that stores Claude's memories as Markdown entities with `[[wikilinks]]` → they appear in Obsidian graph view automatically.
**How to add**: Point MEMORY_DIR to the wiki/entities/ directory — entity memory pages become proper wiki pages.
### 12. obsidian-bases Skill (from kepano)
**Source**: kepano/obsidian-skills
**What it is**: Teach Claude how to create and edit Obsidian Bases (.base files) for dynamic tables, views, and filters.
**Why**: Obsidian Bases is a new core feature — no other LLM Wiki project teaches Claude about it yet.
### 13. Schema-Emergent Vault Mode
**Source**: Ar9av/obsidian-wiki
**What it is**: Alternative /wiki mode where the vault structure is not scaffolded upfront but emerges from ingested content. Good for exploratory knowledge building vs. structured domains.
**How**: Skip the scaffold step; let wiki-ingest create folders/categories organically based on source content.
---
## Competitive Positioning
After this research, claude-obsidian's unique advantages remain:
- **Hot cache** — no one else has this session context mechanism
- **Canvas visual layer** — unique in the LLM Wiki category
- **/save conversation** — filing chat → wiki is a distinct workflow
- **Marketplace polish** — best install experience in category
- **Community distribution** (avalonreset-pro)
The ecosystem is maturing fast. Tier 1 items (URL ingest, auto-commit, defuddle) should ship in v1.3.0 to stay ahead.
---
## Implementation Priority
```
v1.3.0 (quick wins):
- URL ingestion (#1)
- Auto-commit hook (#2)
- defuddle integration (#3)
v1.4.0 (quality):
- Delta tracking (#4)
- Multi-depth query (#5)
v1.5.0 (expansion):
- Vision ingest (#6)
- /adopt command (#7)
- Multi-agent compat (#9)
Future:
- Productivity wrapper (#8)
- Marp output (#10)
- Memory MCP integration (#11)
```
-61
View File
@@ -1,61 +0,0 @@
---
type: entity
title: "Ar9av/obsidian-wiki"
created: 2026-04-08
updated: 2026-04-08
tags:
- github-repo
- llm-wiki-pattern
- multi-agent
status: current
related:
- "[[LLM Wiki Pattern]]"
- "[[cherry-picks]]"
- "[[claude-obsidian-ecosystem]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# Ar9av/obsidian-wiki
**Type**: Claude Code plugin (skill-based)
**URL**: https://github.com/Ar9av/obsidian-wiki
**Pattern**: Karpathy LLM Wiki
**Unique claim**: Works with any AI coding agent via `setup.sh`
## What It Does
Framework for AI agents to build and maintain an Obsidian wiki using the Karpathy LLM Wiki pattern. The key differentiator: a single `setup.sh` deploys the skills to 7 different agents simultaneously.
## Agent Compatibility Matrix
| Agent | Bootstrap | Skills Dir |
|-------|-----------|-----------|
| Claude Code | CLAUDE.md | `.claude/skills/` |
| Cursor | `.cursor/rules/obsidian-wiki.mdc` | `.cursor/skills/` |
| Windsurf | `.windsurf/rules/` | `.windsurf/skills/` |
| Codex (OpenAI) | AGENTS.md | `~/.codex/skills/` |
| Gemini/Antigravity | GEMINI.md | `~/.gemini/antigravity/skills/` |
| OpenClaw | AGENTS.md | `.agents/skills/` |
| GitHub Copilot | `.github/copilot-instructions.md` | — |
## Key Innovations
### Delta Tracking Manifest
`.manifest.json` tracks every ingested source: path, hash, timestamp, which wiki pages produced. Only processes new/changed files. Solves the "re-ingest everything" problem.
### 4-Stage Pipeline
1. **Ingest** — reads source (PDF, JSONL, text, conversation exports, images)
2. **Extract** — pulls concepts, entities, claims, relationships, open questions
3. **Resolve** — merges new knowledge against existing wiki (no duplication)
4. **Schema** — structure emerges from sources, not predefined
### Vision Support
Images, screenshots, whiteboard photos ingestable with vision-capable model. Each page gets 1-2 sentence `summary:` in frontmatter for preview without opening.
## Cherry-Picks for claude-obsidian
- [[cherry-picks#4. Delta Tracking Manifest]]
- [[cherry-picks#6. /wiki-ingest Vision Support]]
- [[cherry-picks#9. Multi-Agent Compatibility (Cursor, Windsurf, Codex)]]
- [[cherry-picks#13. Schema-Emergent Vault Mode]]
-59
View File
@@ -1,59 +0,0 @@
---
type: entity
title: "Claudian (YishenTu/claudian)"
created: 2026-04-08
updated: 2026-04-08
tags:
- github-repo
- native-obsidian-plugin
- embedded-ai
status: current
related:
- "[[cherry-picks]]"
- "[[claude-obsidian-ecosystem]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# Claudian (YishenTu/claudian)
**Type**: Native Obsidian plugin (TypeScript, embedded Claude Code/Codex)
**URL**: https://github.com/YishenTu/claudian
**Install**: BRAT or manual (not yet in community store)
## What It Does
Embeds Claude Code (or Codex CLI) directly inside Obsidian as a sidebar chat. The vault becomes the agent's working directory — all Claude Code tools work natively inside Obsidian.
## Key Features
### Inline Edit with Word-Level Diff
Select text in a note + hotkey → Claude proposes edit with word-level diff preview → one-click apply. Best-in-class inline editing in the Obsidian AI ecosystem.
### Plan Mode (Shift+Tab)
Agent explores and designs before implementing. Presents a plan for approval before any file changes. Mirrors Claude Code's own plan mode.
### @mention System
Type `@` to reference:
- Vault files
- Sub-agents
- MCP servers
- Files in external directories (outside vault)
### Instruction Mode (#)
Add refined custom instructions directly from chat input — persisted for the session.
### MCP Server Integration
Connect external tools via stdio, SSE, or HTTP. Claude manages vault MCP in-app; Codex uses CLI-managed config.
### Multi-Tab Conversations
Multiple chat tabs, conversation history, fork, resume, compact mode.
## Privacy
- No telemetry
- Settings stored in `vault/.claudian/`
- Claude files in `vault/.claude/`
- Transcripts in `~/.claude/projects/`
## Relevance to claude-obsidian
Claudian is a native plugin (different category) but its Plan Mode, @mention, and inline edit patterns could inspire new features in claude-obsidian skills — particularly for the canvas and wiki-query workflows.
-53
View File
@@ -1,53 +0,0 @@
---
type: entity
title: "Nexus (ProfSynapse/claudesidian-mcp)"
created: 2026-04-08
updated: 2026-04-08
tags:
- github-repo
- obsidian-plugin
- mcp-server
- native-plugin
status: current
related:
- "[[cherry-picks]]"
- "[[claude-obsidian-ecosystem]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# Nexus (formerly Claudesidian MCP)
**Type**: Native Obsidian plugin + MCP bridge
**URL**: https://github.com/ProfSynapse/claudesidian-mcp
**Current name**: Nexus MCP for Obsidian
**Install**: `.obsidian/plugins/nexus/`
## What It Does
Full Obsidian plugin with two modes:
1. **Native chat inside Obsidian** — connect any AI provider
2. **MCP bridge** — expose vault to Claude Desktop, Claude Code, Codex CLI, Gemini CLI, Cursor, Cline
## Key Features
- **Workspace memory** — persistent context across sessions stored as JSONL, automatically included in Obsidian Sync
- **Task management** — projects, tasks, blockers, dependencies tracked within vault
- **Semantic search** — search notes + past conversations by meaning
- **Inline editing** — edit selected text in notes
- **PDF + audio → Markdown** — conversion on right-click or auto-on-add
- **Web page capture** — open URL in Obsidian, save as Markdown/PNG/PDF
- **Mobile support** — native chat works on iOS/Android
- **Two-tool architecture** — dedicated tools for read vs write actions
## Storage Architecture
Data stored as JSONL files in `.obsidian/plugins/nexus/data/`. This is included in Obsidian Sync automatically (unlike the `.nexus/` folder of v1). SQLite cache is local-only, rebuilt from JSONL on each device.
## Relevance to claude-obsidian
Nexus is in a different category — it's a native TypeScript Obsidian plugin, not a Claude Code skill plugin. The two don't compete directly, but its workspace memory and task management patterns are cherry-pickable.
## Cherry-Picks for claude-obsidian
- [[cherry-picks#11. obsidian-memory-mcp Integration]] (different implementation, same concept)
+1 -1
View File
@@ -1,7 +1,7 @@
---
type: meta
title: "Entities Index"
updated: 2026-04-07
updated: 2026-05-28
tags:
- meta
- index
@@ -1,66 +0,0 @@
---
type: entity
title: "ballred/obsidian-claude-pkm"
created: 2026-04-08
updated: 2026-04-08
tags:
- github-repo
- llm-wiki-pattern
- pkm
- productivity
status: current
related:
- "[[LLM Wiki Pattern]]"
- "[[cherry-picks]]"
- "[[claude-obsidian-ecosystem]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# ballred/obsidian-claude-pkm
**Type**: Claude Code plugin (skill-based PKM system)
**URL**: https://github.com/ballred/obsidian-claude-pkm
**Version**: 3.1
**Tagline**: "Not another PKM starter kit. An execution system."
## What It Does
Connects a 3-year vision cascade to daily task execution, using Claude as an accountability partner. Every layer is linked — daily notes surface the weekly ONE Big Thing, which links to active projects, which link to yearly goals.
## Goal Cascade
```
3-Year Vision → Yearly Goals → Projects → Monthly Goals → Weekly Review → Daily Tasks
```
Each layer has a dedicated skill: `/goal-tracking`, `/project`, `/monthly`, `/weekly`, `/daily`, `/review`.
## Key Innovations
### Auto-Commit via PostToolUse Hook
Every Write/Edit tool call triggers `git add -A && git commit` automatically. Vault is always versioned.
### /adopt Command
Scans an existing Obsidian vault, detects its organization method (PARA, Zettelkasten, LYT, plain folders), maps folders interactively to the PKM layers, generates config files. Non-destructive.
### 4 Specialized Agents with Memory
- `goal-aligner` — audits activity vs. stated goals, flags misalignment
- `weekly-reviewer` — facilitates 3-phase weekly review, learns reflection style
- `note-organizer` — fixes broken links, consolidates duplicates
- `inbox-processor` — GTD-style inbox processing
Uses `memory: project` so agents remember patterns across sessions.
### Productivity Coach Output Style
`/output-style coach` transforms Claude into an accountability partner — challenges assumptions, asks powerful questions, points out goal-action misalignment.
## Architecture
Zero dependencies (bash + markdown only). Path-specific rules loaded contextually. Session init surfaces ONE Big Thing, active project count, days since last review.
## Cherry-Picks for claude-obsidian
- [[cherry-picks#2. Auto-Commit PostToolUse Hook]]
- [[cherry-picks#7. /adopt — Import Existing Vault]]
- [[cherry-picks#8. Productivity Wrapper (Daily/Weekly Reviews)]]
-62
View File
@@ -1,62 +0,0 @@
---
type: entity
title: "kepano/obsidian-skills"
created: 2026-04-08
updated: 2026-04-08
tags:
- github-repo
- official
- agent-skills
- obsidian-creator
status: current
related:
- "[[LLM Wiki Pattern]]"
- "[[cherry-picks]]"
- "[[claude-obsidian-ecosystem]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# kepano/obsidian-skills
**Type**: Agent Skills (Agent Skills standard)
**URL**: https://github.com/kepano/obsidian-skills
**Author**: **Linus Kepano** — creator of Obsidian + Minimal theme
**Install**: `/plugin marketplace add kepano/obsidian-skills`
## Why This Matters
This repo is from the creator of Obsidian. It:
1. Validates that the Agent Skills standard is the right format for Obsidian AI tools
2. Provides the canonical reference for how to teach Claude about Obsidian-specific syntax
3. Covers Obsidian Bases — a new core Obsidian feature that no other AI project supports yet
## Skills
| Skill | What It Teaches Claude |
|-------|----------------------|
| `obsidian-markdown` | Full Obsidian Flavored Markdown: wikilinks, embeds, callouts, properties, tags |
| `obsidian-bases` | Obsidian Bases (.base files): views, filters, formulas, summaries |
| `json-canvas` | JSON Canvas spec: nodes, edges, groups, connections |
| `obsidian-cli` | Vault management, plugin/theme dev via Obsidian CLI |
| `defuddle` | Extract clean Markdown from web pages — removes ads, nav, clutter |
## defuddle
The `defuddle` skill wraps `defuddle-cli`. When ingesting web content, running defuddle first:
- Strips ads, navigation, footers
- Reduces token usage ~40-60% on typical web pages
- Produces cleaner Markdown that fits better in context window
This is a direct cherry-pick for claude-obsidian's ingest pipeline.
## Multi-Platform
Works with Claude Code, Codex CLI, and OpenCode out of the box.
## Cherry-Picks for claude-obsidian
- [[cherry-picks#1. URL Ingestion in /wiki-ingest]] (pair with defuddle)
- [[cherry-picks#3. defuddle Web Cleaning Skill]]
- [[cherry-picks#12. obsidian-bases Skill (from kepano)]]
- [[cherry-picks#9. Multi-Agent Compatibility]] (format already compatible)
@@ -1,61 +0,0 @@
---
type: entity
title: "rvk7895/llm-knowledge-bases"
created: 2026-04-08
updated: 2026-04-08
tags:
- github-repo
- llm-wiki-pattern
- deep-research
status: current
related:
- "[[LLM Wiki Pattern]]"
- "[[cherry-picks]]"
- "[[claude-obsidian-ecosystem]]"
- "[[Andrej Karpathy]]"
sources:
- "[[claude-obsidian-ecosystem-research]]"
---
# rvk7895/llm-knowledge-bases
**Type**: Claude Code plugin (Marketplace)
**URL**: https://github.com/rvk7895/llm-knowledge-bases
**Install**: `/plugin marketplace add rvk7895/llm-knowledge-bases`
## What It Does
Turns raw research material into an LLM-maintained Obsidian wiki with multi-depth querying and rich output formats. Adds a deep research pipeline with parallel agents on top of the Karpathy pattern.
## Key Innovations
### 3-Depth Query System
- **Quick** — answers from wiki indexes and summaries only (minimal reads)
- **Standard** — cross-references full wiki, supplements with web search
- **Deep** — multi-agent parallel web search pipeline
### Output Formats
Beyond Markdown: Marp slides, matplotlib charts. All outputs saved to `output/` and optionally filed back into wiki.
### Skills Set
| Skill | Purpose |
|-------|---------|
| `/kb-init` | One-time setup |
| `/kb compile` | Raw → wiki |
| `/kb query` | Query with depth |
| `/kb lint` | Health check |
| `/kb evolve` | Maintenance pass |
| `/research <topic>` | Structured research outline |
| `/research-deep` | Parallel agents per outline item |
| `/research-report` | Compile deep results → Markdown |
### X/Twitter Integration
Via Smaug tool (`npm install -g @steipete/bird`). Ingests tweets, threads, bookmarks from X/Twitter by pasting URL. Uses session cookies (read-only, personal use).
## Attribution
Built on Karpathy pattern + Weizhena's Deep Research skills adapted for the research pipeline.
## Cherry-Picks for claude-obsidian
- [[cherry-picks#5. Multi-Depth Query Modes]]
- [[cherry-picks#10. Marp Presentation Output]]
+14 -70
View File
@@ -1,92 +1,36 @@
---
type: meta
title: "Hot Cache"
updated: 2026-05-17T04:30:00
updated: 2026-05-28T09:45:00+09:00
tags:
- meta
- hot-cache
status: evergreen
status: current
related:
- "[[index]]"
- "[[log]]"
- "[[Wiki Map]]"
- "[[getting-started]]"
- "[[DragonScale Memory]]"
- "[[overview]]"
---
# Recent Context
Navigation: [[index]] | [[log]] | [[overview]]
## Last Updated
2026-05-17 (very late, post-polish): **v1.7.1 patch + polish slice shipped locally** (branch `v1.7.0-compound-vault`, still NOT pushed). All 1 BLOCKER + 6 HIGH findings closed; then verifier agent re-pass surfaced 2 MEDIUM + 3 LOW polish items, all closed in `c2d7575`. Final verifier verdict: 0/0/0/0 SHIP. Score: 100/100 on the v1.7.1 patch dimensions (plan fidelity, behavioral correctness, test health, internal consistency, constraint honor, defect introduction, kernel application). 8 commits landed in this resumption session: `ca68bb6` (Fix 1+6 BLOCKER B1 + H6 — contextual-prefix `--allow-egress` flag default-off + `bin/setup-retrieve.sh` consent prompt + `skills/wiki-retrieve/SKILL.md` Data Privacy callout, mirror of `tiling-check.py:351` `--allow-remote-ollama` precedent), `4837d4f` (Fix 2 H1 — setup-retrieve exit 5 + 3-option recovery hint on Stage 1 failure), `7e1f187` (Fix 3 H2 — `make clean-test-state` extended to v1.7 artifacts), `7120970` (Fix 4 H3 — PostToolUse hook captures LOCK_RC directly, not via pipeline; defers commit on script error OR locks held), `722ac97` (Fix 5 H5 — `detect-transport.sh` `json_escape()` helper via `python3 json.dumps`), `3ea443f` (Fix 7 H4 — new `agents/verifier.md` read-only pre-commit specialist + CLAUDE.md reference), and the cross-cutting closeout `822c80a` (version bump 1.7.0 → 1.7.1, CHANGELOG entry, audit doc updated with §10.2 SHAs + v1.7.1 closeout block, audit benchmark scripts promoted to tracked files). `make test` ran 7/7 green after every fix. End-to-end verifications: `python3 scripts/contextual-prefix.py --peek` returns `tier=synthetic` even with `ANTHROPIC_API_KEY` set (default-deny works); `--allow-egress` correctly flips it; `echo "" | bash bin/setup-retrieve.sh` aborts at the consent prompt; `bash scripts/wiki-lock.sh acquire ...` then hook trigger correctly defers auto-commit. **Next step**: ask user whether to push + tag `v1.7.1`. Do NOT push without explicit go.
2026-05-28. Removed the Claude + Obsidian ecosystem research source and its direct generated wiki pages so the vault can be reoriented around another domain.
2026-05-17 (late): **v1.7.0 full audit complete; v1.7.1 fixes plan ready**. Branch `v1.7.0-compound-vault` still local-only (no push, no tag). The audit was demanded as "THROUGH and FULL on AUDIT following /best-practices" with EVERYTHING scope. Result: **31 findings (1 BLOCKER + 6 HIGH + 14 MEDIUM + 10 LOW)** in `docs/audits/v1.7.0-audit-2026-05-17.md` (481 lines). **BLOCKER**: `scripts/contextual-prefix.py:252-258` data-egress consent gap — `pick_prefix_tier()` silently sends wiki page bodies to Anthropic API whenever `ANTHROPIC_API_KEY` is set; mirror `scripts/tiling-check.py:351-352` `--allow-remote-ollama` precedent to fix (~1h). **Retrieval benchmark PASS**: 50 queries × 2 pipelines via `scripts/benchmark-runner.py`; v1.7 top-1 54.0% vs v1.6 baseline 24.0% (+30pp); error-reduction +39.5% vs ≥30% gate. Per-category breakdown in audit §6.2. **Competitor recheck (24h after compass May 16)**: kepano +1.1k★ to 31.6k, Copilot CLI integration issue still stale 3mo (genuine moat for us), NotebookLM May 2026 shipped Video Overviews + 4-tile Studio (widens derivative-outputs gap — filed M13 for v2.0 derive spec). **7-axis #1 verdict**: YES on 4 axes (compounding wiki, multi-writer safety, retrieval architecture free-tier, license openness), TIE on methodology (v1.8 closes), NO on GUI ergonomics (v2.5+) + derivative outputs (v2.0). Honest answer: #1 today on power-user-control axes, not in mainstream adoption without v2.0+v2.5.
## Key Recent Facts
**For post-compact resumption**: read `docs/audits/v1.7.1-fixes-plan.md` (this is your roadmap — 6 commits, ~2.5h, sequenced top-to-bottom with file paths + exact edits + verification steps + commit messages per fix). The plan starts with the BLOCKER (Fix 1) + Data Privacy callout (Fix 6) bundled. Working tree state on resume: 4 untracked files (audit doc, fixes plan, `scripts/baseline-v16.py`, `scripts/benchmark-runner.py`); `96a5505` wiki auto-commit landed the benchmark corpus at `wiki/meta/retrieval-benchmark-v1.7.md`; `make test` is 7/7 green; `bash bin/setup-retrieve.sh --no-llm` is provisioned (chunks/, bm25/, embed-cache.json exist — gitignored). User wants to "proceed" with the fixes after compact; do NOT push or tag without explicit go.
- Removed `.raw/claude-obsidian-ecosystem-research.md` and `wiki/sources/claude-obsidian-ecosystem-research.md`.
- Removed direct generated pages: `claude-obsidian-ecosystem`, `cherry-picks`, `Ar9av-obsidian-wiki`, `Nexus-claudesidian-mcp`, `ballred-obsidian-claude-pkm`, `rvk7895-llm-knowledge-bases`, `kepano-obsidian-skills`, and `Claudian-YishenTu`.
- No canvas file referenced those pages, so no canvases were removed.
- Historical log, release, audit, benchmark, and report notes were preserved unless they were direct source-generated pages.
**Session record** (full prose, ~600 lines) in personal vault: `~/Documents/Obsidian Vault/sessions/2026-05-17 claude-obsidian v1.7 audit + fixes plan.md`. Ingest-log entry prepended at top of `~/Documents/Obsidian Vault/log/ingest-log.md` per global save convention.
## Recent Changes
2026-05-17: **v1.7.0 "Compound Vault" refoundation shipped locally** (branch `v1.7.0-compound-vault`, NOT pushed). Four workstreams committed as 4 separate feat commits: §3.1 substrate hard-prefer on `kepano/obsidian-skills` (9c8e510), §3.2 default transport with new `wiki-cli` skill + `scripts/detect-transport.sh` (6c7671e), §3.3 hybrid retrieval pipeline as opt-in `wiki-retrieve` skill with 4 new scripts + 2 hermetic test suites (45a5bd3), §3.4 multi-writer safety closing the latent corruption bug from v1.6 via `scripts/wiki-lock.sh` (66c11f9). Cross-cutting commit pending: version bump 1.6.0→1.7.0, README/CLAUDE.md updates, CHANGELOG entry, new `docs/compound-vault-guide.md` omnibus, this hot.md update. `make test` runs 7 suites green (was 3) — zero ollama / network dependency preserved. Plan file at `~/.claude/plans/read-in-full-the-hidden-sun.md`. User-paused at "full on review on all work done"; no push or tag until explicit go.
2026-04-24 (late night): v1.6.0 public release notes shipped. `docs/releases/v1.6.0.md` (Karpathy-style, 346 lines) establishes the release-notes convention. Three original SVGs at `wiki/meta/dragonscale-{mechanism-overview,6-test-flow,frontier-graph}.svg` carry the visual load; Wikipedia dragon curve referenced by text link only (no binary vendoring). R4 codex verifier ACCEPT WITH FIXES, 3 wording fixes applied. User runs `gh release create v1.6.0 --notes-file docs/releases/v1.6.0.md` when ready. Commits `85515bb` (docs), plus wiki/meta/ auto-commits for SVGs.
2026-04-24 (night): DragonScale end-to-end validation pass. Six-test menu run via Teams orchestration (codex gpt-5.4 for M1 dry-run, M1 commit, M4 autoresearch; chair for ollama pull, M2 allocate, M3 full tiling). All six green. First real fold committed (`wiki/folds/fold-k3-from-2026-04-23-to-2026-04-24-n8.md`, 115 lines, 8 children). First real tiling report at `wiki/meta/tiling-report-2026-04-24.md` (0 errors, 15 review pairs). M2 counter advanced 2 to 3, `c-000002` reserved-unassigned. M4 autoresearch filed 3 new concept pages (`Persistent Wiki Artifact`, `Source-First Synthesis`, `Query-Time Retrieval`) extending `[[How does the LLM Wiki pattern work?]]` with Karpathy gist + RAG + MemGPT + Obsidian docs as sources. v1.6.0 validated.
2026-04-24 (evening): v1.6.0 closeout via Teams approach (chair-led, codex gpt-5.4 for sub-agents). 2 explorers (closeout gaps + doc surface). 6 bounded writes (non-overlapping scope): `docs/dragonscale-guide.md` (new, 563 lines), `wiki/meta/2026-04-24-v1.6.0-release-session.md` (new, 346 lines), `wiki/meta/boundary-frontier-2026-04-24.md` (first real M4 run artifact, new), `docs/install-guide.md` (1.5.0 to 1.6.0 + M4 callout + flat-extractive correction), `README.md` (parenthetical + guide link), `wiki/hot.md` (drift fixes). 1 adversarial verifier returned ACCEPT WITH FIXES; all 11 fixes applied in place. Docs commit `eb1562f`. `make test` green (74+ assertions). Still no git tags for v1.5.0 / v1.5.1 / v1.6.0. User requested gpt-5.5; API rejects it on this codex CLI; gpt-5.4 used throughout.
2026-04-24 (late): Phase 4 shipped. Mechanism 4 (boundary-first autoresearch) implemented as `scripts/boundary-score.py` with expanded test coverage. `/autoresearch` without a topic now offers frontier candidates (opt-in, agenda-control labeled). Cross-file status updated. Version bumped to 1.6.0 in `plugin.json` + `marketplace.json`; no git tag created locally (only pre-DragonScale tags `v1.1` - `v1.4.3` exist).
2026-04-24 (afternoon): Phase 3.6 hardening, five surgical fixes (tiling --report path confinement, rollout baseline, AGENTS.md consistency, wiki-ingest .raw contradiction, install-guide version). v1.5.1.
2026-04-24 (morning): Phase 3.5 hardening pass. Cross-phase audit resolved 10 hold-ship items. At that point Mechanism 4 was marked NOT IMPLEMENTED (later reversed in Phase 4 the same day). `bin/setup-dragonscale.sh` + tests + Makefile added, CHANGELOG created, versions synced to 1.5.0.
2026-04-23 (3): Phase 3 complete. Semantic tiling lint shipped as opt-in. `scripts/tiling-check.py` with flock-guarded atomic cache, localhost-locked OLLAMA_URL default, symlink rejection, model-drift invalidation, and banded thresholds (error>=0.90, review>=0.80, conservative seeds). 4 codex review rounds, 10/10 accept.
2026-04-23 (2): Phase 2 complete. Deterministic page addresses MVP via `scripts/allocate-address.sh` (flock-guarded, recovers counter from max observed). New frontmatter `address: c-NNNNNN`. `wiki-ingest` and `wiki-lint` updated with opt-in Address Assignment and Validation sections. 3 codex rounds, 8/8 accept.
2026-04-23 (1): Phase 0-1 complete. DragonScale Memory spec (`wiki/concepts/DragonScale Memory.md` v0.3) plus `skills/wiki-fold/` for Mechanism 1 (log rollups, dry-run verified). Survived multi-round codex review.
## Plugin State
- **Version**: 1.7.1 (audit-driven patch on top of Compound Vault; plugin.json + marketplace.json synced; local-only branch `v1.7.0-compound-vault`, no push, no tag)
- **Install ID**: `claude-obsidian@ai-marketing-hub-claude-obsidian`
- **Skills**: 13 (wiki, wiki-ingest, wiki-query, wiki-lint, wiki-fold, save, autoresearch, canvas, defuddle, obsidian-bases, obsidian-markdown, **wiki-cli (v1.7)**, **wiki-retrieve (v1.7, opt-in)**)
- **Scripts (v1.6)**: `scripts/allocate-address.sh`, `scripts/tiling-check.py`, `scripts/boundary-score.py` (DragonScale; opt-in; feature-detected by skills)
- **Scripts (v1.7 — new)**: `scripts/detect-transport.sh`, `scripts/contextual-prefix.py`, `scripts/bm25-index.py`, `scripts/rerank.py`, `scripts/retrieve.py`, `scripts/wiki-lock.sh`
- **Setup**: `bin/setup-vault.sh` (base vault), `bin/setup-dragonscale.sh` (opt-in DragonScale), `bin/setup-multi-agent.sh` (multi-agent bootstrap), `bin/setup-retrieve.sh` (opt-in v1.7 hybrid retrieval)
- **Tests**: `make test` runs 7 suites — `test_allocate_address.sh`, `test_tiling_check.py`, `test_boundary_score.py`, **`test_bm25_index.py`**, **`test_retrieve.py`**, **`test_wiki_lock.sh`**, **`test_concurrent_write.sh`**. Zero ollama and zero network dependency for all core tests.
- **Hooks**: 4 (SessionStart, PostCompact, PostToolUse [stages wiki/, .raw/, .vault-meta/; **v1.7: defers `git add` if wiki-lock locks held**], Stop)
## DragonScale Mechanisms
1. **Fold operator** (Mechanism 1): `skills/wiki-fold/`, dry-run verified AND first real fold committed at `wiki/folds/fold-k3-from-2026-04-23-to-2026-04-24-n8.md`.
2. **Deterministic addresses** (Mechanism 2): shipped and exercised; vault counter at 3. `c-000001` on DragonScale Memory.md. `c-000002` reserved-unassigned from validation pass (gap acceptable per spec).
3. **Semantic tiling lint** (Mechanism 3): shipped and activated. `nomic-embed-text` pulled; first tiling report at `wiki/meta/tiling-report-2026-04-24.md` (0 errors, 15 review-band pairs).
4. **Boundary-first autoresearch** (Mechanism 4): shipped (Phase 4, opt-in). `scripts/boundary-score.py` + `tests/test_boundary_score.py`. `/autoresearch` without a topic surfaces top-5 frontier pages as candidates; user picks, overrides, or declines. Explicitly labeled "agenda control" in both spec and skill.
## Key Lessons from This Release Cycle
1. Cross-phase audits are essential. Individual phase reviews miss drift between phases.
2. Opt-in feature detection (`[ -x script ] && [ -f state ]`) preserves default plugin behavior for adopters and non-adopters alike.
3. PostToolUse hook matcher is `Write|Edit`, so Bash writes don't fire it. Scripts that mutate tracked state must be Bash-only to avoid side-effect commits.
4. Seed-vault self-consistency matters: if the spec says post-rollout pages need addresses, the concept page itself has to have one.
5. Codex adversarial review rounds stop when the punch list is empty, not when the author feels done.
## Style Preferences
- No em dashes (U+2014) or `--` as punctuation. Periods, commas, colons, or parentheses. Hyphens in compound words are fine.
- Short and direct responses. No trailing summaries.
- Parallel tool calls when independent.
- Updated: [[index]], [[overview]], [[log]], [[hot]]
- Deleted: old source files and direct source-generated pages.
## Active Threads
- DragonScale Mechanism 4 shipped in Phase 4 as an opt-in Topic Selection mode in `skills/autoresearch/`. All four DragonScale mechanisms are now shipped and feature-gated.
- v1.6.0 not yet pushed to GitHub (local commits only, no git tag created). User controls push and tag timing.
- CLAUDE.md has one pre-existing uncommitted change ("Release Blog Post" section) that predates this session.
## Repo Locations
- Working: `~/Desktop/claude-obsidian/`
- Public: https://github.com/AI-Marketing-Hub/claude-obsidian
- User wants to rebuild this wiki around sources from another field.
- Next setup question: What is the new field or purpose for this vault?
+22 -30
View File
@@ -1,7 +1,7 @@
---
type: meta
title: "Wiki Index"
updated: 2026-04-07
updated: 2026-05-28
tags:
- meta
- index
@@ -23,7 +23,7 @@ related:
# Wiki Index
Last updated: 2026-04-15 | Total pages: 34 | Sources ingested: 2
Last updated: 2026-05-28 | Total pages: 40 | Sources ingested: 0
Navigation: [[overview]] | [[log]] | [[hot]] | [[dashboard]] | [[Wiki Map]] | [[getting-started]]
@@ -31,60 +31,52 @@ Navigation: [[overview]] | [[log]] | [[hot]] | [[dashboard]] | [[Wiki Map]] | [[
## Concepts
- [[LLM Wiki Pattern]] the pattern for building persistent, compounding knowledge bases using LLMs (status: mature)
- [[Hot Cache]] — ~500-word session context file, updated after every ingest and session (status: mature)
- [[Compounding Knowledge]] why wiki knowledge grows more valuable over time, unlike RAG (status: mature)
- [[cherry-picks]] — prioritized feature backlog from ecosystem research; 13 features to add to claude-obsidian (status: current)
- [[SVG Diagram Style Guide]] canonical visual style for all diagrams: Space Grotesk, #0A0A0A dark theme, #E07850 accent, full design tokens (status: evergreen)
- [[Pro Hub Challenge]] — community challenge pattern for building claude-seo/claude-blog extensions; first challenge produced 6 submissions, 5 integrated in v1.9.0 (status: evergreen)
- [[Semantic Topic Clustering]] SERP-based keyword grouping replacing paid tools; hub-spoke architecture with interactive visualization (status: evergreen)
- [[Search Experience Optimization]] — "read SERPs backwards" methodology for page-type mismatch detection and persona scoring (status: evergreen)
- [[SEO Drift Monitoring]] — "git for SEO" baseline/diff/track with 17 comparison rules and SQLite persistence (status: evergreen)
- [[DragonScale Memory]] — memory-layer spec inspired by the Heighway dragon curve; fold operator, deterministic page addresses, semantic tiling, boundary-first autoresearch (status: shipped v0.4, all four mechanisms opt-in)
- [[Persistent Wiki Artifact]]: durable Markdown page as the LLM's memory object, distinct from ephemeral chat turns (status: developing)
- [[Source-First Synthesis]]: provenance discipline; raw sources stay immutable while the wiki layer is synthesized and cited (status: developing)
- [[Query-Time Retrieval]]: wiki query path synthesizes with citations; complementary to Obsidian's in-vault search (status: developing)
- [[LLM Wiki Pattern]] - the pattern for building persistent, compounding knowledge bases using LLMs (status: mature)
- [[Hot Cache]] - session context file, updated after every ingest and session (status: mature)
- [[Compounding Knowledge]] - why wiki knowledge grows more valuable over time, unlike RAG (status: mature)
- [[SVG Diagram Style Guide]] - canonical visual style for all diagrams (status: evergreen)
- [[Pro Hub Challenge]] - community challenge pattern for claude-seo and claude-blog extensions (status: evergreen)
- [[Semantic Topic Clustering]] - SERP-based keyword grouping with hub-spoke architecture (status: evergreen)
- [[Search Experience Optimization]] - SERP methodology for page-type mismatch detection and persona scoring (status: evergreen)
- [[SEO Drift Monitoring]] - baseline, diff, and track workflow for SEO changes (status: evergreen)
- [[DragonScale Memory]] - memory-layer spec with fold operator, deterministic page addresses, semantic tiling, and boundary-first autoresearch (status: shipped v0.4)
- [[Persistent Wiki Artifact]] - durable Markdown page as the LLM's memory object (status: developing)
- [[Source-First Synthesis]] - provenance discipline for raw sources and synthesized wiki layers (status: developing)
- [[Query-Time Retrieval]] - wiki query path synthesizes with citations (status: developing)
---
## Entities
- [[Andrej Karpathy]] AI researcher, creator of the LLM Wiki pattern, former Tesla AI director (status: developing)
- [[Ar9av-obsidian-wiki]] — multi-agent compatible LLM Wiki plugin; delta tracking manifest (status: current)
- [[Nexus-claudesidian-mcp]] — native Obsidian plugin + MCP bridge; workspace memory, task management (status: current)
- [[ballred-obsidian-claude-pkm]] — goal cascade PKM; auto-commit hooks, /adopt command (status: current)
- [[rvk7895-llm-knowledge-bases]] — 3-depth query system, Marp slides, parallel deep research (status: current)
- [[kepano-obsidian-skills]] — official skills from Obsidian creator; defuddle, obsidian-bases (status: current)
- [[Claudian-YishenTu]] — native Obsidian plugin embedding Claude Code; plan mode, @mention (status: current)
- [[Claude SEO]] — Tier 4 Claude Code skill for SEO analysis; 23 skills, 17 agents, 30 scripts at v1.9.0 (status: evergreen)
- [[Andrej Karpathy]] - AI researcher, creator of the LLM Wiki pattern, former Tesla AI director (status: developing)
- [[Claude SEO]] - Tier 4 Claude Code skill for SEO analysis (status: evergreen)
---
## Sources
- [[claude-obsidian-ecosystem-research]] — 2026-04-08 | web research across 16+ repos | 8 wiki pages created
- No active source pages.
---
## Questions
- [[How does the LLM Wiki pattern work]] how the pattern works and why it outperforms RAG at human scale (status: developing)
- [[How does the LLM Wiki pattern work]] - how the pattern works and why it outperforms RAG at human scale (status: developing)
---
## Comparisons
- [[Wiki vs RAG]] when to use a wiki knowledge base versus RAG; verdict: wiki wins at <1000 pages
- [[claude-obsidian-ecosystem]] — feature matrix of 16+ Claude+Obsidian projects; where claude-obsidian wins and gaps
- [[Wiki vs RAG]] - when to use a wiki knowledge base versus RAG; verdict: wiki wins at under 1000 pages
---
## Decisions
- [[2026-04-14-community-cta-rollout]] - Skool community CTA footer added to 6 skill repos with per-tool frequency rules (status: active)
- [[2026-04-15-slides-and-release-session]] - Claude SEO v1.9.0 slides (15-slide HTML deck) + GitHub release v1.9.0 with PDF asset (status: complete)
- [[2026-04-15-release-report-session]] - Claude SEO v1.9.0 Release Report PDF: dark theme, 13 pages, WeasyPrint layout fixes, Challenge v2 added (status: complete)
- [[2026-04-14-claude-seo-v190-session]] - Claude SEO v1.9.0 Pro Hub Challenge integration: 5 submissions, 4 new skills, 4 review rounds, cybersecurity audit (status: complete)
- [[2026-04-15-slides-and-release-session]] - Claude SEO v1.9.0 slides and GitHub release v1.9.0 with PDF asset (status: complete)
- [[2026-04-15-release-report-session]] - Claude SEO v1.9.0 Release Report PDF (status: complete)
- [[2026-04-14-claude-seo-v190-session]] - Claude SEO v1.9.0 Pro Hub Challenge integration (status: complete)
---
+9 -1
View File
@@ -1,7 +1,7 @@
---
type: meta
title: "Operation Log"
updated: 2026-04-08
updated: 2026-05-28
tags:
- meta
- log
@@ -25,6 +25,14 @@ Parse recent entries: `grep "^## \[" wiki/log.md | head -10`
---
## [2026-05-28] cleanup | Removed Claude + Obsidian ecosystem source artifacts
- Type: source cleanup
- Removed raw source: `.raw/claude-obsidian-ecosystem-research.md`
- Removed source summary: `wiki/sources/claude-obsidian-ecosystem-research.md`
- Removed generated pages: `wiki/comparisons/claude-obsidian-ecosystem.md`, `wiki/concepts/cherry-picks.md`, `wiki/entities/Ar9av-obsidian-wiki.md`, `wiki/entities/Nexus-claudesidian-mcp.md`, `wiki/entities/ballred-obsidian-claude-pkm.md`, `wiki/entities/rvk7895-llm-knowledge-bases.md`, `wiki/entities/kepano-obsidian-skills.md`, `wiki/entities/Claudian-YishenTu.md`
- Canvas check: no `.canvas` files referenced these source-generated pages, so no canvases were removed.
- Purpose: clear the old source-derived domain material before rebuilding the wiki around a different field.
## [2026-04-24] save | v1.6.0 public release notes (Teams, Karpathy-style)
- Type: release doc + visual assets
- Locations (new): `docs/releases/v1.6.0.md` (346 lines, 6 sections, Karpathy-style prose), `wiki/meta/dragonscale-mechanism-overview.svg` (4-mechanism diagram with shared .vault-meta/ gate), `wiki/meta/dragonscale-6-test-flow.svg` (validation timeline), `wiki/meta/dragonscale-frontier-graph.svg` (M4 candidate + 3 filed pages)
+15 -16
View File
@@ -2,7 +2,7 @@
type: overview
title: "Wiki Overview"
created: 2026-04-07
updated: 2026-04-07
updated: 2026-05-28
tags:
- meta
- overview
@@ -24,40 +24,39 @@ Navigation: [[index]] | [[hot]] | [[log]] | [[dashboard]]
## Purpose
This is the claude-obsidian demo vault. It demonstrates the [[LLM Wiki Pattern]] a system for building persistent, compounding knowledge bases using Claude and Obsidian.
This is a claude-obsidian wiki vault. It demonstrates the [[LLM Wiki Pattern]]: a system for building persistent, compounding knowledge bases using Claude and Obsidian.
Run `/wiki` to scaffold this vault for your own domain and replace this overview.
The previous Claude + Obsidian ecosystem research source has been removed. The vault is ready to ingest sources for a different field.
---
## Current Seed Content
**Concepts seeded:**
- [[LLM Wiki Pattern]] the core architecture
- [[Hot Cache]] session context mechanism
- [[Compounding Knowledge]] why the pattern works
- [[LLM Wiki Pattern]] - the core architecture
- [[Hot Cache]] - session context mechanism
- [[Compounding Knowledge]] - why the pattern works
**Entities seeded:**
- [[Andrej Karpathy]] originated the pattern
- [[Andrej Karpathy]] - originated the pattern
**Sources seeded:**
- [[claude-obsidian-ecosystem-research]] — 16+ projects, 13 cherry-picks identified (2026-04-08)
- No active source pages.
---
## Current State
- Sources ingested: 2
- Wiki pages: 26
- Last activity: 2026-04-08 (v1.4.1 shipped, release session filed)
- Sources ingested: 0
- Wiki pages: 40
- Last activity: 2026-05-28 (removed Claude + Obsidian ecosystem research source artifacts)
---
## Canvases
- [[claude-obsidian-presentation]] — Full presentation: hero, overview, skills, architecture, Wiki vs RAG, visual demos (2026-04-07)
- [[AI Marketing Hub Cover Images Canvas]] — Cover image library for AI Marketing Hub brand assets
- [[claude-obsidian-presentation]] - full presentation: hero, overview, skills, architecture, Wiki vs RAG, visual demos (2026-04-07)
- [[AI Marketing Hub Cover Images Canvas]] - cover image library for AI Marketing Hub brand assets
---
@@ -65,6 +64,6 @@ Run `/wiki` to scaffold this vault for your own domain and replace this overview
**Knowledge compounds.** Unlike RAG, the wiki pre-compiles synthesis. Cross-references are already there. Contradictions are flagged. Every ingest enriches existing pages rather than adding isolated chunks.
**The hot cache is the force multiplier.** A ~500-word file captures recent context. New sessions start with full context at minimal token cost.
**The hot cache is the force multiplier.** A compact file captures recent context. New sessions start with full context at minimal token cost.
**Obsidian is the IDE, Claude is the programmer.** The graph view shows what's connected. The human curates sources and asks questions. Claude writes and maintains everything else.
**Obsidian is the IDE, Claude is the programmer.** The graph view shows what is connected. The human curates sources and asks questions. Claude writes and maintains everything else.
+1 -1
View File
@@ -1,7 +1,7 @@
---
type: meta
title: "Sources Index"
updated: 2026-04-07
updated: 2026-05-28
tags:
- meta
- index
@@ -1,53 +0,0 @@
---
type: source
title: "Claude + Obsidian Ecosystem Research"
created: 2026-04-08
updated: 2026-04-08
tags:
- research
- ecosystem
- competitive-analysis
status: current
related:
- "[[claude-obsidian-ecosystem]]"
- "[[cherry-picks]]"
- "[[LLM Wiki Pattern]]"
raw_file: ".raw/claude-obsidian-ecosystem-research.md"
---
# Source: Claude + Obsidian Ecosystem Research
**Type**: Web research (GitHub + web search)
**Date**: 2026-04-08
**Queries run**: 6 parallel searches
**Repos deep-read**: 12
## Summary
Comprehensive internet sweep of all Claude + Obsidian projects. Found 16+ active projects across 4 categories. Identified 13 specific features to cherry-pick for claude-obsidian v1.3.0+.
## Pages Created from This Source
- [[claude-obsidian-ecosystem]] — feature matrix comparison
- [[cherry-picks]] — prioritized feature backlog
- [[Ar9av-obsidian-wiki]] — entity page
- [[Nexus-claudesidian-mcp]] — entity page
- [[ballred-obsidian-claude-pkm]] — entity page
- [[rvk7895-llm-knowledge-bases]] — entity page
- [[kepano-obsidian-skills]] — entity page
- [[Claudian-YishenTu]] — entity page
## Key Findings
1. **16+ projects** found combining Claude/AI with Obsidian
2. **kepano** (Obsidian creator) validates Agent Skills format with his own skill repo
3. **ballred/obsidian-claude-pkm** has best auto-commit implementation (PostToolUse hook)
4. **Ar9av/obsidian-wiki** has best delta tracking (manifest.json)
5. **rvk7895/llm-knowledge-bases** has best query depth system (3 tiers)
6. Most popular traditional plugins: obsidian-copilot (5,776 ⭐), smart-connections (4,357 ⭐)
7. **claude-obsidian unique advantages**: hot cache, canvas skill, /save conversation, marketplace polish
8. **Top gap**: No URL ingestion — forces manual copy-paste from web
## Raw File
`.raw/claude-obsidian-ecosystem-research.md` — full notes with all sources