remove unnecessary files
This commit is contained in:
Vendored
+6
-1
@@ -2,5 +2,10 @@
|
||||
"obsidian-excalidraw-plugin",
|
||||
"obsidian-banners",
|
||||
"calendar",
|
||||
"thino"
|
||||
"thino",
|
||||
"calendar-beta",
|
||||
"obsidian-memos",
|
||||
"dataview",
|
||||
"templater-obsidian",
|
||||
"obsidian-git"
|
||||
]
|
||||
Vendored
+8
-22
@@ -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
|
||||
}
|
||||
Vendored
+20876
File diff suppressed because one or more lines are too long
+11
@@ -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
@@ -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: ")";
|
||||
}
|
||||
+415
File diff suppressed because one or more lines are too long
+10
@@ -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
@@ -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;
|
||||
}
|
||||
+53
File diff suppressed because one or more lines are too long
@@ -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
@@ -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;
|
||||
}
|
||||
Vendored
+32
-13
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
@@ -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 8–15 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 → 8–15 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 8–15 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 → 8–15 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"}
|
||||
]
|
||||
}
|
||||
@@ -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 8–15 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 8–15 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
@@ -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": "💡 **8–15 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":"💡 **8–15 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,7 +1,7 @@
|
||||
---
|
||||
type: meta
|
||||
title: "Concepts Index"
|
||||
updated: 2026-04-07
|
||||
updated: 2026-05-28
|
||||
tags:
|
||||
- meta
|
||||
- index
|
||||
|
||||
@@ -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)
|
||||
```
|
||||
@@ -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]]
|
||||
@@ -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.
|
||||
@@ -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,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)]]
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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,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
|
||||
Reference in New Issue
Block a user