/install skylv-knowledge-graph-notes
SKILL.md — note-linking
Auto-discover hidden connections between your notes. Bidirectional links, knowledge graphs, and semantic link suggestions — without plugins.
What This Skill Does
Analyzes a directory of notes (markdown, txt, org, obsidian vault) and:
- Extracts — reads all notes, splits by headings, extracts content blocks
- Understands — detects entities (people, projects, topics, tools), infers relationships
- Links — generates bidirectional link suggestions with confidence scores
- Graphs — builds a knowledge graph showing how notes connect
- Queries — traverse the graph: "show me all notes related to X", "who links to Y"
Unlike the incumbent slipbot (which does keyword matching), this skill uses semantic understanding — it knows that "LLM" relates to "language model" and "transformer architecture" even without exact keyword overlap.
When to Trigger
Trigger when user says:
- "link my notes"
- "find connections between notes"
- "build a knowledge graph from my notes"
- "what relates to X in my notes"
- "show me all notes about Y"
- "I have notes scattered, can you organize them"
- "bidirectional links"
- "backlinks"
- "how does A connect to B"
Input
| Field | Type | Description |
|---|---|---|
notesPath |
string | Path to notes directory (default: ~/.qclaw/workspace/) |
query |
string | Optional: specific question about note relationships |
depth |
number | Link traversal depth (default: 2) |
format |
string | graph / list / markdown (default: markdown) |
Output
Markdown Format (default)
## Knowledge Graph
### Notes Analyzed: 47
### Total Links Found: 134
### Orphan Notes: 3 (unconnected)
## Top Hubs (most linked)
1. **AI_Agent_Architecture.md** — 18 connections
2. **Memory_System_Design.md** — 14 connections
3. **GitHub_Strategy.md** — 11 connections
## Link Suggestions
| From | To | Confidence | Reason |
|------|----|-----------|--------|
| EvoMap.md | Memory_System_Design.md | 0.94 | Shared topic: self-evolution |
| GitHub_Strategy.md | clawhub_publish.md | 0.91 | Project: SKY-lv repo family |
| AI_Agent_Architecture.md | hermes-agent-integration.md | 0.87 | Tool integration |
## Backlinks
### EvoMap.md (3 backlinks)
← Memory_System_Design.md (self-repair loop concept)
← skill-market-analyzer.md (GEP protocol reference)
← agent-builder.md (evolution pattern)
Graph Format
{
"nodes": [{"id": "note-name", "connections": 18, "topics": [...]}],
"edges": [{"from": "A", "to": "B", "weight": 0.94, "reason": "..."}]
}
Technical Approach
Architecture
notesPath/
├── link_engine.js ← Core: read → extract → analyze → graph
├── graph_query.js ← Traverse graph, answer questions
└── export.js ← Export as Obsidian markdown, JSON, CSV
link_engine.js Core Logic
Phase 1: Index
- Recursively find all
.md,.txt,.orgfiles - Parse frontmatter (YAML/toml headers)
- Split into content blocks (by heading or double newline)
Phase 2: Entity Extraction
- Named entities: people, organizations, tools (NER-lite regex)
- Topics: extract noun phrases, technical terms
- Keywords: TF-IDF top terms per note
Phase 3: Relationship Detection
Relationship Score = cosine_similarity(embedding_A, embedding_B)
Without external embedding APIs, use:
- Keyword overlap (Jaccard) weighted by TF-IDF
- Co-occurrence in same paragraph / section
- Structural links: same directory, similar filename, shared YAML tags
- Explicit mentions: [[wikilink]] or [note name] patterns
Phase 4: Graph Construction
const graph = {
nodes: Map\x3CnoteId, {file, topics, keywords, blocks}>,
edges: Map\x3CnoteId, Map\x3CnoteId, {score, reasons, type}>>
}
Phase 5: Query
- Find shortest path between two notes
- List N-degree neighbors
- Find bridges (notes that connect otherwise separate clusters)
Threshold Strategy
| Confidence | Condition | Action |
|---|---|---|
| ≥ 0.85 | Strong semantic match | Auto-link (add [[wikilink]]) |
| 0.60–0.84 | Probable match | Suggest with reason |
| 0.40–0.59 | Weak match | Flag as "possible" |
| \x3C 0.40 | Noise | Ignore |
Implementation Notes
Pure Node.js (no external APIs)
For embedding-free similarity, use:
- TF-IDF vectors per note (term frequency × inverse document frequency)
- Jaccard similarity on keyword sets
- Levenshtein distance on headings to catch near-matches
- YAML tag intersection for structured vaults
Obsidian Compatibility
- Read existing
[[wikilink]]syntax - Write new links in Obsidian format
- Respect
![[embed]]and![[callout]]patterns
Performance
- Index vault once, cache in
~/.qclaw/note-linking-graph.json - Incremental update on file change (watch mode)
- Max file size: 1MB per note (skip binary/exec)
Real Data (2026-04-11 Market Analysis)
| Metric | Value |
|---|---|
| Current incumbent | slipbot (score: 1.021) |
| Top target score | 3.5 |
| Gap | 3.43× improvement possible |
| Incumbent weakness | Keyword-only matching, no graph |
Skills That Compose Well With
skylv-knowledge-graph— if you want full graph visualizationskylv-file-versioning— version your note graph over timeskylv-ai-prompt-optimizer— optimize your note-taking prompts
Usage
- Install the skill
- Configure as needed
- Run with OpenClaw
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install skylv-knowledge-graph-notes - 安装完成后,直接呼叫该 Skill 的名称或使用
/skylv-knowledge-graph-notes触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Skylv Knowledge Graph Notes 是什么?
Automatically creates bidirectional links between related notes. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 55 次。
如何安装 Skylv Knowledge Graph Notes?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install skylv-knowledge-graph-notes」即可一键安装,无需额外配置。
Skylv Knowledge Graph Notes 是免费的吗?
是的,Skylv Knowledge Graph Notes 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Skylv Knowledge Graph Notes 支持哪些平台?
Skylv Knowledge Graph Notes 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Skylv Knowledge Graph Notes?
由 SKY-lv(@sky-lv)开发并维护,当前版本 v1.0.0。